1

我正在使用 stb_image.c 将数据字节加载到 opengl。但是,当我尝试使用 alpha 通道加载 png 文件时,我正在努力解决发生在我身上的一个问题在此处输入图像描述

现在白色区域应该是透明的,尽管它只清除了它的一小部分。任何想法是什么导致了这种行为?

在此处输入图像描述

Photoshop直方图

4

1 回答 1

2

你在做 Tom Dalling OpenGL 教程吗?^^

我不知道您是否仍在寻找解决方案,但无论如何我还是去了:我实际上遇到了与我正在学习该课程相同的问题,但它通过使用带有 sfactor GL_SRC_ALPHA 和 dfactor GL_ONE_MINUS_SRC_ALPHA 的 glBlendFunc 对我有用。这些是 OpenGL 似乎至少在文档中推荐的参数:glBlendFunc

透明度最好使用混合函数(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)实现,基元从最远到最近排序。请注意,此透明度计算不需要帧缓冲区中存在 alpha 位平面。

于 2013-07-18T17:39:02.350 回答