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
|
[require]
GL >= 1.3
ARB_vertex_program
[vertex program]
!!ARBvp1.0
ADDRESS addr;
PARAM indexes = {-1, 0, 1, 2};
PARAM myArray[4] = {{0.11, 0.12, 0.13, 0.14},
{0.21, 0.22, 0.23, 0.24},
{0.31, 0.32, 0.33, 0.34},
{0.41, 0.42, 0.43, 0.44}};
MOV result.position, vertex.position;
# Load ARL with -1, get array[0].x
ARL addr.x, indexes.x;
MOV result.color.x, myArray[addr.x + 1];
# Load ARL with 0, get array[1].y
ARL addr.x, indexes.y;
MOV result.color.y, myArray[addr.x + 1];
# Load ARL with 1, get array[2].z
ARL addr.x, indexes.z;
MOV result.color.z, myArray[addr.x + 1];
# Load ARL with 2, get array[3].w
ARL addr.x, indexes.w;
MOV result.color.w, myArray[addr.x + 1];
END
[test]
ortho -4 4 -4 4
draw rect -0.25 -0.25 0.5 0.5
relative probe rgba (0.5, 0.5) (0.11, 0.22, 0.33, 0.44)
|