Hen*_*ikD -1 java opengl textures glsl fragment-shader
我在将等距柱状图全景图像映射到简单平面上时遇到了很多麻烦。到目前为止,我的映射是正确的,所以一切都准确地显示在它应该的位置。但我的问题是,在我的纹理坐标从 1 跳到 0 的地方有一条线。但那条线不仅仅是一些线。它的像素比普通像素大一倍。我将它直接渲染到我的屏幕上,中间没有帧缓冲区。我试图启用多重采样,但它根本不影响那条线。我也试图通过将它隐藏在我的相机后面来摆脱那条线,但后来我意识到当我抬头时,无论我在哪里转动它,总会有这条线。在我的代码中,当我使用例如“if”或“atan”进行纹理坐标跳转时,总是显示这一行。
这通常是由 mipmapping 引起的。当您自己包装坐标时,例如在转换为极坐标期间,接缝旁边的像素最终会具有较大的坐标导数,这意味着会采样错误的 mip 级别。
在这种情况下,最好的解决方案可能是检查您是否确实需要 mipmap。在天空盒上,它通常没有太大区别。否则,您必须自己计算详细程度,以便正确考虑坐标跳跃。
避免该问题的另一种方法是防止接缝两侧的片段一起光栅化。您可以通过以三角形边缘始终与接缝对齐的方式构建天空盒网格来实现这一点,以便接缝的每一边都在不同的三角形中。
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |