File: glsl-mat-from-vec-ctor-01.shader_test

package info (click to toggle)
piglit 0~git20150829-59d7066-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 39,280 kB
  • sloc: ansic: 191,513; xml: 43,580; cpp: 29,351; python: 18,307; lisp: 8,347; sh: 507; makefile: 17; pascal: 5
file content (42 lines) | stat: -rw-r--r-- 768 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[require]
GLSL >= 1.10

[vertex shader]
uniform vec4 a;
uniform vec4 b;
uniform vec4 c;
uniform vec4 d;

void main()
{
   gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

   /* This constructor should result in the following matrix (GLSL matrices are
    * column-major):
    *
    *     0.0  a.w  b.z  c.y
    *     a.x  0.0  b.w  c.z
    *     a.y  b.x  0.0  c.w
    *     a.z  b.y  c.x  0.0
    */
   mat4 m = mat4(0.0, a, 0.0, b, 0.0, c, 0.0);
   gl_FrontColor = m * d;
}

[fragment shader]
void main()
{
	gl_FragColor = gl_Color;
}

[test]
uniform vec4 a 1.0 0.0 0.0 0.3
uniform vec4 b 1.0 0.0 0.4 0.0
uniform vec4 c 1.0 0.3 0.0 0.0
uniform vec4 d 0.8 0.8 0.8 0.8

clear color 0.2 0.2 0.2 1.0
clear
ortho
draw rect 10 10 10 10
probe rgb 15 15 0.8 0.8 0.8