gpt4 book ai didi

opengl - 纹理会影响对象的颜色

转载 作者:行者123 更新时间:2023-12-02 17:15:57 31 4
gpt4 key购买 nike

我正在将我的网络摄像头输入(OpenCV)映射为OpenGL中平面中的纹理。在执行程序时,我注意到纹理会影响其他现有平面的颜色。因此,如果我有黑色纹理,则看不到3d场景。 OpenGL中是否有一种方法可以避免纹理影响其他对象的颜色?
理想的结果应该是,如果纹理为黑色,则只有一个平面应为黑色,而其他平面应保持先前定义的颜色。

最佳答案

OpenGL API更改渲染上下文的状态。渲染上下文还包括用于生成几何片段的实际纹理。

如果启用纹理化(即* glEnable(GL_TEXTURE_2D)*),则此设置将应用于所有绘制的几何图形,直到设置了此状态标志。您可以使用* glDisable(GL_TEXTURE_2D)*禁用纹理化。

可能您没有为其他平面禁用纹理化,实际上纹理仍然适用于其他平面。

您应该执行以下操作:

glEnable(GL_TEXTURE_2D);
...
DrawPlane0(); // This plane is textured
...
glDisable(GL_TEXTURE_2D);
...
DrawPlane1(); // This plane is not textured

关于opengl - 纹理会影响对象的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5359980/

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