Я использую xcode с перенасыщением, OpenGL и C++, и я пытаюсь импортировать и нарисовать модель. Я использовал obj для преобразования файла .h, и это небольшая часть заголовка, чтобы вы могли видеть структуру.Рисунок модели из файла заголовка C++
unsigned int M4GunNumVerts = 37812;
GLfloat M4GunVerts [] = {
// f 1/1/1 1582/2/1 4733/3/1
{0.266494348503772, 0.0252334302709736, -0.000725898139236535},
{0.265592372987502, 0.0157389511523397, -0.000725898139236535},
{0.264890836474847, 0.0182004476109518, -0.00775888079925833},
Я попытался нарисовать это в своем главном с помощью этого кода.
glVertexPointer(3, GL_FLOAT, 0, M4GunVerts);
glNormalPointer(GL_FLOAT, 0, M4GunNormals);
glTexCoordPointer(2, GL_FLOAT, 0, M4GunTexCoords);
glDrawArrays(GL_TRIANGLES, 0, M4GunNumVerts);
Когда я бегу, я не могу видеть модель. Я создал окно с избытком и сделал треугольник, чтобы увидеть, рисуются ли фигуры, и появился треугольник. Я не знаю, как это исправить, поэтому я вижу модель.
Вот функция Reshape
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0, 0, w, h);
gluPerspective(45, ratio, 0.01, 1000);
glMatrixMode(GL_MODELVIEW);
Может кто-нибудь помочь?
Вы не предоставили достаточную информацию, чтобы ответить на этот вопрос. Координатные пространства очень важны в OpenGL, не зная ваших матриц проекции и модели, любое количество вещей может быть неправильным. Кроме того, вы не включили указатели массива вершин в минимальном фрагменте кода, который вы предоставили. Пожалуйста, предоставьте больше кода, который включает в себя обе эти вещи. –
Я включил точки массива вершин, но я не включил его.И я добавил код. –
@DavidGraovac: Пожалуйста, не используйте такие вещи, как конвертеры «obj to h». Вместо этого используйте библиотеку типа ASSIMP для загрузки данных модели из файла. – datenwolf