我正在和朋友一起开发游戏,我们使用 openGl、glut、devIL 和 c++ 来渲染所有内容。简单地说,我们使用的大多数 .png 都可以正确渲染,但是有随机像素显示为白色。
这些像素分为 2 类。第一个是图像边缘的像素。这些是由 Photoshop 的笔画功能(我正在尝试修复)进行的抗锯齿造成的。第二个是更神秘的一个。当敌人静止不动时,纹理看起来不错,但只要它跳跃,就会在其顶部出现一条随机的白线。
顶部的线具有不同的坚固度(这个镜头不是最坚固的)
这似乎是一个混合问题,但我对 openGl 处理透明度的方式并不熟悉(我们的透明度代码是从堆栈溢出的其他问题中学到的,尽管我在这个问题上找不到任何东西)。我希望能解决这两个问题,但我更担心第二个问题。
我们当前的设置代码:
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);