KP3Dii/Data/resources/shaders/.kp3d/map_water_v.glsl

33 lines
668 B
GLSL
Raw Normal View History

2024-07-22 07:48:42 +00:00
#version 330 core
uniform mat4 u_mvp;
uniform mat4 u_transmat;
uniform vec3 u_campos;
uniform float u_time;
layout (location = 0) in vec3 position;
layout (location = 1) in vec3 normal;
layout (location = 2) in vec2 texcoord;
out vec3 v_position;
out vec3 v_normal;
out vec2 v_texcoord;
flat out int v_id;
out vec4 v_projected_normal;
void main()
{
float time = sin((u_time + (position.x - position.z) * 4.0) / 24.0) * 0.2;
v_id = int(position.x - position.z);
v_position = position + vec3(0.0, time, 0.0);
v_normal = normal;
v_texcoord = texcoord;
v_projected_normal = u_transmat * vec4(v_normal, 1.0);
gl_Position = u_mvp * vec4(v_position, 1.0);
}