我在Render类中有一个名为showMainMenu()的方法。 在渲染我定义我的纹理位图OpenGL只显示在方法中加载的纹理?
Bitmap* bBall;
Bitmap* bWall;
Bitmap* bStart;
Bitmap* bEnd;
Bitmap* bHighscores;
Bitmap* bHelp;
Bitmap* bStar;
在我的渲染的构造函数我做的:
this->bBall = new Bitmap("ball.bmp");
this->bEnd = new Bitmap("beenden.bmp");
this->bStart = new Bitmap("starten.bmp");
this->bStar = new Bitmap("star.bmp");
this->bHelp = new Bitmap("hilfe.bmp");
this->bHighscores = new Bitmap("highscores.bmp");
this->bWall = new Bitmap("wall.bmp");
在showMainMenu()我绑定以下列方式质地:
glEnable(GL_TEXTURE_2D); //Texturen aktivieren
//draw Start button
glBindTexture(GL_TEXTURE_2D, this->bStar->texture);
但我的显示器保持白色:( 当我加载我的方法内的纹理
Bitmap m = Bitmap("star.bmp");
glBindTexture(GL_TEXTURE_2D, m.texture);
我可以看到纹理。 为什么不是第一次工作?
这里的信息太少了。你在哪里生成纹理对象,你在哪里加载纹理数据,你使用着色器,如果是的话,你在哪里发送采样器,...?尝试提供一个简明的,最小的工作示例,显示您的问题。 – KillianDS 2012-01-27 13:06:22