【发布时间】:2016-08-05 12:16:56
【问题描述】:
我发现了一些有趣的东西,我想了解它。
使用 GLSL #version 330
gl_Position 的类型是 vec4
这些行编译得很好:
gl_Position = vec4(0, 0, 0, 0);
gl_Position = vec4(vec3(0, 0, 0), 0);
gl_Position = vec4(vec2(0, 0), vec2(0, 0));
...
不知何故:
gl_Position = (vec2(0, 0), vec2(0, 0));
加注:
error C1035: assignment of incompatible types
编译器能够解析(vec2(0, 0), vec2(0, 0)) 而不会引发语法错误。我想知道这句话是什么意思,我相信它是正确的,并且与vec4有不同的类型。
问题:(vec2(0, 0), vec2(0, 0)) 在 GLSL 中是什么意思?
编辑:
编译:
float x = (0.0, 1.0, 1.0, 2.0, 3.0, 5.0, 8.0);
语法错误:
float x = 0.0, 1.0, 1.0, 2.0, 3.0, 5.0, 8.0;
【问题讨论】: