Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #version 440
- out vec2 uv;
- out vec3 normal;
- uniform mat4 uTransform;
- uniform sampler2D uHeightmap;
- const int num_verts = 511;
- const float scale = 1.0 / num_verts;
- vec2[] offsets = vec2[](
- vec2(0,0),
- vec2(1,0),
- vec2(1,1),
- vec2(0,0),
- vec2(0,1),
- vec2(1,1)
- );
- void main()
- {
- int idx = gl_VertexID / 6;
- int off = gl_VertexID % 6;
- int x = idx / num_verts;
- int y = idx % num_verts;
- vec2 pos = vec2(float(x), float(y)) + offsets[off];
- uv = scale * pos;
- float h = texture(uHeightmap, uv).x;
- gl_Position = uTransform * vec4(pos.x, h, pos.y, 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement