Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 正在将模具缓冲区切换到颜色缓冲区。可能吗?_Opengl_Blit - Fatal编程技术网

Opengl 正在将模具缓冲区切换到颜色缓冲区。可能吗?

Opengl 正在将模具缓冲区切换到颜色缓冲区。可能吗?,opengl,blit,Opengl,Blit,我正在尝试通过GLSL渲染模具缓冲区纹理,但我找不到它。 模具纹理使用GL_DEPTH24_模具8格式与深度纹理打包在一起。 我发现您无法渲染该纹理,至少不能渲染模具数据,但可以使用纹理的x/y/z值渲染深度数据。所以我想出了一个超级主意,尝试将模具缓冲区blit成GL_红色纹理。这在某种程度上是可能的吗 以下是如何将模具缓冲区从FBO1快速导入FBO2: glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, FBO1 ); glBindFramebuffe

我正在尝试通过GLSL渲染模具缓冲区纹理,但我找不到它。 模具纹理使用GL_DEPTH24_模具8格式与深度纹理打包在一起。 我发现您无法渲染该纹理,至少不能渲染模具数据,但可以使用纹理的x/y/z值渲染深度数据。所以我想出了一个超级主意,尝试将模具缓冲区blit成GL_红色纹理。这在某种程度上是可能的吗

以下是如何将模具缓冲区从FBO1快速导入FBO2:

glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, FBO1 );
glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, FBO2 );
glBlitFramebufferEXT(0, 0, X, Y, 0, 0, X, Y, GL_STENCIL_BUFFER_BIT, GL_NEAREST );
glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, 0);

这就是我被困的地方。有什么想法吗?

您只能将一种类型的数据导入到它自己的数据类型中。不能将颜色数据blit到
GL\u DEPTH\u组件中,也不能将深度数据blit到颜色中。你也不能把模版刷成颜色

做你想做的事情的唯一方法是使用,这是GL 4.3的一部分。它是否可用于您的硬件取决于您的硬件