问题描述
如何将漫反射纹理与高光混合,应该何时使用gL Blend函数。 我的镜面照明基于具有透明度的特殊纹理。 现在,我只是改变相对于alpha值的像素亮度,并将结果与漫反射纹理相结合:
"texture(SH_MAP,TextureCoords).rgba * texture(SH_MAP,TextureCoords).a"
vec4 m_TotalColor = m_DiffuesColor + m_specularColor;
有没有更好的方法来实现这一目的?
解决方法
通常带有光衰减的方程为(LightColor / DistanceSquared) * (DiffuseColor + Specular)
加法是混合镜面反射色和漫反射色的正确方法,只要它在某个时刻与浅色相乘即可。使用线性颜色时,请记住所有操作后都转换为伽玛空间。
快乐的阴影!