我在OS上编写了一个使用OpenGL的测试程序,它加载一个PNG,使用libsquish (http://code.google.com/p/libsquish/)将它压缩到内存中,并给平面添加纹理。
当我上传包含alpha通道的图像时,除了完全不透明之外,没有任何像素具有alpha值,它正确地显示:http://i.imgur.com/nElZ8.png
给定相同的图像,但黑色部分被透明替换,这是我得到的输出:http://i.imgur.com/8Ld3y.png
代码并不漂亮,它是一个概念的综合证明:
http://pastebin.com/m0RqpgUS
有什么想法吗?
发布于 2012-01-31 15:58:50
原来我忘了这个
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);https://stackoverflow.com/questions/9060542
复制相似问题