2013-07-17 96 views
0

我搜索了互聯網,但沒有找到適合此問題的正確答案。我注意到很多人都在問同樣的想法。Three.js DDS Json紫外線貼圖問題

我有一個從3D max導出的包含UV信息的JSON文件。 我試圖加載應用到Three.js中的DDS圖像的JSON文件。 (使用THREE.ImageUtils.loadCompressedTexture) DDS圖像是從Photoshop中導出的。

圖像被加載到對象,但它被拉伸(我認爲這是一個事實,即DDS文件不是長方形了,因爲它包含幾個的貼圖引起的)。

如何判斷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); 
} 
+0

我想的jsfiddle或其他現場演示將有助於特別是在你的情況我 – yaku

+0

沒有看到任何「伸展」。我確實看到黑色的臉。我相信這是因爲嵌入式DDS mipmap是顛倒的(或者在three.js中存在一個bug)。你是什​​麼意思「告訴three.js該圖像是一個DDS文件」? – WestLangley

回答

1

謝謝大家對你的答案。我想到了。圖像導出到DDS之前,我必須垂直翻轉它和它的作品