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
Javascript Three.JS和WebGL纹理自动调整大小_Javascript_Three.js_Webgl_360 Panorama - Fatal编程技术网

Javascript Three.JS和WebGL纹理自动调整大小

Javascript Three.JS和WebGL纹理自动调整大小,javascript,three.js,webgl,360-panorama,Javascript,Three.js,Webgl,360 Panorama,我需要一些帮助来解决一个问题:) 我使用Three.JS将高质量的等矩形图像显示到球体中(20000x1000像素)。质量对我的webapp非常重要,这里没有考虑带宽。 我的问题是ThreeJS会调整图像大小,因为超出了WebGL MaxTextureSize限制。 有办法通过这个限制吗?也许可以把纹理切割成几个部分?哪种方法最好 谢谢你,祝你过得愉快 Alex您不能通过此限制。这就是限制背后的全部想法。您可以访问查看目标设备上的最大功能(在“纹理>最大纹理大小”下),然后将纹理切碎,使其与这些

我需要一些帮助来解决一个问题:) 我使用Three.JS将高质量的等矩形图像显示到球体中(20000x1000像素)。质量对我的webapp非常重要,这里没有考虑带宽。 我的问题是ThreeJS会调整图像大小,因为超出了WebGL MaxTextureSize限制。 有办法通过这个限制吗?也许可以把纹理切割成几个部分?哪种方法最好

谢谢你,祝你过得愉快


Alex

您不能通过此限制。这就是限制背后的全部想法。您可以访问查看目标设备上的最大功能(在“纹理>最大纹理大小”下),然后将纹理切碎,使其与这些尺寸完美匹配

例如,iPhone6的限制是4096x4096,因此需要将5个网格并排平铺才能达到20480。这完全取决于您的设备的图形卡限制,因此如何划分它将因用户而异

你可以做的另一件事是不使用一个巨大的等矩形图像映射到一个球体上,你可以使用6个较小的图像,或者将其映射到一个立方体或一个球体上。您可以使用任何cubemap转换器工具来执行此操作,例如以下工具:。这样你就可以加载6张图片,让Three.js来控制方向盘;如果您的设备能够处理,它将显示更高的分辨率,但如果不能处理,它将根据需要缩小纹理。

看看这个: 最好是分开,你可以更多地玩单个的脸


您只需根据24个平面尺寸设置单个面的位置(x、y、z)和旋转(x、y、z)。

如果我使用立方体贴图,您认为可以将每6个纹理面划分为4个较小的图像(整个立方体24个瓷砖)以获得更高分辨率的图像吗?如果是的话,我需要在ThreeJS中使用什么?非常感谢,想象一个例子打开了我的思路,用ThreeJS创建了一些东西!