gpt4 book ai didi

opengl - GLSL 片段着色器语法错误

转载 作者:行者123 更新时间:2023-12-01 08:20:42 25 4
gpt4 key购买 nike

以下简单的片段着色器代码失败,在日志中留下一条信息不足的消息:ERROR: 0:1: 'gl_Color' : syntax error syntax error

void main()
{
vec4 myOutputColor(gl_Color);
gl_FragColor = myOutputColor;
}

而以下一个工作:
void main()
{
glFragColor = gl_Color;
}

这让我难以置信,如 Lighthouse3D's tutorial gl_Color 据说是一个 vec4。为什么我不能将它分配给另一个 vec4?

最佳答案

尝试正常分配。像这样:

void main()
{
vec4 myOutputColor = gl_Color;
gl_FragColor = myOutputColor;
}

编辑:

第二个答案实际上同样正确,但没有必要使用 vec4() 构造函数,因为两者的类型相同。如果你有一个 (r,g,b,w) 元组,你可以写:
vec4 myOutputColor = vec4(r, g, b, w);

或者
// assuming myRgbColor is a vec3
vec4 myOutputColor = vec4(myRgbColor, w);

等等

关于opengl - GLSL 片段着色器语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/882527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com