多重纹理时 OpenGL 图元太暗?
当我在场景中的其他地方使用多重纹理时,我在获取准确的原始颜色时遇到问题。 基本上,我尝试在视频纹理上渲染一些线条和多边形(我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确保在不使用多重纹理时禁用它。 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.