Shadow mapping

Shadow mapping

光栅化问题解决阴影的方法

Shadow Mapping 会产生走样现象

Pass1 : Render from Light

从光源看向场景 记录看到的深度(Z-Buffer)

image-20240723112732514

Pass 2A Render from Eye

image-20240723112814864

从眼睛或摄像机出发 可以看到另外一些东西

Pass 2B:Project to light

image-20240723113435960

分别以摄像机和光源视角计算深度 (例如橙色的线)如果深度一致, 说明点可以被相机和光源所看到

image-20240723113727825

深度不一致 说明在阴影中

Visualizing Shadow Mapping

Step one :从光源看过去,记录深度信息

image-20240723114115158 image-20240723114213258

Step two :对比深度关系

image-20240723114323697

光源看不到的在阴影里,实际深度和记录深度是否相等

问题

  1. 浮点数判断精度大小比较困难
  2. 记录在shadow map里需要分辨率 如果分辨率低会阴影有锯齿
image-20240723115707950

软硬阴影

完全看不到光源(本影区域)和能看到部分光源

点光源不会出现呢软阴影 出现软阴影说明光源有一定大小

image-20240723115641156