2021-07-23 00:52:31 +08:00
|
|
|
uniform mat4 u_worldViewProjection;
|
2021-07-23 23:24:09 +08:00
|
|
|
uniform sampler2D u_texture;
|
2021-07-24 21:54:35 +08:00
|
|
|
uniform float u_voxelSize;
|
2022-03-13 08:36:51 +08:00
|
|
|
uniform vec3 u_gridOffset;
|
2021-07-23 00:52:31 +08:00
|
|
|
|
2022-03-08 02:45:06 +08:00
|
|
|
attribute vec3 position;
|
2021-07-23 00:52:31 +08:00
|
|
|
attribute vec3 normal;
|
|
|
|
attribute vec4 occlusion;
|
|
|
|
attribute vec2 texcoord;
|
2021-07-28 00:57:44 +08:00
|
|
|
attribute vec2 blockTexcoord;
|
2021-07-23 00:52:31 +08:00
|
|
|
|
2021-07-23 23:24:09 +08:00
|
|
|
varying float v_lighting;
|
2021-07-23 00:52:31 +08:00
|
|
|
varying vec4 v_occlusion;
|
|
|
|
varying vec2 v_texcoord;
|
2021-07-28 00:57:44 +08:00
|
|
|
varying vec2 v_blockTexcoord;
|
2021-07-23 00:52:31 +08:00
|
|
|
|
|
|
|
vec3 light = vec3(0.78, 0.98, 0.59);
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
v_texcoord = texcoord;
|
|
|
|
v_occlusion = occlusion;
|
2021-07-28 00:57:44 +08:00
|
|
|
v_blockTexcoord = blockTexcoord;
|
2021-07-23 23:24:09 +08:00
|
|
|
v_lighting = dot(light, abs(normal));
|
2022-02-12 09:54:31 +08:00
|
|
|
|
2022-03-13 08:36:51 +08:00
|
|
|
gl_Position = u_worldViewProjection * vec4((position.xyz + u_gridOffset) * u_voxelSize, 1.0);
|
2021-07-23 00:52:31 +08:00
|
|
|
}
|