OpenGl阴影

先使用FBO装一个深度贴图 此处要先将镜头移到光源 然后保存深度 这时候z值保存的是最近可见的片元的深度值,这里是重点。

按原始场景来 每个片元 转到光源坐标系下面进行透视除法,然后看看深度是否大于阴影贴图的 大于则在阴影中。

vec3 projCoords = fragPosLightSpace.xyz / fragPosLightSpace.w;

curD=projCoords.z

mapD=texture(shadowMap, projCoords.xy).r

if curD>mapD 阴影中

详细的可以看看learnopengl

猜你喜欢

转载自blog.csdn.net/qq_35158695/article/details/81541198