多重纹理时 OpenGL 图元太暗?

发布于 2024-07-17 21:51:07 字数 229 浏览 14 评论 0原文

当我在场景中的其他地方使用多重纹理时,我在获取准确的原始颜色时遇到问题。 基本上,我尝试在视频纹理上渲染一些线条和多边形(我使用 3 阶段多重纹理来创建视频纹理)...无论如何,我知道问题与 alpha 无关...事实上,我知道在我的纹理更新函数中,如果我只是注释掉对纹理级别 1 和 2 的 glBindTexture() 调用,基元颜色就很好(因此保留纹理级别 0)...是否也尝试对基元进行多重纹理(即使我显然没有为基元设置纹理坐标)?

I'm having a problem getting accurate primitive colours when I'm using multi-texturing elsewhere in the scene. Basically, I have some lines and polygons that I am trying render over a video texture (I'm using 3 stage multitexturing to create the video texture)... Anyhow, I know the problem is not alpha related... In fact, I know that in my texture update function if I just comment out the calls to glBindTexture() for texture levels 1 and 2, the primitive color is fine (so leaving texture level 0)... Is it trying to multitexture the primitives too (even though I'm obviously not setting texture coordinates for primitives)?

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

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

发布评论

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

评论(1

猫弦 2024-07-24 21:51:07

确保在不使用多重纹理时禁用它。 OpenGL 使用状态机,因此如果您打开纹理,它将保持打开状态,直到您明确将其关闭。

仅仅因为您没有设置坐标,并不意味着 OpenGL 会假设您没有使用纹理。

Make sure to disable multitexturing when not using it. OpenGL uses a state machine, so if you turn on a texture it will stay on until you explicitly turn it off.

Just because you're not setting coordinates, doesn't mean OpenGL will assume you're not using the texture.

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