Files
questshock/android/gles-shaders/main.vert
T
2026-07-20 09:45:08 +02:00

39 lines
1.2 KiB
GLSL

#version 100
// GLES port of engine/shaders/main.vert - the one real difference is
// gl_Vertex, a desktop-only compatibility-profile builtin that doesn't
// exist in GLES at all, replaced with an explicit "position" attribute
// (see android/engine-patches/03-android-opengl-es-render.patch's
// CreateShader() change, which binds it to attribute location 0 to match
// the vertex arrays OpenGL.cc's GLES immediate-mode emulation submits).
precision mediump float;
attribute vec4 position;
attribute vec2 texcoords;
attribute float light;
attribute vec4 color;
varying vec2 TexCoords;
varying float Light;
varying vec4 Color;
uniform mat4 view;
uniform mat4 proj;
// GLES has no glPointSize() (desktop-only, set from
// opengl_begin_stars()) - point size must come from this builtin
// instead. Only read by the rasterizer for GL_POINTS draws (i.e. only
// matters for star.frag); harmless left unset for the other two shaders
// built from this same vertex shader (main.vert). See
// android/engine-patches/04-android-opengl-es-render.patch's
// questshock_glPointSize()/questshock_glEnd().
uniform float pointSize;
void main() {
TexCoords = texcoords;
Light = light;
Color = color;
gl_Position = proj * view * position;
gl_PointSize = pointSize;
}