从纹理图集进行渲染时,我的纹理正在相互渗透

时间:2018-08-08 07:44:56

标签: javascript webgl

我正在使用纹理贴图,是指几个纹理图像的合成。看到这里:

imageMap

但是,当我将此图像贴图的一部分用作纹理时,我会立即从这些部分的任一侧“渗出”部分。看到这里:

enter image description here

您可以(只是!)看到两侧都有红色和黄色的图像。

我猜想这是由重新采样引起的,它有效地模糊了纹理贴图。然后,当使用模糊纹理贴图的特定部分时,结果就是这种渗色效果。

除了根本不使用图像映射之外,还有什么方法可以避免这种情况?


更新

正如您所期望的,有两个三角形用于该形状。我使用的纹理坐标是(如果我没记错的话):

[0.50, 0.75]
[0.75, 0.75]
[0.75, 1.00]

[0.75, 1.00]
[0.50, 1.00]
[0.50, 0.75]

这些可以选择图像图左上角左侧的一幅图像。

1 个答案:

答案 0 :(得分:0)

为了其他可能会来这里的人的利益,我应该回答自己的问题。实际上,答案在这里是有效的:

https://gamedev.stackexchange.com/questions/46963/how-to-avoid-texture-bleeding-in-a-texture-atlas?newreg=0dbdf79fa0214a718ac7cd38488c56df

基本上,纹理坐标必须位于纹理像素的中心,而不是边缘的中心,而且重要的是,必须关闭mipmapping。