OpenGL学习之路之光照贴图
十二月 07, 2021
Phong光照模型
效果混合相加:diffuse + ambient + specular
图片混和相乘:(diffuse + ambient + specular) * objColor
1 | FragColor =vec4((diffuse + ambient + specular) * objColor,1.0f); |
环境光–ambient
ambient具体能表现无光照区域的颜色,在物体较暗的部分加上漫反射贴图会更真实
1 | vec3 ambient=texture(material.diffuse, TexCoord).rgb * ambientColor; |
漫反射贴图—diffuse
出现的大概像表面的纹理像木箱的表面,相当于简单反射到眼睛的获得的颜色
1 | vec3 diffuse=texture(material.diffuse,TexCoord).rgb * max( dot( lightDir, Normal), 0) * lightColor; |
镜面反射—specular
可以将光照和高光进行反射,提高真实度
1 | vec3 reflectVec=reflect(-lightDir,Normal); |
发射光贴图—emission
1 | vec3 emission=texture(material.emission,TexCoord).rgb; |
查看评论