- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以在 Fragmentshader 的特定位置访问和更改另一个 Fragment 的输出值吗?
例如,在 main() 循环中,我像往常一样处理所有内容,并输出带有某个值的颜色。但除此之外,我还希望位置 vec3(5,3,6) (在世界坐标中)的片段具有相同的颜色。
现在我已经在网上对此进行了一些研究。 OpenGL 站点说,片段着色器有一个片段作为输入,一个片段作为输出,这听起来不太有希望。我也知道所有片段都在并行处理。但是也许可以说,如果这个位置的片段还没有被处理过,就把这个颜色写入它,并认为这个片段已经被处理过。
有人可以解释这是否可行,如果不可行,为什么这不是一个好主意。我的最佳猜测是,将此逻辑构建到着色器中,会对整体性能产生非常糟糕的影响。
最佳答案
My be someone can explain if this is posible somehow and if not, why this is not a good idea.
这不是坏主意与好主意的问题。这根本不可能。
最接近此功能的是 ARB_fragment_shader_interlock .通过其互锁和顺序保证,它允许有限 互操作。这个限制是......它只允许覆盖相同像素/样本的片段进行互操作。
因此即使是此功能也不允许您写入其他像素。
您能做的绝对最好是使用 SSBO 和原子计数器让片段着色器写入它们想要写入的颜色值和“世界坐标”,然后让第二个进程执行该缓冲区作为渲染命令或计算着色器来实际写入该数据。
关于opengl - 在 Fragmentshader OpenGL 中访问不同的 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34095641/
我想计算 GLSL 中的切线空间。 这是我的代码中的重要部分: // variables passed from vertex to fragment program // in vec3 verte
我可以在 Fragmentshader 的特定位置访问和更改另一个 Fragment 的输出值吗? 例如,在 main() 循环中,我像往常一样处理所有内容,并输出带有某个值的颜色。但除此之外,我还希
我可以在 Fragmentshader 的特定位置访问和更改另一个 Fragment 的输出值吗? 例如,在 main() 循环中,我像往常一样处理所有内容,并输出带有某个值的颜色。但除此之外,我还希
Android RenderScript 图形子系统已从 API23 及更高版本中删除: https://developer.android.com/guide/topics/renderscript
我是一名优秀的程序员,十分优秀!