gpt4 book ai didi

opengl - 读取当前帧缓冲区

转载 作者:行者123 更新时间:2023-12-05 00:03:01 25 4
gpt4 key购买 nike

有没有办法从当前渲染的帧缓冲区中读取片段?

因此,我正在寻找一种方法来从当前片段可能覆盖的位置上的片段中读取颜色信息。因此,之前呈现的片段的确切位置。

我发现 gl_FragData 和 gl_LastFragData 添加了某些 EXT_ 扩展到着色器,但如果它们是我需要的,有人可以解释如何使用它们吗?

我正在寻找 OpenGL 或 OpenGL ES 2.0 解决方案。

编辑:

我一直在寻找一种解决方案,使我能够从着色器访问某种读写“统一”。对于搜索类似内容的任何人,OpenGL 4.3+ 版支持 imagebuffer 存储类型。它们确实允许同时读取和写入它们,并且结合计算着色器,它们被证明是非常强大的工具。

最佳答案

你的问题看起来很困惑。

您的问题的一部分(第一句)询问您是否可以从片段着色器中的帧缓冲区读取数据。答案是,一般不会。有 an OpenGL ES 2.0 extension可以让您这样做,但它仅在某些硬件上受支持。在桌面 GL 4.2+ 中,您可以使用 arbitrary image load/store得到同样的效果。但是你不能再渲染那个图像了;您必须使用图像存储功能写入数据。

gl_LastFragData 非常简单:帧缓冲区中样本的颜色将被此片段着色器覆盖。如果可用,您可以随心所欲地使用它。

你问题的第二部分(第二段)是一个完全不同的问题。在那里,您询问的是可能从未写入 到帧缓冲区的片段。您不能从片段着色器中读取;你只能阅读图像。如果一个片段没有通过深度测试,那么它的数据就不会被渲染到图像中。所以你无法阅读它。

关于opengl - 读取当前帧缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16531185/

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