将结构分配给GLSL中的局部变量

时间:2014-07-23 21:28:03

标签: glsl

有没有办法将结构分配给GLSL中的实例变量?标准说你可以像这样构造一个结构:

light lightVar = light(3.0, vec3(1.0, 2.0, 3.0));

...但我无法复制结构。我尝试过以下各种变体:

#version 420
...
in Vertex
{
    vec4 color;
    vec4 position;
    float distanceFromScanner;
    bool isInBody;
} vertex[];
...
Vertex va = Vertex( vertex[0] );
// Vertex va( vertex[0] );
// Vertex va = Vertex( vertex[0].color, vertex[0].position, vertex[0].distanceFromScanner, vertex[0].isInBody );

他们都给我意想不到的令牌语法错误,如下所示:

error C0000: syntax error, unexpected '=', expecting \"::\" at token \"=\"

我错过了什么吗?除了总是使用vertex[0]之外,还有什么我可以做的吗?

这是在带有NVIDIA驱动程序335.23,FWIW的GeForce GTX 770上。

0 个答案:

没有答案