我正在使用 stb_image.c 将数据字节加载到 opengl。但是,当我尝试使用 alpha 通道加载 png 文件时,我正在努力解决发生在我身上的一个问题
现在白色区域应该是透明的,尽管它只清除了它的一小部分。任何想法是什么导致了这种行为?
Photoshop直方图
我正在使用 stb_image.c 将数据字节加载到 opengl。但是,当我尝试使用 alpha 通道加载 png 文件时,我正在努力解决发生在我身上的一个问题
现在白色区域应该是透明的,尽管它只清除了它的一小部分。任何想法是什么导致了这种行为?
Photoshop直方图
你在做 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 位平面。