在铸造阴影中使用源材料

时间:2013-09-21 22:06:52

标签: opengl three.js webgl

在阴影中应用材质以获得彩色玻璃等效果的正确方法是什么?

example http://us.123rf.com/400wm/400/400/chernetskiy/chernetskiy1002/chernetskiy100200015/6510854-stained-glass-windows-with-light-coming-from-behind.jpg

我目前能够投射阴影,但它只是灰色,不会与源对象材质合成。

1 个答案:

答案 0 :(得分:0)

如果我理解了所有内容,你就会问如何创建支持透明对象的阴影?

如果是这样,那么你可以试试这个:

创建阴影贴图时,可以将深度写入alpha值,如果对象是不透明的,则将0,0,0(阴影颜色)写入RGB,如果它是透明的,则将其颜色写入RGB。 / p>

所以你最终得到的阴影贴图同时包含两个深度值(A),用于检查对象是在光线中还是在阴影中,如果它在阴影中,则使用的颜色应用阴影写入阴影贴图的RGB部分。

为此,在渲染阴影贴图时,您必须使用32位帧缓冲。

希望这有帮助。