xkslang/Test/spv.functionCall.frag

45 строки
643 B
GLSL

#version 140
varying vec4 bigColor;
varying vec4 BaseColor;
varying float d;
float h = 0.0;
float foo(vec4 bar)
{
return bar.x + bar.y;
}
void bar()
{
}
float unreachableReturn()
{
if (d < 4.2)
return 1.2;
else
return 4.5;
// might be another return inserted here by builders, has to be correct type
}
float missingReturn()
{
if (d < 4.5) {
h = d;
return 3.9;
}
}
void main()
{
vec4 color = vec4(foo(BaseColor));
bar();
float f = unreachableReturn();
float g = missingReturn();
gl_FragColor = color * f * h;
}