我正在做一些我们的HLSL着色器的工作,试图让他们在SM2.0中工作。我几乎成功了,但是我们的一个着色器接受一个参数:
float alignment : VFACE我从MSDN的理解是,这是一个自动计算的变量,如果我需要它,但它不支持SM2.0.那么,我该怎么复制这个?我不是一个着色程序员,所以任何(伪)代码都会很有帮助。我理解VFACE做什么,但不知道我如何计算它自己在像素阴影,或在VS,并将它传递到PS。计算每像素听起来很昂贵,所以也许有人可以显示一个骨架,在VS中计算它,并在PS中使用它?
发布于 2011-02-11 17:28:47
因为VFACE意味着三角形的方向(后面或前面)和VS或PS阶段不能访问整个原语(如SM4/5 GS阶段)。
唯一的方法是渲染你的几何在两次(一个与背面剔除,另一个与前脸剔除),并传递一个常量的值,以阴影匹配的VFACE含义。
https://stackoverflow.com/questions/4971943
复制相似问题