0
votes

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

1
I don't know three.js but the specific error means gl.activeTexture was called with 0 instead of gl.TEXTURE0 - gman
does it work if your textures are not in dds format? - gaitat
Yes, it works perfectly with textures in jpg. - Larisa
i had trouble with choosing the format and saving mip maps using that nvidias plugin for photoshop, are you generating mip maps? - pailhead
As format, I choose BC3/DTX5 with no mipmaps (as mentioned before, I'm using Gimp). - Larisa

1 Answers

0
votes

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.