VegetationDepth.glsl 710 B

123456789101112131415161718192021222324
  1. #include "Uniforms.glsl"
  2. #include "Transform.glsl"
  3. uniform float cWindHeightFactor;
  4. uniform float cWindHeightPivot;
  5. uniform float cWindPeriod;
  6. uniform vec2 cWindWorldSpacing;
  7. varying vec3 vTexCoord;
  8. void VS()
  9. {
  10. mat4 modelMatrix = iModelMatrix;
  11. vec3 worldPos = GetWorldPos(modelMatrix);
  12. float windStrength = max(iPos.y - cWindHeightPivot, 0.0) * cWindHeightFactor;
  13. float windPeriod = cElapsedTime * cWindPeriod + dot(worldPos.xz, cWindWorldSpacing);
  14. worldPos.x += windStrength * sin(windPeriod);
  15. worldPos.z -= windStrength * cos(windPeriod);
  16. gl_Position = GetClipPos(worldPos);
  17. vTexCoord = vec3(GetTexCoord(iTexCoord), GetDepth(gl_Position));
  18. }