Files

85 lines
1.1 KiB
Plaintext
Raw Permalink Normal View History

2025-11-17 10:28:09 +01:00
#version 400
//layout (location = 0) in vec3 position;
/*
layout (std140) uniform global
{
vec2 document;
vec2 other;
};
*/
layout (std140) uniform events
{
vec2 mouse;
vec2 window;
};
//uniform vec2 mouse;
//uniform vec2 window;
layout(location = 0) in vec3 position;
layout(location = 1) in vec2 textureCoordinates;
layout(location = 2) in int meshIndex;
out vec2 vertex_textureCoordinates;
void main() {
vec2 mousePosition = mouse / window;
mousePosition -= .5;
mousePosition.y *= -1.;
mousePosition *= 2.0;
gl_Position.xyz = position / vec3(40, 1, 10);
if( meshIndex == 0 ) {
gl_Position.xy += mousePosition;
} else {
vec2 normalizedPosition = 1.0 / window;
normalizedPosition -= 0.5;
normalizedPosition.y *= -1.;
normalizedPosition *= 2.0;
normalizedPosition.x += .1;
normalizedPosition.x += mod( float(meshIndex), 30 ) * ( .08 );
normalizedPosition.y -= 1;
normalizedPosition.y -= floor( float(meshIndex) / 30 ) * .5;
gl_Position.xy += vec2( normalizedPosition );
}
//gl_Position.xy /= window;
vertex_textureCoordinates = textureCoordinates;
gl_Position.w = 1.0;
}