Не могу запустить сцену, используя AssImp на 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;
}
}
}

У кого-нибудь был этот сбой на драйвере Nvidia с помощью AssImp?

Я понятия не имею, в чем может быть проблема. Я использовал OpenGl на этом компьютере много раз, когда более сложные фигуры создавали целые сцены, но я этого никогда не получал.

0

Решение

Внутри двойного цикла, вы, вероятно, хотите написать glEnd(); вместо glEnd; (это допустимый C ++, но компилятор выдает предупреждение об этом)

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector