我在看了些 Crimson Desert 的视频后,了解到他们可能使用了屏幕空间变换来模拟几何细节。因此,我花了下午的时间进行 vibe coding... 并获得了一些不错,但最终可能不可用的结果...

https://preview.redd.it/j5pj1shf5i4h1.jpg?width=1324&format=pjpg&auto=webp&s=af56225c8819d3da699fa06afb25d83165c7111a

屏幕空间变换。 我正在渲染一个只渲染高度纹理的通道,并正常渲染前向通道。然后,每个像素都沿着其几何法线进行了位移。

https://preview.redd.it/ocvuuano5i4h1.png?width=1117&format=png&auto=webp&s=a456fb5523a7880f16e8ae4b2e6e5ee143e347bb

好的:这是两个平面的交点

https://preview.redd.it/rss1egds5i4h1.jpg?width=777&format=pjpg&auto=webp&s=704c95e604174ba7b8c5cab4b73d9ebf2dcabcfa

而这是为什么它可能不可用的原因:我缺乏信息,前方对象遮挡了像素的位置。 我不知道如何填充这些区域(在这个例子中,橙色上方的右边缘)。 有什么建议吗?