mesa/progs/slang/vstest.txt

69 lines
1.6 KiB
Plaintext

/*
* Vertex shader test.
* Uses all conventional attributes and 15 generic attributes to print
* their values, using printMESA() extension function, to the debugger
* to compare them with the actual passed-in values.
* Use different types for generic attributes to check matrix handling.
*
* Author: Michal Krol
*/
#version 110
#extension MESA_shader_debug: require
attribute vec4 Attribute1;
attribute vec4 Attribute2;
attribute vec4 Attribute3;
attribute float Attribute4;
attribute vec2 Attribute5;
attribute vec3 Attribute6;
attribute mat2 Attribute7;
attribute mat3 Attribute9;
attribute mat4 Attribute12;
void main ()
{
//
// Do some legal stuff.
//
gl_Position = gl_ModelViewMatrix * gl_Vertex;
gl_FrontColor = vec4 (1.0);
//
// Conventional attributes - except for gl_Vertex.
//
printMESA (gl_Color);
printMESA (gl_SecondaryColor);
printMESA (gl_Normal);
printMESA (gl_MultiTexCoord0);
printMESA (gl_MultiTexCoord1);
printMESA (gl_MultiTexCoord2);
printMESA (gl_MultiTexCoord3);
printMESA (gl_MultiTexCoord4);
printMESA (gl_MultiTexCoord5);
printMESA (gl_MultiTexCoord6);
printMESA (gl_MultiTexCoord7);
printMESA (gl_FogCoord);
//
// Generic attributes - attrib with index 0 is not used because it would
// alias with gl_Vertex, which is not allowed.
//
printMESA (Attribute1);
printMESA (Attribute2);
printMESA (Attribute3);
printMESA (Attribute4);
printMESA (Attribute5);
printMESA (Attribute6);
printMESA (Attribute7);
printMESA (Attribute9);
printMESA (Attribute12);
//
// Vertex position goes last.
//
printMESA (gl_Vertex);
}