三.js 法线贴图渲染方式不同 windows/mac

pai*_*ead 2 textures webgl three.js glsles

我写了一个着色器,使用 3ds max 生成的法线贴图。我在windows上得到了无缝结果 ,但我在 mac 上看到了接缝。这可能与我开发法线贴图的方向有关(但我再次相信我在 opengl 模式下运行 chrome),还是某种精度问题?有没有没有mac的调试方法?

根据下面的 gmans 回答,我已添加

gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
Run Code Online (Sandbox Code Playgroud)

链接在这里

webgl法线贴图接缝

gma*_*man 5

是否可能是色彩空间转换问题?

默认情况下,某些浏览器在加载图像时会应用色彩空间转换。如果你只是显示一个<img>标签,那很好,但对于法线贴图就不那么好了。

告诉 WebGL 不允许浏览器应用您调用的色彩空间转换

gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
Run Code Online (Sandbox Code Playgroud)

默认值是允许色彩空间转换(如特定于浏览器的)。

请参阅 WebGL 规范