Сбой текстуры Three.js dds

Я загружаю свои 3D-модели с помощью jsonLoader. Поскольку я хочу улучшить производительность загрузки, я преобразовал текстуры в формат DDS (используя плагин Gimp). Но я не могу избавиться от этой проблемы:

GL_INVALID_ENUM : glActiveTexture: texture was GL_FALSE three.min.js:477

WebGL: drawElements: texture bound to texture unit 0 is not renderable. 
It maybe non-power-of-2 and have incompatible texture filtering or is not
'texture complete'. Or the texture is Float or Half Float type with linear
filtering while OES_float_linear or OES_half_float_linear extension is not enabled. 
three.min.js:477

GL_INVALID_ENUM : glActiveTexture: texture was GL_LINES 

Каждая сторона текстуры уже является степенью двойки. Любые идеи о том, в чем проблема?

редактировать: я нашел несколько возможных решений WebGL, но, поскольку я не использую шейдеры, мне было интересно, есть ли какое-либо решение с Three.js


person Larisa    schedule 28.06.2014    source источник
comment
Я не знаю three.js, но конкретная ошибка означает, что gl.activeTexture был вызван с 0 вместо gl.TEXTURE0   -  person gman    schedule 28.06.2014
comment
это работает, если ваши текстуры не в формате dds?   -  person gaitat    schedule 28.06.2014
comment
Да, отлично работает с текстурами в jpg.   -  person Larisa    schedule 29.06.2014
comment
у меня возникли проблемы с выбором формата и сохранением мип-карт с помощью этого плагина nvidias для фотошопа, вы создаете мип-карты?   -  person pailhead    schedule 30.06.2014
comment
В качестве формата я выбираю BC3/DTX5 без мипмапов (как упоминалось ранее, я использую Gimp).   -  person Larisa    schedule 30.06.2014


Ответы (1)


Мне удалось решить проблему, сгенерировав MIP-карты для каждой преобразованной текстуры. Подводя итог: используйте экспортер Gimp DDS со сжатием BC3/DTX5 и выберите опцию «генерировать MIP-карты». Я надеюсь, что это объяснение поможет.

person Larisa    schedule 07.07.2014