glBlendFunc and alpha channel
glBlendFunc and alpha channel
我试图渲染一些透明的对象使用:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
然而,我没有得到我想要的结果。
先画一个完全不透明的正方形,然后再画一个半透明的正方形。颜色就像我所期望的那样,然而,alpha通道不是我想要的完全白色。
基本上我想要下面的等式:
r = old_r*(1.0-a)+r*a;
g = old_g*(1.0-a)+g*a;
b = old_b*(1.0-a)+b*a;
a = old_a + a;
这是可能实现使用glBlendFunc或我必须诉诸着色器和多个fbo回读?
你基本上想要单独的颜色和alpha混合函数,这是通过使用glBlendFuncSeparate:
来实现的glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
是否需要混合函数
绘制不透明的正方形,然后检查alpha通道。如果在渲染已知不透明的正方形时没有显示为全白色,则可能是其他设置有问题。
相关文章:
- 如何检查流中文件的下一个单词是否为 alpha?
- 关于 Direct3D9 中的 alpha 混合的问题
- OpenCV java alpha Blending
- 由于alpha值的原因,将一个图像混合到另一个图像会产生不正确的图像
- Gdiplus位图没有Alpha通道
- 向心Catmull-Rom样条曲线插值alpha参数
- HBITMAP 能否包含 alpha 通道信息?
- 保存的 Gdiplus::位图始终具有 Alpha 通道 (RGBA/ARGB)
- boost::log 设置"Channel"通道记录器中的属性
- SSE2优化用于从RGB565转换为RGB888(无alpha通道)
- 与 alpha 通道的图像重叠在 QT 上不起作用
- SDL中的绘制具有不同的alpha值
- Direct3d 11深度模板 / Alpha混合问题
- 英特尔 IPP 图像大小调整功能是否关心 alpha 值的位置
- C 正则alpha没有相等的符号
- OpenGL:是否可能具有16位内部格式,类似于亮度 alpha
- DXT3(BC2)压缩格式alpha数据
- 通过使用alpha混合opengl实现具有透明背景的纹理
- 是否可以将 DirectX 中的所有 Alpha 设置为某个值,例如 0.75
- glBlendFunc and alpha channel