gpt4 book ai didi

opengl - 解析多重采样阵列纹理

转载 作者:行者123 更新时间:2023-12-05 03:20:33 24 4
gpt4 key购买 nike

我目前正在尝试实现级联多重采样方差阴影贴图。虽然我的非多重采样贴图看起来工作正常,但我在解析多重采样阵列纹理时遇到了问题。 OpenGL 文档说我应该使用 glBlitFramebuffer 调用来解析这些纹理。然而,在查看 RenderDoc 中解析的数组纹理后,似乎只有数组的第一层被 blitted。

到目前为止,我已经缩小了问题范围:

  • 单样本(无 blit)级联/阵列方差图工作正常。
  • 多样本(使用 blit/resolve)非级联方差图工作正常。
  • 多样本级联方差图仅 blit/解析纹理数组中的第一个纹理。

我在这里有哪些选择?理想情况下,我仍然希望在我的光照过程中从中采样 2D 阵列纹理,但我不确定我应该如何 blit 多个阵列层来解决多重采样问题。

当前解析代码:将 shadow_fbo[0] 作为帧缓冲区,绑定(bind)了 GL_TEXTURE_2D_MULTISAMPLE_ARRAYshadow_fbo[1] 绑定(bind)了 GL_TEXTURE_2D_ARRAY两者都为 GL_COLOR_ATTACHMENT0:

glBindFramebuffer(GL_READ_FRAMEBUFFER, shadow_fbo[0]);
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, shadow_fbo[1]);
glBlitFramebuffer(0, 0, size, size, 0, 0, size, size, GL_COLOR_BUFFER_BIT, GL_NEAREST);

最佳答案

Blitting 分层图像只会影响层 0。如果你想做一个涉及源图像和目标图像的所有层的 blit,你必须将每一对层附加到帧缓冲区,blit 它们,然后附加下一对层,blit 它们,等等。

关于opengl - 解析多重采样阵列纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73137730/

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