5

OpenGL 模型加载 QT4 MSVC2017 Assimp 程序 有偿求帮助

问题
QT4.11
用的MSVC2017编译器
调用的Assimp, glm, stb_image库,

程序出问题的地方调用的QT核心库:

<QOpenGLFunctions_3_3_Core>

现在想实现多模型的载入. 但是我发现如果我在继承了QOpenGLWidget的GLManager类中

class GLManager : public QOpenGLWidget{
            Model *model;
            QOpenGLFunctions_3_3_Core* core;
}

调用函数:

void GLManager::initializeGL(){
        core = QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_3_3_Core>(); 
        model = new Model(core, "D:/cube.obj");
}
void GLManager::paintGL(){
        ourModel->Draw(ResourceManager::getShader("model"));
}

是可以使用的,
但是当我把这句话new Model(core, "D:/cube.obj");不放在GLManager::initializeGL()中时, 就不能正确的画出.

代码有点长, 就不贴具体实现了, 主要就是参考的learnopengl的代码
网址:https://learnopengl-cn.github.io/03%20Model%20Loading/03%20Model/

查看全部
BoyInC0de
望君持之以恒
2020/05/10 17:34
  • c++
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复