0

我已经搜索了互联网,但我没有找到这个问题的正确答案。我注意到很多人都在问同样的想法。

我有一个从 3D max 导出的 JSON 文件,其中包含 UV 信息。我正在尝试加载带有应用于 Three.js 的 DDS 图像的 JSON 文件。(使用 THREE.ImageUtils.loadCompressedTexture) DDS 图像是从 Photoshop 导出的。

图像被加载到对象上,但被拉伸(我认为这是由于 DDS 文件不再是矩形,因为它包含多个 mipmap)。

如何告诉 three.js 使用的图像是 DDS 文件?

先感谢您。

我整理了一个现场演示。链接如下:http ://aeche.eu/DDS/DDS.html 左边是正确使用的JPG文件,右边是DDS文件。

这是原始 JPG 图片:http ://aeche.eu/DDS/art/cubeJPG.jpg

这是使用 DDS 文件的多维数据集的代码:

var map1 = new THREE.ImageUtils.loadCompressedTexture('art/cubeDDS.dds');
    {
  jsonLoader.load( "art/cube2.js", addCubeDDS );
  function addCubeDDS( geometry, materials ) {
  var material = new THREE.MeshPhongMaterial( {map: map1} );
  cube1 = new THREE.Mesh( geometry, material );
  cube1.position.x = 66;
  scene.add( cube1 );
}
4

1 回答 1

1

谢谢大家的答案。我想到了。在将图像导出到 DDS 之前,我必须垂直翻转它并且它可以工作

于 2013-07-30T07:39:35.467 回答