Commit 8758bec6 authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Added declarations for the GLSL builtins.

parent 8cb762dc
// Fragment shader special variables.
vec4 gl_FragCoord;
bool gl_FrontFacing;
vec4 gl_FragColor;
vec4 gl_FragData[gl_MaxDrawBuffers];
float gl_FragDepth;
// Varying variables.
varying vec4 gl_Color;
varying vec4 gl_SecondaryColor;
varying vec4 gl_TexCoord[];
varying float gl_FogFragCoord;
varying vec2 gl_PointCoord;
// Vertex shader special variables.
vec4 gl_Position;
float gl_PointSize;
vec4 gl_ClipVertex;
// Vertex shader built-in attributes.
attribute vec4 gl_Color;
attribute vec4 gl_SecondaryColor;
attribute vec3 gl_Normal;
attribute vec4 gl_Vertex;
attribute vec4 gl_MultiTexCoord0;
attribute vec4 gl_MultiTexCoord1;
attribute vec4 gl_MultiTexCoord2;
attribute vec4 gl_MultiTexCoord3;
attribute vec4 gl_MultiTexCoord4;
attribute vec4 gl_MultiTexCoord5;
attribute vec4 gl_MultiTexCoord6;
attribute vec4 gl_MultiTexCoord7;
attribute float gl_FogCoord;
// Varying variables.
varying vec4 gl_FrontColor;
varying vec4 gl_BackColor;
varying vec4 gl_FrontSecondaryColor;
varying vec4 gl_BackSecondaryColor;
varying vec4 gl_TexCoord[];
varying float gl_FogFragCoord;
// Common functions.
vec4 ftransform();
// Built-in constants.
const int gl_MaxLights = 8;
const int gl_MaxClipPlanes = 6;
const int gl_MaxTextureUnits = 2;
const int gl_MaxTextureCoords = 2;
const int gl_MaxVertexAttribs = 16;
const int gl_MaxVertexUniformComponents = 512;
const int gl_MaxVaryingFloats = 32;
const int gl_MaxVertexTextureImageUnits = 0;
const int gl_MaxCombinedTextureImageUnits = 2;
const int gl_MaxTextureImageUnits = 2;
const int gl_MaxFragmentUniformComponents = 64;
const int gl_MaxDrawBuffers = 1;
// Built-in uniform state.
uniform mat4 gl_ModelViewMatrix;
uniform mat4 gl_ProjectionMatrix;
uniform mat4 gl_ModelViewProjectionMatrix;
uniform mat4 gl_TextureMatrix[gl_MaxTextureCoords];
uniform mat3 gl_NormalMatrix;
uniform mat4 gl_ModelViewMatrixInverse;
uniform mat4 gl_ProjectionMatrixInverse;
uniform mat4 gl_ModelViewProjectionMatrixInverse;
uniform mat4 gl_TextureMatrixInverse[gl_MaxTextureCoords];
uniform mat4 gl_ModelViewMatrixTranspose;
uniform mat4 gl_ProjectionMatrixTranspose;
uniform mat4 gl_ModelViewProjectionMatrixTranspose;
uniform mat4 gl_TextureMatrixTranspose[gl_MaxTextureCoords];
uniform mat4 gl_ModelViewMatrixInverseTranspose;
uniform mat4 gl_ProjectionMatrixInverseTranspose;
uniform mat4 gl_ModelViewProjectionMatrixInverseTranspose;
uniform mat4 gl_TextureMatrixInverseTranspose[gl_MaxTextureCoords];
uniform float gl_NormalScale;
struct gl_DepthRangeParameters {
float near;
float far;
float diff;
uniform gl_DepthRangeParameters gl_DepthRange;
uniform vec4 gl_ClipPlane[gl_MaxClipPlanes];
struct gl_PointParameters {
float size;
float sizeMin;
float sizeMax;
float fadeThresholdSize;
float distanceConstantAttenuation;
float distanceLinearAttenuation;
float distanceQuadraticAttenuation;
uniform gl_PointParameters gl_Point;
struct gl_MaterialParameters {
vec4 emission;
vec4 ambient;
vec4 diffuse;
vec4 specular;
float shininess;
uniform gl_MaterialParameters gl_FrontMaterial;
uniform gl_MaterialParameters gl_BackMaterial;
struct gl_LightSourceParameters {
vec4 ambient;
vec4 diffuse;
vec4 specular;
vec4 position;
vec4 halfVector;
vec3 spotDirection;
float spotExponent;
float spotCutoff;
float spotCosCutoff;
float constantAttenuation;
float linearAttenuation;
float quadraticAttenuation;
uniform gl_LightSourceParameters gl_LightSource[gl_MaxLights];
struct gl_LightModelParameters {
vec4 ambient;
uniform gl_LightModelParameters gl_LightModel;
struct gl_LightModelProducts {
vec4 sceneColor;
uniform gl_LightModelProducts gl_FrontLightModelProduct;
uniform gl_LightModelProducts gl_BackLightModelProduct;
struct gl_LightProducts {
vec4 ambient;
vec4 diffuse;
vec4 specular;
uniform gl_LightProducts gl_FrontLightProduct[gl_MaxLights];
uniform gl_LightProducts gl_BackLightProduct[gl_MaxLights];
uniform vec4 gl_TextureEnvColor[gl_MaxTextureUnits];
uniform vec4 gl_EyePlaneS[gl_MaxTextureUnits];
uniform vec4 gl_EyePlaneT[gl_MaxTextureUnits];
uniform vec4 gl_EyePlaneR[gl_MaxTextureUnits];
uniform vec4 gl_EyePlaneQ[gl_MaxTextureUnits];
uniform vec4 gl_ObjectPlaneS[gl_MaxTextureUnits];
uniform vec4 gl_ObjectPlaneT[gl_MaxTextureUnits];
uniform vec4 gl_ObjectPlaneR[gl_MaxTextureUnits];
uniform vec4 gl_ObjectPlaneQ[gl_MaxTextureUnits];
struct gl_FogParameters {
vec4 color;
float density;
float start;
float end;
float scale;
uniform gl_FogParameters gl_Fog;
// Angle and trigonometry functions.
genType radians(genType degress);
genType degrees(genType radians);
genType sin(genType angle);
genType cos(genType angle);
genType tan(genType angle);
genType asin(genType x);
genType acos(genType x);
genType atan(genType y, genType x);
genType atan(genType y_over_x);
// Exponential functions.
genType pow(genType x, genType y);
genType exp(genType x);
genType log(genType x);
genType exp2(genType x);
genType log2(genType x);
genType sqrt(genType x);
genType inversesqrt(genType x);
// Common functions.
genType abs(genType x);
genType sign(genType x);
genType floor(genType x);
genType ceil(genType x);
genType fract(genType x);
genType mod(genType x, float y);
genType mod(genType x, genType y);
genType min(genType x, float y);
genType min(genType x, genType y);
genType max(genType x, float y);
genType max(genType x, genType y);
genType clamp(genType x, genType minVal, genType maxVal);
genType clamp(genType x, float minVal, float maxVal);
genType mix(genType x, genType y, genType a);
genType mix(genType x, genType y, float a);
genType step(genType edge, genType x);
genType step(float edge, genType x);
genType smoothstep(genType edge0, genType edge1, genType x);
genType smoothstep(float edge0, float edge1, genType x);
float length(genType x);
float distance(genType p0, genType p1);
float dot(genType x, genType y);
vec3 cross(vec3 x, vec3 y);
genType normalize(genType x);
genType faceforward(genType N, genType I, genType Nref);
genType reflect(genType I, genType N);
genType refract(genType I, genType N, float eta);
// Matrix functions.
mat2 matrixCompMult(mat2 x, mat2 y);
mat3 matrixCompMult(mat3 x, mat3 y);
mat4 matrixCompMult(mat4 x, mat4 y);
mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
mat2 outerProduct(vec2 c, vec2 r);
mat3 outerProduct(vec3 c, vec3 r);
mat4 outerProduct(vec4 c, vec4 r);
mat2x3 outerProduct(vec3 c, vec2 r);
mat3x2 outerProduct(vec2 c, vec3 r);
mat2x4 outerProduct(vec4 c, vec2 r);
mat4x2 outerProduct(vec2 c, vec4 r);
mat3x4 outerProduct(vec4 c, vec3 r);
mat4x3 outerProduct(vec3 c, vec4 r);
mat2 transpose(mat2 m);
mat3 transpose(mat3 m);
mat4 transpose(mat4 m);
mat2x3 transpose(mat3x2 m);
mat3x2 transpose(mat2x3 m);
mat2x4 transpose(mat4x2 m);
mat4x2 transpose(mat2x4 m);
mat3x4 transpose(mat4x3 m);
mat4x3 transpose(mat3x4 m);
// Vector relational functions.
bvec2 lessThan(vec2 x, vec2 y);
bvec2 lessThan(ivec2 x, ivec2 y);
bvec3 lessThan(vec3 x, vec3 y);
bvec3 lessThan(ivec3 x, ivec3 y);
bvec4 lessThan(vec4 x, vec4 y);
bvec4 lessThan(ivec4 x, ivec4 y);
bvec2 lessThanEqual(vec2 x, vec2 y);
bvec2 lessThanEqual(ivec2 x, ivec2 y);
bvec3 lessThanEqual(vec3 x, vec3 y);
bvec3 lessThanEqual(ivec3 x, ivec3 y);
bvec4 lessThanEqual(vec4 x, vec4 y);
bvec4 lessThanEqual(ivec4 x, ivec4 y);
bvec2 greaterThan(vec2 x, vec2 y);
bvec2 greaterThan(ivec2 x, ivec2 y);
bvec3 greaterThan(vec3 x, vec3 y);
bvec3 greaterThan(ivec3 x, ivec3 y);
bvec4 greaterThan(vec4 x, vec4 y);
bvec4 greaterThan(ivec4 x, ivec4 y);
bvec2 greaterThanEqual(vec2 x, vec2 y);
bvec2 greaterThanEqual(ivec2 x, ivec2 y);
bvec3 greaterThanEqual(vec3 x, vec3 y);
bvec3 greaterThanEqual(ivec3 x, ivec3 y);
bvec4 greaterThanEqual(vec4 x, vec4 y);
bvec4 greaterThanEqual(ivec4 x, ivec4 y);
bvec2 equal(vec2 x, vec2 y);
bvec2 equal(ivec2 x, ivec2 y);
bvec2 equal(bvec2 x, bvec2 y);
bvec3 equal(vec3 x, vec3 y);
bvec3 equal(ivec3 x, ivec3 y);
bvec3 equal(bvec3 x, bvec3 y);
bvec4 equal(vec4 x, vec4 y);
bvec4 equal(ivec4 x, ivec4 y);
bvec4 equal(bvec4 x, bvec4 y);
bvec2 notEqual(vec2 x, vec2 y);
bvec2 notEqual(ivec2 x, ivec2 y);
bvec2 notEqual(bvec2 x, bvec2 y);
bvec3 notEqual(vec3 x, vec3 y);
bvec3 notEqual(ivec3 x, ivec3 y);
bvec3 notEqual(bvec3 x, bvec3 y);
bvec4 notEqual(vec4 x, vec4 y);
bvec4 notEqual(ivec4 x, ivec4 y);
bvec4 notEqual(bvec4 x, bvec4 y);
bool any(bvec2 x);
bool any(bvec3 x);
bool any(bvec4 x);
bool all(bvec2 x);
bool all(bvec3 x);
bool all(bvec4 x);
bvec2 not(bvec2 x);
bvec3 not(bvec3 x);
bvec4 not(bvec4 x);
......@@ -36,7 +36,8 @@ DATA_DIRS = \
qmlicons \
qml \
qml-type-descriptions \
generic-highlighter \
!isEmpty(copydata) {
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment