繁体   English   中英

无法在OpenGl上使用AssImp运行场景

[英]Can't run scene using AssImp on OpenGl

我正在使用AssImp解析要在OpenGl上使用的简单多维数据集(作为示例进行测试)。 但是,当OpenGl启动时,我可以看到其中包含立方体的场景,然后是我的Nvidia驱动程序上的此错误:

http://nvidia.custhelp.com/app/answers/detail/a_id/3007

OpenGl关闭,并且这一直在我开始使用AssImp之后发生。

我的Nvidia是GeForce 9300M GS。 绘制多维数据集的代码非常简单:

    #include "Object.h"

Object::Object(string filename){

    scene = importer.ReadFile(filename,aiProcess_CalcTangentSpace|aiProcess_Triangulate|aiProcess_JoinIdenticalVertices|aiProcess_SortByPType);

    if(!scene){
        cout << importer.GetErrorString();
    }

}

void Object::draw(){

    if(!scene)
        return;

    if(!scene->mNumMeshes){
        cout << "NO PRIMITIVES" << endl;
        return;
    }


    for(int i = 0; i < scene->mNumMeshes ; i++){
        for (int j = 0; j < scene->mMeshes[i]->mNumFaces ; j++)
        {
            glBegin(GL_TRIANGLES);

            glVertex3f(scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[0]].x,
                scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[0]].y,
                scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[0]].z);
            glVertex3f(scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[1]].x,
                scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[1]].y,
                scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[1]].z);
            glVertex3f(scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[2]].x,
                scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[2]].y,
                scene->mMeshes[i]->mVertices[scene->mMeshes[i]->mFaces[j].mIndices[2]].z);

            glEnd;
        }
    }
}

有没有人使用AssImp在Nvidia驱动程序上导致此崩溃?

我不知道可能是什么问题。 我已经在这台计算机上使用OpenGl多次,它们使用更复杂的形状来构建整个场景,但我从来没有得到过。

在double for循环中,您可能想编写glEnd(); 而不是glEnd; (这是有效的C ++,但是编译器会对此发出警告)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM