2014-06-28 4 views
0

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

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

+0

Я не знаю three.js, но конкретная ошибка означает, что 'gl.activeTexture' вызывается с' 0' вместо 'gl.TEXTURE0' – gman

+0

работает ли это, если ваши текстуры не в формате dds? – gaitat

+0

Да, он отлично работает с текстурами в jpg. – Larisa

ответ

0

мне удалось решить проблему путем создания мипа для каждой преобразованной текстуры. Вкратце: используйте Gimp DDS exporter с компрессией BC3/DTX5 и выберите вариант «генерировать mipmaps». Надеюсь, это объяснение поможет.

Смежные вопросы