我正在阅读 OpenGL 的 NeHe 教程...我在第 8 课(使用混合绘制立方体)。http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=08
我想尝试将一半的面更改为不透明的,以便始终有一个半透明的面与不透明的面相对,并且能够旋转立方体......
我稍微改变了代码,整个源代码都在那里: http: //pastebin.com/uzfSk2wB 我改变了一些东西:
- 默认启用混合并将混合功能设置为 glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
- 更改了为每个面绘制面和颜色的顺序。
- 我设置了深度测试
- 我画了所有不透明的脸
- 我禁用深度测试
- 我画出所有透明的脸
现在,很难确切地说出了什么问题,但它肯定看起来不正确,与透明的相比,我无法识别出哪些脸是不透明的,有时有些脸在应该绘制的时候似乎没有被绘制……等等。 ..
似乎计算正面与背面相比的面孔并非易事(尽管我确信可能),我希望有一种方法不需要这样做。
寻找我的代码中有什么问题,或者这是否不是首先做的正确方法。