OpenGL glBindTexture()崩溃

时间:2015-12-03 15:32:38

标签: c++ opengl

当我调用glBindTexture(GL_TEXTURE_2D,_ID)时程序冻结;在'Renderer'类的draw(Sprite)方法中。 (实际代码是sprite.getTexture() - > bind(),但我在glBindTexture()调用之前和之后在该函数中添加了一个std :: cout,它只打印一次)。

我正在努力理解程序冻结的原因 - 当我调用glBindTexture时,程序没有响应并崩溃。不是用一长串代码填写这个页面,而是指向github的链接:https://github.com/TheInfernalcow/OpenGL-game,相关的文件主要是src / graphics / renderer.cpp和src / graphics / texture.cpp。

如果有人有时间阅读代码并试着指出我正确的方向,我将不胜感激,一直在思考这个问题几个小时。

1 个答案:

答案 0 :(得分:0)

问题是Splashstate吗?如果是的话 -

SplashState::SplashState(Game* game)
{
    _game = game;
    Texture2D backgroundTexture("res/darkguy.png", 96, 128);
    Sprite _background;
    _background.setTexture(backgroundTexture);
}

您正在为本地范围的Sprite分配纹理,而不是SplashState上的纹理 - 所以当您尝试在渲染函数中绘制它时,类级Sprite没有纹理。