three.jstextureswebgldds-format

Three.js dds texture failure


I'm loading my 3D models using jsonLoader. As I want to improve loading performances, I've converted the textures in DDS format(using a Gimp plugin). But I can't get rid of this issue:

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 

Each texture side is already power of two. Any ideas about what the problem is?

edit: I've found some possible WebGL solutions, but as I don't make use of shaders, I was wondering if there's any solution with Three.js


Solution

  • I managed to solve the issue by generating mipmaps for each converted texture. In summary: use Gimp DDS exporter with BC3/DTX5 compression and select "generate mipmaps" option. I hope this explanation will help.