user2131737
user2131737

Reputation: 21

OpenGL shader ignore texture

I have recently implemented Awesomium into a OpenGL application. When I load Awesomium in to a texture OpenGL includes it in its shading process regardless of whether I draw the texture onto a surface or not.

I am trying to trace down the line of code that is processing the texture into the shaders, is there a specific function OpenGL uses to access all textures or a way to tell OpenGL to ignore the texture?

Update texture block

glBindTexture(GL_TEXTURE_2D, SkypeHUD);
glTexImage2D(GL_TEXTURE_2D, 0, 4, AwesomiumW, AwesomiumH, 0, GL_BGRA, GL_UNSIGNED_BYTE, surface->buffer());

Create texture block

glBindTexture(GL_TEXTURE_2D, SkypeHUD);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
glBindTexture(GL_TEXTURE_2D, 0);

Drawing the scene without the texture being loaded: http://puu.sh/2bVTV Drawing the scene after I have loaded the texture: http://puu.sh/2bVUb

You can see it blending the google texture in over the others.

Upvotes: 0

Views: 435

Answers (1)

datenwolf
datenwolf

Reputation: 162317

Texture enable/disable should be controlled by the shader code, not some client binding state. Anyway, you most likely use several texture units (glActiveTexture); the texture binding is individual to each unit, so you'll have to do some leg work and unbind textures from each unit if you want to go this route.

Upvotes: 0

Related Questions