opengl - 使用 gl_FragColor 与 out vec4 颜色?

标签 opengl glsl shader

关于gl_FragColor似乎有很多歧义被弃用。例如,它在 GLSL 4.40 specification 中缺失,但它包含在 GLSL 4.60 specification 中.

什么是最安全、最兼容、最受支持的策略?使用 gl_FragColor或定义一个着色器输出,如 out vec4 color ?

最佳答案

是的,gl_FragColor已弃用。您应该使用以下语法:

layout(location = 0) out vec4 diffuseColor;

它包含在 GLSL 4.60 规范的 7.1.7. Compatibility Profile Built-In Language Variables 部分下.这意味着,如果您创建核心上下文,则此变量将不可用。

关于opengl - 使用 gl_FragColor 与 out vec4 颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51459596/

相关文章:

actionscript-3 - 将着色器过滤器应用于 BitmapData 对象会忽略传递的矩形 - 如何正确应用着色器过滤器?

c++ - GLSL 纹理映射不起作用

opengl-es - Spritekit 和 OpenGL : smooth smoke trail

javascript - 将 JavaScript 变量发送到片段着色器

python - 用于 OpenGL 第一人称射击游戏 View 的顶点/片段着色器?

opengl - GLSL gl_FragCoord.z 计算和设置 gl_FragDepth

c++ - 如何使用 glTranslatef 缩小对象?

opengl - 为什么在 opengl 3.1 中不推荐使用显示列表?

macos - 什么会导致 Windows 和 OS X 之间的 OpenGL alpha 混合差异?

opengl - GLSL,接口(interface) block