文章目录
- 一、Shadows Mapping
- 1.第一个Pass:从光源Light射出方向出发,记录到达像素(片元)最浅的距离
- 2.第二个Pass:从眼睛(摄像头)看向方向出发,渲染场景得到像素(片元),如片元A
- 二、Shadows Mapping 由于数值精度会出现的问题 Shadows Bias:
一、Shadows Mapping
最主流的阴影算法,分俩趟Pass渲染。
1.第一个Pass:从光源Light射出方向出发,记录到达像素(片元)最浅的距离
得到一张Texture,也就是深度图:0-1 黑-白 物体离得越近越黑。
2.第二个Pass:从眼睛(摄像头)看向方向出发,渲染场景得到像素(片元),如片元A
计算这些片元(如A)到光源的距离:黄线,和Pass1的距离一样,说明光源可见 A没有被遮挡,没有阴影。
如果片元A到光源的距离,黄线比在Pass1深度图记录的距离(B到光源)更远,则说明片源A被遮挡,A处有阴影。
二、Shadows Mapping 由于数值精度会出现的问题 Shadows Bias:
由于光源离地平线越近,光源到像素的距离1和摄像头到像素的距离2就会不一致,地面就会出现类似摩尔纹的阴影错误。
通常可以增加一个根据角度改变的偏移距离Bias值来解决摩尔纹的阴影错误。
但如果Bias过大就会又出现如图脚步阴影悬空的问题。