xkslang/Test/structure.frag

32 строки
481 B
GLSL

#version 130
uniform sampler2D sampler;
varying vec2 coord;
struct lunarStruct1 {
int i;
float f[4];
vec4 color[5];
};
struct lunarStruct2 {
int i[5];
float f;
lunarStruct1 s1_1[7];
};
uniform lunarStruct1 foo;
uniform lunarStruct2 foo2[5];
void main()
{
float scale = 0.0;
if (foo2[3].i[4] > 0)
scale = foo2[3].s1_1[2].color[3].x;
else
scale = foo2[3].s1_1[2].f[3];
gl_FragColor = scale * texture2D(sampler, coord);
}