Рисуем модель из obj-файлаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Рисуем модель из obj-файла

Сообщение Anonymous »

Я пытаюсь написать программу просмотра объектов с помощью openGl. Эта программа должна рисовать только линии граней модели, поэтому мне нужно загрузить:
  • вершины: иногда в 3D, иногда в 4D;< /li>
    faces: индексные списки произвольной длины;
Теперь я загружаю только obj-файл со По 3 элемента на грань, поэтому я могу нарисовать элемент в GL_TRIANGLE. режиме, но с некоторыми моделями у меня возникают проблемы:

http://people.sc.fsu.edu/~jburkardt/dat ... hedron.obj

Фаза загрузки, кажется, работает хорошо, я думаю, проблема в функции render():

Код: Выделить всё

static void render(void)
{
glClearColor( 0.0f, 0.0f, 0.0, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);

glBindBuffer(GL_ARRAY_BUFFER, g_resources.vertex_buffer);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(
3,                                /* size */
GL_FLOAT,                         /* type */
3*sizeof(GLfloat),                /* stride */
(void*)0                          /* array buffer offset */
);

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, g_resources.element_buffer);

glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);

glDrawElements(
GL_TRIANGLES,           /* mode */
theModel->face.size(),  /* count */
GL_UNSIGNED_INT,        /* type */
(void*)0                /* element array buffer offset */
);

glDisableClientState(GL_VERTEX_ARRAY);

glutSwapBuffers();
}
У меня также есть несколько вопросов:
  • Индексы начинаются с 1 или 0 ?
  • что насчет перечисления индексов? Это по часовой стрелке?
  • Хорошо ли это триангулировать грани с более чем тремя индексами?


Подробнее здесь: https://stackoverflow.com/questions/101 ... m-obj-file
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Рисуем параллельные линии черепахой
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Необъявленный идентификатор «nullptr» и ошибка Obj-C при использовании библиотеки Obj-C в Swift
    Anonymous » » в форуме C++
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • «equals(Object obj)» следует переопределить вместе с методом «compareTo(T obj)».
    Anonymous » » в форуме JAVA
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • C++ QT Копирование объектов QList в другой QList
    Anonymous » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • C++ QT Копирование объектов QList в другой QList
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

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