通过 FBO 使用“渲染到目标”时是否需要重新生成 MipMap?

发布于 2024-10-21 18:09:36 字数 336 浏览 6 评论 0原文

假设需要 mipmap:

我调用 glGenerateMipmapEXT(GL_TEXTURE_2D);当我第一次为我的 FBO 分配渲染目标时。当我完成渲染以正确填充所有 mipmap 级别时,是否必须再次调用此函数,或者后续渲染调用是否同时渲染到所有级别?

我有一个例子,其中我的一个对象逐渐淡入 <0,0,0,0> 。当最小过滤器 (GL_LINEAR_MIPMAP_LINEAR) 启动时,我假设渲染后未重新进行 mipmapping 会导致此情况。

我查看了一些示例,发现有几个示例进行了后续的 glGenerateMipmap 调用,但更多的示例则没有进行调用。

意见?

Assuming mipmapping is desirable:

I call glGenerateMipmapEXT(GL_TEXTURE_2D); when I first allocate the render target for my FBO. Do I have to call this again when I've completed rendering to it to correctly populate all the mipmapping levels, or do subsequent render calls render to all levels simultaneously?

I have an example where one of my object is fading to <0,0,0,0> when the min filter (GL_LINEAR_MIPMAP_LINEAR) kicks in, and I'm assuming that not re-mipmapping after rendering is causing this.

I've looked through a few examples, and have found a couple where subsequent glGenerateMipmap calls are made, but more where they aren't.

Opinions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺渁∝ 2024-10-28 18:09:36

glGenerateMipmap 将根据级别 [0] 填充级别 [1,..,n]。所以是的,只要你的 level[0] 发生变化,你就应该调用它。

glGenerateMipmap will fill levels [1,..,n] based on the level[0]. So yes, you should call it whenever your level[0] changes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文