营口市代做网站,玉树营销网站建设哪家好,快看点自媒体平台注册账号入口,深圳logo设计公司排名混合 文章目录 混合混合公式glBlendFunc#xff08;混合函数#xff09;glBlendFuncSeparate渲染半透明纹理 参考链接 混合(Blending)通常是实现物体透明度(Transparency)的一种技术 简而言之#xff1a;混合就是如何将输出颜色和目标缓冲区颜色结合起来。 混合公式
C_fina…混合 文章目录 混合混合公式glBlendFunc混合函数glBlendFuncSeparate渲染半透明纹理 参考链接 混合(Blending)通常是实现物体透明度(Transparency)的一种技术 简而言之混合就是如何将输出颜色和目标缓冲区颜色结合起来。 混合公式
C_final f_source * C_source op f_destination * C_destination。输入片段的颜色和Alpha通常称为源颜色分量和源Alpha目标像素的颜色和Alpha则称为目标颜色分量和目标Alpha。 f_source是输入片段源的混合因子C_source是输入片段源的颜色C_source是输入片段源的颜色C_destination是目标像素目标的颜色op是混合运算符可以是GL_FUNC_ADD前后两项相加GL_FUNC_SUBTRACT前后两项相减GL_FUNC_REVERSE_SUBTRACT前后两项相减但顺序相反。 glBlendFunc混合函数
中文版参数显示不全建议看英文版或者docs.gl
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_COLOR)
glBlendEquation(GL_FUNC_ADD) //默认相加源颜色 W(0.3,0.4,0.7,0.5)目标颜色 X(0.8,0.2,0.3,0.1GL_SRC_ALPHA取最终结果为 (0.5,0.5,0.5,0.5) * W(0.3,0.4,0.7,0.5) (1-0.8,1-0.2,1-0.3,1-0.1) * X(0.8,0.2,0.3,0.1) glBlendFuncSeparate
就是通过四个分量设置
void glBlendFuncSeparate(
GLenum srcRGB,
GLenum dstRGB,
GLenum srcAlpha,
GLenum dstAlpha);
渲染半透明纹理
先渲染不透明物体再按顺序渲染半透明物体
如何排序 按照相机位置到物体位置的距离大小来排序。
关于是否使用深度写入的问题
如果透明物体不交叉重叠可以不用深度写入 参考链接
可视化混合函数
docs.gl
Blend