feat: add grass and terrain
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
float worldX = instanceMatrix[3][0];
|
||||
float worldZ = instanceMatrix[3][2];
|
||||
|
||||
float windSpeed = 0.3;
|
||||
float windScale = 0.04;
|
||||
|
||||
vec2 windPos = vec2(worldX, worldZ) * windScale;
|
||||
vec2 windFlow = windPos + vec2(uTime * windSpeed, uTime * windSpeed * 0.7);
|
||||
|
||||
float windStrength = fbm(windFlow);
|
||||
windStrength = windStrength * 0.6 + 0.3;
|
||||
|
||||
float turbulence = fbm(windPos * 3.0 + uTime * 2.0) * 0.15;
|
||||
|
||||
vec2 windDir = vec2(
|
||||
fbm(windPos * 0.5 + vec2(uTime * 0.1, 0.0)),
|
||||
fbm(windPos * 0.5 + vec2(0.0, uTime * 0.1))
|
||||
);
|
||||
windDir = normalize(windDir - 0.5) * 0.8;
|
||||
|
||||
float swayAmount = (windStrength + turbulence) * uv.y * uv.y;
|
||||
|
||||
transformed.x += swayAmount * windDir.x;
|
||||
transformed.z += swayAmount * windDir.y;
|
||||
transformed.y -= abs(swayAmount) * 0.2;
|
||||
Reference in New Issue
Block a user