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

Three.JS and WebGL texture automatic resize

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

谢谢你,祝你有个愉快的一天!

亚历克斯

你不能通过这个限制。这就是限制背后的全部想法。您可以做的是访问 http://webglreport.com/ 以查看目标设备上的最大功能(在“纹理”>“最大纹理大小”下),然后砍掉您的纹理以很好地适应这些尺寸。

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

您可以做的另一件事是,您可以使用 6 个较小的图像并将其映射到立方体或 CubeTexture. You can do this with any cubemap converter tool, such as this one: HDRI to CubeMap converter,而不是使用一个巨大的等距柱状图像映射到球体上。这样你就可以加载 6 张图片,让 Three.js 来控制;如果您的设备可以处理它,它会显示更高的分辨率,但如果不能,它会根据需要缩小纹理。

看看这个: http://glayve.com/relief/verdon.html 还是分的好,个人脸可以多玩

你只需要根据 24 个计划尺寸 set.position(x,y,z) 和 set.rotation(x,y,z) 个人脸。