Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
three.js法线贴图渲染不同于windows/mac_Three.js_Textures_Webgl_Glsles - Fatal编程技术网

three.js法线贴图渲染不同于windows/mac

three.js法线贴图渲染不同于windows/mac,three.js,textures,webgl,glsles,Three.js,Textures,Webgl,Glsles,我有一个我写的着色器,使用3ds max生成的法线贴图。我得到了无缝的结果,但我在Mac上看到了接缝。这可能与我开发法线贴图的directon有关(但我再次相信我在opengl模式下运行chrome),还是与某种精度问题有关?有没有办法在没有mac的情况下调试 根据gmans下面的回答,我补充道 gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE); 链接是 是否可能是颜色空间转换问题 默认情况下,某些浏览器在加载图像时应

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

根据gmans下面的回答,我补充道

gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
链接是


是否可能是颜色空间转换问题

默认情况下,某些浏览器在加载图像时应用颜色空间转换。如果您只是显示一个
标记,这很好,但对于法线贴图没有那么好的效果

告诉WebGL不允许浏览器应用颜色空间转换,请调用

gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
默认情况下,允许进行颜色空间转换(如特定于浏览器的)


在使用Safari 7.0.2的OSX上,我看不到接缝。在使用Chrome 33.0.1750的OSX上,我只看到座椅角落里几乎看不见的接缝。尝试
MeshPhongMaterial
作为实验。它使用导数切线,而不是属性切线。你的切线是从哪里来的?它们看起来不对。尝试
VertexTangentsHelper
。嗨,韦斯特。从声音上看,即使你看到的也不像左边的图像那么刺耳?我从3ds max获取切线-整个点与法线贴图同步。这可能与gamma有关吗?首先,你尝试过我的建议吗?信息有些铺天盖地,我应该用“VertexTangentsHelper”看什么?这是否优于将切线作为顶点颜色输出到片段着色器?MeshPhongMaterial很可能会导致不同的瑕疵(几乎不可避免的接缝),因为它使用不同的函数来解压法线。@gman的建议似乎奏效了。OSX上没有可见的接缝。嗨,gman,我认为这很有可能,事实上我敢打赌。我不知道这个方法。我正在用另一个链接更新问题,该链接设置为“无”。我希望它像这样琐碎:)谢谢!非常感谢,这似乎解决了问题!