结构体
- 声明:
struct Vertex {
vec3 position;
}- 使用:
void main() {
Vertex vtx;
vtx.position = vec3(1);
}警告
注意: 结构体用于组合多个变量,作为逻辑组织工具,不具备任何传输功能。
接口块
- 输出接口块:
out VertexOut {
vec3 normal;
vec2 texCoord;
} vs_out;- 输入接口块:结构需要保持与输出时一致
in VertexOut {
vec3 normal;
vec2 texCoord;
} vs_in;- 使用:
void main() {
vs_out.normal = vec3(1);
}警告
注意: 接口块仅能用于GPU内不同阶段的着色器之间的数据传输,传输顶点数据时不可用。