实现位移映射:沿着接缝的间隙



我正在使用DirectX 11及其新的镶嵌阶段实现位移映射。

漫射贴图和位移贴图由xNormal生成。

我应用位移映射后的结果是如此严重的破裂。https://i.stack.imgur.com/eeUDy.jpg

然后我意识到沿着接缝的纹理值是不相同的/连续的,所以我只使用漫反射纹理作为位移贴图,漫反射颜色为全红色。

https://i.stack.imgur.com/IyXiJ.jpg

结果更好,但仍然沿着接缝有1像素的间隙。

https://i.stack.imgur.com/bTzmS.jpg

https://i.stack.imgur.com/WRNEg.jpg

https://i.stack.imgur.com/Hs7c8.jpg

我对小缝隙感到困惑,所以我用MS painter放大了纹理中的有色部分,然后缝隙消失了!

https://i.stack.imgur.com/nwXgn.jpg

https://i.stack.imgur.com/cB8eu.jpg

现在我只是不明白问题出在哪里。即使来自纹理不同部分的接缝的值是相同的(在这种情况下为红色),在结果模型上仍有差距。

我尝试了所有的样本过滤器在这里(MSDN),但没有帮助。

是什么导致了差距?如果问题可以通过修改纹理而不是更改我的代码来解决,那将会更好。

必须实现水密接缝过滤如果没有,这些间隙出现是因为法线在UV接缝上不同。显而易见的。

最新更新