Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

AIRmichael

ARB conflicts

This topic is 5980 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey, I noticed some video cards ( geforce 2mx for example ) have problems with running the ARB extention. The very next texture which is being loaded, it loads up only its colour. Is there a other way to load several textures into 1 pass without useing ARB? , Or maybe is there a way to fix this? ( I also tried glActiveTexture(GL_TEXTURE1_ARB); etc and then glDisable(GL_TEXTURE_2D);, but it still draws the texture wrong. It works on my voodoo 2 though, but not on many other cards.

Share this post


Link to post
Share on other sites
Advertisement
Which ARB extension ? ARB_multitexture, I presume.

I''m to 99.99% sure, that it is a bug in your code. And BTW, the Voodoo2 ''OpenGL'' driver is far from being a reference, esp. compared to an nVidia driver... If it works on the V2, but not on a GeForce, then the problem is likely an inconsistency in the Voodoo2 driver, combined with a flaw in your code (which prevents it to run on a ''real'' OpenGL driver, sticking to the standards [which the 3Dfx driver does not]).

Post a source snippet.

Share this post


Link to post
Share on other sites
// activate
glActiveTextureARB(GL_TEXTURE0_ARB);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,texturegen[10]);
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);
glActiveTextureARB(GL_TEXTURE1_ARB);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,texturegen[3]);
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);


// render
glMultiTexCoord2fARB(GL_TEXTURE0_ARB,30.0f-(0.0003f*tnw_counter)-2.0f*(float)sin(tnw_counter*0.001f),30.0f-(0.0003f*tnw_counter)-2.0f*(float)sin(tnw_counter*0.0008f));
glMultiTexCoord2fARB(GL_TEXTURE1_ARB,40.0f, 40.0f);
glVertex3f(-1000.0f, -1.0f, -1000.0f);
//( and so on for the rendering)



// disable
glActiveTextureARB(GL_TEXTURE0_ARB);
glDisable(GL_TEXTURE_2D);
glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);



Share this post


Link to post
Share on other sites
>>// disable
glActiveTextureARB(GL_TEXTURE0_ARB);
glDisable(GL_TEXTURE_2D);
glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);<<

the problem is here
what is now the current active texture unit?
u prolly want to use this order

// disable
glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);
glActiveTextureARB(GL_TEXTURE0_ARB);
glDisable(GL_TEXTURE_2D);

http://uk.geocities.com/sloppyturds/gotterdammerung.html

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!