Загрузите кубическую карту из файла кубической карты DDS с помощью three.js

Как использовать кубические карты DDS в three.js для фона сцены (или скайбоксов)? В настоящее время я разбиваю кубическую карту DDS на шесть изображений и загружаю их с помощью THREE.CubeTextureLoader(). Может быть, существует другой простой способ? Как это:

var skybox = new THREE.TextureLoader().load('/files/skybox.dds');
scene.background = skybox;

person Vasya Petrov    schedule 16.12.2016    source источник
comment
Попробуйте DDSLLoader. Рабочий пример в источнике здесь: threejs.org/examples/webgl_materials_texture_compressed.html и найти DDSLLoader дополнительно здесь: github.com/mrdoob/three .js/blob/dev/examples/js/loaders/   -  person Radio    schedule 17.12.2016


Ответы (1)


Попробуйте DDSLLoader

var loader = new THREE.DDSLoader();
var skybox = loader.load( '/files/skybox.dds' );
scene.background = skybox;

В ваше приложение необходимо добавить класс DDSLoader: https://github.com/mrdoob/three.js/blob/dev/examples/js/loaders/DDSLoader.js

person Radio    schedule 17.12.2016
comment
Текстура кубической карты загружается нормально с помощью DDSLLoader: но возникает ошибка при попытке использовать их в качестве сцены. фон: TypeError: mipmaps is undefined in three.js:17959:22 - person Vasya Petrov; 17.12.2016
comment
Убедитесь, что длина каждой стороны изображения в пикселях равна степени двойки. - person Radio; 17.12.2016