OpenGL Assimp C++, местоположение чтения нарушения прав доступа 0x00000000C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 OpenGL Assimp C++, местоположение чтения нарушения прав доступа 0x00000000

Сообщение Гость »


Я столкнулся с проблемой при попытке запустить простой загрузчик/отображение модели на основе некоторых руководств. Всякий раз, когда я компилирую следующий код, я получаю эту ошибку:

Необработанное исключение по адресу 0x77ad15de в Test.exe: 0xC0000005: местоположение чтения нарушения прав доступа 0x00000000. Я знаю, что это означает, что осуществляется доступ к нулевому указателю, что является незаконным, но я не могу его найти. Вот мой код:

gleMesh gleLoadMesh(const char* имя файла){ const aiScene* Scene = aiImportFile(filename, aiProcessPreset_TargetRealtime_Fast); если(!сцена){ fprintf(stderr,"[ПРЕДУПРЕЖДЕНИЕ] Не удалось загрузить файл %s", filename); gleMesh load = {0,0,0,0}; возвратная нагрузка; } const struct aiMesh* сетка = сцена->mMeshes[0]; int tris = сетка->mNumFaces*3; float *verts = новый float[mesh->mNumFaces*3*3]; float *normals = новый float[mesh->mNumFaces*3*3]; float *uvs = новый float[mesh->mNumFaces*3*3]; for(unsigned int i = 0; i mNumFaces; i++){ const aiFace face = сетка->mFaces; for(unsigned int j = 0; j mVertices[face.mIndices[j]]; memcpy(verts, &vert, sizeof(float)*3); верты += 3; aiVector3D нормальный = сетка->mNormals[face.mIndices[j]]; memcpy(normals, &normal, sizeof(float)*3); нормали += 3; aiVector3D uv = сетка->mTextureCoords[0][face.mIndices[j]]; memcpy(uvs, &uv, sizeof(float)*2); увс += 2; } } gleMesh load = {0,0,0,0}; если(глв3){ glGenBuffers(1, &load.vertex); glBindBuffer(GL_ARRAY_BUFFER, load.vertex); glBufferData(GL_ARRAY_BUFFER, sizeof(verts), verts, GL_STATIC_DRAW); glGenBuffers(1, &load.normal); glBindBuffer (GL_ARRAY_BUFFER, load.normal); glBufferData (GL_ARRAY_BUFFER, sizeof (uvs), uvs, GL_STATIC_DRAW); glGenBuffers(1, &load.uv); glBindBuffer (GL_ARRAY_BUFFER, load.uv); glBufferData (GL_ARRAY_BUFFER, sizeof (uvs), uvs, GL_STATIC_DRAW); load.numTris = трис; } еще{ load.vertex = glGenLists(1); glNewList(load.vertex, GL_COMPILE); интервал j = 0; for(unsigned int i = 0; i mNumFaces; i++){ glNormal3f(нормали[j], нормали[j+1], нормали[j+2]); glVertex3f(verts[j], verts[j+1], verts[j+2]); j+=3; } глКонецСписка(); } verts -= сетка->mNumFaces*3*3; нормали -= сетка->mNumFaces*3*3; uvs -= сетка->mNumFaces*3*2; aiReleaseImport (сцена); возвратная нагрузка; } Здесь я использую эту функцию:

int main(){ gleInit("Тест", GLFW_WINDOW, SCREEN_WIDTH, SCREEN_HEIGHT); mesh1 = gleLoadMesh("resource/model/test.blend"); while(!glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED)){ рисовать(); кэпФПС(); } gleQuit(); вернуть 0; } Самое странное то, что в зависимости от того, какой формат модели я выбираю для загрузки, я получаю сообщение об ошибке в другом месте, но ошибка всегда одна и та же. Я использую assimp версии 3.0 и Visual Studio 2010.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • 0xc0000005: Место для чтения доступа к нарушению доступа 0x00000000
    Anonymous » » в форуме C++
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • 0xc0000005: Место для чтения доступа к нарушению доступа 0x00000000
    Anonymous » » в форуме C++
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Необработанное исключение по адресу 0x00007FF77E25B2DD в program.exe: 0xC0000005: место чтения нарушения прав доступа 0x
    Гость » » в форуме C++
    0 Ответы
    91 Просмотры
    Последнее сообщение Гость
  • Как создать assimp .so в android ndk, я использую assimp 3.0
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как создать assimp .so в android ndk, я использую assimp 3.0
    Anonymous » » в форуме Android
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»