- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如 jar 头上所说:是否有任何理由使用 gl_FragColor
而不是 gl_FragData[0]
?如果不是,那么为什么gl_FragColor
存在呢?它仅仅是 gl_FragData
不存在时期的遗留物吗?
(是的,我知道最新的 GLSL 版本中已弃用两者,但我仍然想编写可以在旧卡上运行的代码。)
最佳答案
我将向您推荐 GLSL 1.1 的 OpenGL 规范,因为除了说它们是互斥的之外,它对两者几乎没有什么区别。
If a shader statically assigns a value to gl_FragColor, it may not assign a value to any element of gl_FragData. If a shader statically writes a value to any element of gl_FragData, it may not assign a value to gl_FragColor. That is, a shader may assign values to either gl_FragColor or gl_FragData, but not both.
考虑到这种语言,在不使用 MRT(多个渲染目标)的着色器中,gl_FragColor
可能是首选。对于输出到多个缓冲区的着色器,请使用 gl_FragData [n]
。但切勿混合搭配,即使您可能从逻辑上假设 gl_FragColor
是 gl_FragData [0]
的别名。
GLSL 规范早于 FBO,因此拥有一组位置来输出片段数据并不总是有意义。由于 GLSL 和 FBO 都是 OpenGL 3.0 的核心,因此很容易认为这是理所当然的。片段着色器的旧 ARB 扩展规范对这个主题有一个简介:
14) What is the interaction with a possible MRT (Multiple Render Target) extension?
The OpenGL Shading Language defines the array gl_FragData[] to output
values to multiple buffers. There are two situations to consider.
1) There is no MRT extension support. A shader can statically assign a
value to either gl_FragColor or gl_FragData[0] (but not both).
Either way the same buffer will be targeted.
2) There is MRT support. In this case what happens is defined in the
relevant MRT extension documentation.
他们正在提前思考,但还没有完全准备好所有的部分。无论如何,这都是古老的历史。
关于opengl - gl_FragColor 是否做了 gl_FragData 不做的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19075125/
我有一个包含两个项目的解决方案,每个项目都生成一个单独的 dll,供另一个 Windows 应用程序使用。这些项目中的每一个都有一个名为 MyActions 的类,只有一个这样的方法 项目 1
我有一个包含两个项目的解决方案,每个项目都生成一个单独的 dll,供另一个 Windows 应用程序使用。这些项目中的每一个都有一个名为 MyActions 的类,只有一个这样的方法 项目 1
所以我在 if 语句中有这段代码如下 if (!inTime || !moment(inTime).format('m') % 15 === 0) { doSomething(); } 传入的 inT
像往常一样,我想做的比我知道的还多:-D 这就是我正在做的事情......我正在写一篇简历。 但是在简介中,我想要一个“长简介”和一个“短简介”按钮。 长传记显然会显示整个传记,但短传记会捕获列表中的
我正在使用物质。 js创建一个二维场景。我在场景中对一个物体施加力,这个物体撞击其他物体,但最终所有物体都因摩擦和能量损失而停止移动。 我需要以某种方式检测场景中的所有物体何时停止移动。我发现这样
谁能快速浏览一下这段代码,让我知道哪里出错了。 在模糊事件中,.textok 类加载正常,但 .textbad 类加载不正常。 .textok { color:#0F0; background
我的情况是这样的:我有一个项目,它使用了一些生成的代码。在生成的代码中,几乎所有文件中都硬编码了某个 URI。 因此,在某些时候我得到了两个生成的代码库:一个针对开发,另一个针对暂存。 我想通过 Gr
这是一个严肃的问题(见我的评论)。 问题很简单:Java 所做的所有 SEO 不友好的事情有哪些会导致您的网站在主要搜索引擎中的排名不如应有的好? 最佳答案 有一个与 JSESSIONID 相关的 s
我正在使用 PHP。我想完成 jQuery AJAX 进程,(完成进程并数据返回主页后)。 然后执行下一个 jQuery 操作。关于如何做到这一点有什么想法吗? $.ajax({ url: "pa
在释放内存之前,我要从 CPU 缓存中逐出内存范围。理想情况下,我只想放弃这些缓存行而不将它们保存到内存中。因为没有人会使用这些值,无论谁再次获得该内存范围(在 malloc()/new/_mm_ma
我不喜欢 jackson 。 我想使用 ajax,但要使用 Google Gson。 所以我试图弄清楚如何实现我自己的 HttpMessageConverter 以将其与 @ResponseBody
我是一名优秀的程序员,十分优秀!