I found that glEnable(gl_texture_gen) make auto generation not only for current texture object but for all. So, I have to call glEnable/glDisable each time I want to make autogen texture?

yes ive noticed that as well on my vanta. i find it very strange and not the logical thing.

texture gen is in fact a texture_coordinate generation and has like that nothing to do with the texture itselfs. perhaps you know the structure of a gpu in simplest way:


in the vertex_processing are the vertices projected on to screen, the lighing is calculated, and the texture coordinates are manipulated (for example with the texturematrix or the texture_gen)

then in the rastericer the actual triangles are rendered with the texture on it, and there it is important if the texture is filtered or not etc, cause it is done there…

texture_gen doesnt have to do anything with the texture but with the vertices

thats why

Hm. But texture_objects keep such things like glTexEnv and glTexGen. Why doesn’t they keep texture_gen flags?

I’ve done some multitexture stuff, and I’ve been fine with having one texture unit being given explicit coordinates, and one using texgen.

Maybe that’s because the texgen modes apply to each texture unit separately.