mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-06-21 18:17:03 +08:00
* feat(shaders): add lighting to block accumulation OIT shaders * feat(renderer): add water rendering with OIT and new shaders * feat(water): implement screen-space reflection and refraction for water with depth fade and perturbation * refactor(shader): replace glUniform calls with generic set_loc and remove cached locations * feat(water): add noise-based caustics and configurable fog density * fix(water shader): update depth fade and remove underwater check - Increase DEPTH_FADE_DISTANCE from 8 to 10 - Remove conditional so depth fade always applies - Darken deepColor from (0, 0.08, 0.15) to (0, 0.015, 0.045) * feat(underwater): add volume scattering and shadow mapping for light shafts
31 lines
674 B
GLSL
31 lines
674 B
GLSL
#version 460
|
|
|
|
layout (location = 0) in vec3 pos;
|
|
layout (location = 1) in vec2 texCoord;
|
|
layout (location = 2) in float layer;
|
|
layout (location = 3) in vec3 aNormal;
|
|
layout (location = 4) in float Roughness;
|
|
|
|
out vec2 tc;
|
|
out vec3 normal;
|
|
out vec3 vert_pos;
|
|
flat out int tex_layer;
|
|
out float roughness;
|
|
out float v_depth;
|
|
|
|
uniform mat4 mv_matrix;
|
|
uniform mat4 proj_matrix;
|
|
uniform mat4 norm_matrix;
|
|
|
|
|
|
void main(void) {
|
|
vec4 view_pos = mv_matrix * vec4(pos, 1.0);
|
|
vert_pos = pos;
|
|
roughness = Roughness;
|
|
tc = texCoord;
|
|
tex_layer = int(layer);
|
|
v_depth = -view_pos.z;
|
|
normal = mat3(norm_matrix) * aNormal;
|
|
gl_Position = proj_matrix * view_pos;
|
|
}
|