XNA / MonoGame-通过四边形照亮

时间:2018-06-22 11:40:34

标签: c# xna shadow monogame lighting

我的问题:

MonoGame中是否有一种方法可以指定光源,并使其通过四边形/纹理发光,从而有效地减少剩余的光,然后使该光穿过下一层,就像真实纸张后面的光一样,彼此重叠(有缝隙)?

说明:

我正在尝试使用MonoGame渲染灯光/阴影框。

阴影盒是一个由纸切口组成的盒子,它们相互叠置,下面有一个光源。纸的密度以及纸层之间的距离以及光必须通过的先前层的数量决定了每一层的光强度(在我的基本理解中)。您可以在Google中搜索“纸灯箱”,以了解我在说什么。 (https://www.google.com/search?q=paper+light+box&tbm=isch

我当前渲染图层的方式是在面向照相机的四边形上绘制纹理,然后自己计算光线水平,方法是在假想光源的位置和照相机位置之间进行简单的线性插值,分配每个图层灯光水平(BasicEffect中的DirectionalLight0)。

这显然没有考虑到光线已经穿过的层数,因此纸层始终仅具有单个光线级别,而不具有各种光线/阴影渐变。

我尝试在图层之间使用Alpha混合,但这似乎并没有做到,因为Alpha混合还没有考虑图层之间的距离。

您可能已经猜到了,我一般对MonoGame或图形编程还是陌生的。我的想法是,这应该是已经被数十个人解决的某种通用问题,但是数小时的搜寻并没有带我过去,所以即使您可能会告诉我,也非常感谢您的帮助我给Google正确的单词是:)

0 个答案:

没有答案