+ -
当前位置:首页 → 问答吧 → ShadowVolume中的模板设置,有谁做过,给些提示

ShadowVolume中的模板设置,有谁做过,给些提示

时间:2011-10-04

来源:互联网

ShadowVolume中几个困难的事(新建遮挡体模型,遮挡体延光线方向延伸)已经搞定,但在计算阴影区域(使用模板缓冲区计算出)时,出现困难,渲染结果不正确,不知错在什么地方。
微软提供的例子中对模板的设置较复杂,也没有搞清楚,有谁搞过,给些提示

作者: ljb1672   发布时间: 2011-10-04

已经搞定。渲染流程大致如下,详细的情况还是需要认真阅读SDK文档和例子,但的确很烦,需要耐心。
1)、使用环境光渲染所有物体,按正常方式渲染,打开Z缓冲,小则通过;关闭模板;关闭Alpha融合
2)、渲染阴影体时,打开Z缓冲,但不能写(否则破坏Z缓冲);打开模板,注意双面方式,对于逆时针面,完全通过,Z失败时增加,正常通过时保持,对于顺时针面,大致相同,在Z失败时减少;Alpha融合方式,源取0,目的取1。这里的设置有些繁琐,需要认真理解。
3)、再渲染一次场景,注意阴影区域的模板不一致,打开模板缓冲区比较,Z测试按正常方式;Alpha融合方式是将环境光与本次渲染的漫反射和高光一起叠加即可。

作者: ljb1672   发布时间: 2011-10-06