正如上文所言,对静态物体和动态物体分别处理。
一,静态物体
1,设置渲染状态:只计算像素深度,不计算颜色。具体内容是,关闭颜色写入,打开深度测试与深度写入。
2,渲染三个绘制列表
(1)只绘制深度的列表PositionOnlyDepthDrawList,只在深度渲染过程中起作用。
(2)深度绘制列表DepthDrawList,它是最主要的不透明物体渲染列表
(3)带蒙版的深度绘制列表MaskedDepthDrawList,蒙版即对应材质系统中的Mask类型材质。
二,绘制动态的预处理阶段对象。
只渲染当做遮挡物体的动态对象。(同时也考虑是否可移动等状况)。