24 lines
506 B
GLSL
24 lines
506 B
GLSL
|
|
uniform mat4 g_ModelViewProjectionMatrix;
|
|
|
|
attribute vec3 a_Position;
|
|
attribute vec2 a_TexCoord;
|
|
|
|
varying vec2 v_TexCoord;
|
|
varying vec3 v_ScreenCoord;
|
|
|
|
void main() {
|
|
v_ScreenCoord = mul(vec4(a_Position, 1.0), g_ModelViewProjectionMatrix).xyw;
|
|
vec3 position = vec3(a_TexCoord, 0.0);
|
|
|
|
#ifdef HLSL
|
|
position.y = 1.0 - position.y;
|
|
v_ScreenCoord.y = -v_ScreenCoord.y;
|
|
#endif
|
|
|
|
position.xy = position.xy * 2.0 - 1.0;
|
|
gl_Position = vec4(position, 1.0);
|
|
|
|
v_TexCoord = a_TexCoord;
|
|
}
|