Files
Ultralight-SDK/shaders/glsl/shader_v2f_c4f_t2f_t2f_d28f_vert.h
Andrew Zambazos c0395a49bd Added SDK
2026-06-11 14:01:22 +12:00

65 lines
1.4 KiB
C++

#include <string>
static std::string shader_v2f_c4f_t2f_t2f_d28f_vert() {
return R"(#version 150
// Program Uniforms
uniform vec4 State;
uniform mat4 Transform;
uniform vec4 Scalar4[2];
uniform vec4 Vector[8];
uniform uint ClipSize;
uniform mat4 Clip[8];
// Uniform Accessor Functions
float Time() { return State[0]; }
float ScreenWidth() { return State[1]; }
float ScreenHeight() { return State[2]; }
float ScreenScale() { return State[3]; }
float Scalar(uint i) { if (i < 4u) return Scalar4[0][i]; else return Scalar4[1][i - 4u]; }
vec4 sRGBToLinear(vec4 val) { return vec4(val.xyz * (val.xyz * (val.xyz * 0.305306011 + 0.682171111) + 0.012522878), val.w); }
// Vertex Attributes
in vec2 in_Position;
in vec4 in_Color;
in vec2 in_TexCoord;
in vec2 in_ObjCoord;
in vec4 in_Data0;
in vec4 in_Data1;
in vec4 in_Data2;
in vec4 in_Data3;
in vec4 in_Data4;
in vec4 in_Data5;
in vec4 in_Data6;
// Out Params
out vec4 ex_Color;
out vec2 ex_TexCoord;
out vec4 ex_Data0;
out vec4 ex_Data1;
out vec4 ex_Data2;
out vec4 ex_Data3;
out vec4 ex_Data4;
out vec4 ex_Data5;
out vec4 ex_Data6;
out vec2 ex_ObjectCoord;
out vec2 ex_ScreenCoord;
void main(void)
{
ex_ObjectCoord = in_ObjCoord;
gl_Position = Transform * vec4(in_Position, 0.0, 1.0);
ex_Color = in_Color;
ex_TexCoord = in_TexCoord;
ex_Data0 = in_Data0;
ex_Data1 = in_Data1;
ex_Data2 = in_Data2;
ex_Data3 = in_Data3;
ex_Data4 = in_Data4;
ex_Data5 = in_Data5;
ex_Data6 = in_Data6;
}
)";
}