Методика использования OBJ-файлов при создании программ с использованием OpenGL
Создание трехмерной многополигональной модели в программе 3D–моделирования, с последующем экспортом ее в OBJ–файл. Особенности создания массива вершин непосредственно в блоке отрисовки программы. Импортирование сложных много полигональных моделей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 12.04.2019 |
Размер файла | 14,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Волжский политехнический институт (филиал) ФГБОУ ВПО "Волгоградский государственный технический университет" Волжский, Россия
Методика использования OBJ-файлов при создании программ с использованием OpenGL
студент Пивнев Дмитрий Александрович, научный руководитель Абрамова О. Ф.
Данная статья посвящена студентам, или людям которые только начали создавать программы с участием графической библиотеки OpenGL, а так же возможно и добавит знания более продвинутым пользователям этой библиотеки. трехмерный программа моделирование экспорт
Знакомясь с возможностями OpenGL я, по началу, делал примитивные сценки в двухмерном пространстве, треугольники, квадратики, кружочки. Потом начал осваивать трехмерную графику. И для этого начал подключать библиотеки Glut.dll и Glax.dll. В них есть готовые трехмерные объекты, необходимые для создания примитивных трехмерных сцен. Дальше должен был идти шаг использования более сложных 3д моделей, содержащих большое количество вершин, так как возможности OpenGL позволяют создавать многополигональные модели и их анимацию. И тут образовалась проблема: по вершинам сложную фигуру самостоятельно не нарисуешь, а созданные объекты в программах 3D - моделирования в компилятор системы импортировать не получалось.
В итоге было найдено решение: создавать трехмерную многополигональную модель в программе 3D - моделирования, с последующем экспортом ее в OBJ - файл, а уже потом использование этого файла при создании кода в компиляторе. Для создания трехмерных моделей подойдет, например, программа 3ds max.
Рассмотрим подробнее технологию использования данной методики. После экспортирования трехмерной модели в OBJ - файл, находим его расположение и открываем файл обычным текстовым редактором, например, блокнот в операционной системе Windows подойдет для решения этой задачи, и видим много непонятных строк созданных программой 3D - моделирования. Пример:
# object Box001 v -20.5222 -66.0265 24.0229 v -20.5222 -66.0265 -23.1880 v 21.2079 -66.0265 -23.1880 v 21.2079 -66.0265 24.0229
# 4 vertices
В данном случае в примере изображены координаты вершин объекта, они помечаются буквой «v», так же в файле могут содержаться векторы нормали «vn» и координаты текстур «vt». Все это можно использовать в собственной программе при грамотном внедрении в код.
Использовать координаты вершин можно различными способами:
1) создать массив вершин непосредственно в блоке отрисовки программы, где через запятую перечислить вершины точек слева на право, пример:
static GLfloat pVerts[]= {
-20.5222, -66.0265, 24.0229, -20.5222, -66.0265, -23.1880,21.2079, -
66.0265, -23.1880, 21.2079, -66.026, 24.0229
}
glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3,GL_FLOAT,0,pVerts);
2) вынести массив в отдельный заголовочный H - файл, подключенный к основной программе, например:
Vertex.h void Verts() { glBegin (GL_QUADS);
glVertex3f( -20.5222, -66.0265, 24.0229); glVertex3f(-20.5222, -66.0265, -23.1880); glVertex3f(21.2079, -66.0265, -23.1880); glVertex3f(21.2079, -66.0265, 24.0229);
glEnd();
}
Тот же метод применяется к нормалям и текстурам объекта.
Таким образом, возможно использование OBJ - файла для создания более сложных графических 3D -сцен с помощью библиотеки OpenGL.
Импортирование сложных много полигональных моделей даст волю вашему творчеству, и направит на создание чего- то большего, чем примитивные треугольники и квадратики.
Список источников
1. Абрамова О.Ф., Котов В. В. К вопросу об импорте 3D моделей в программы с использованием графической библиотеки OpenGL [Электронный ресурс] / Котов В. В., Абрамова О.Ф. // Современная техника и технологии. - 2014. - № 1. - C. Режим доступа : http://technology.snauka.ru/2014/01/2965.
2. Абрамова О. Ф. Использование мультимедийных технологий в процессе обучения дисциплине «Компьютерная графика»// О. Ф. Абрамова, С. В. Белова// Журнал «Успехи современного естествознания» №3, 2012 год, стр. 90-91
3. Трифанов А.И., Абрамова О.Ф. Реализация собственного метода визуализации водной поверхности «скользящая текстура» // «Современные наукоёмкие технологии». - 2013. - № 8 (ч. 1). - C. 96-97
4. Абрамова О. Ф., Компьютерная графика : конспект лекций для студентов направлений 230100.62 "Информатика и вычислительная техника" и 231000.62 "Программная инженерия" [Электронный ресурс] // ВПИ (филиал) ВолгГТУ // Учебные пособия : сб. Серия "Естественнонаучные и технические дисциплины". Вып. 3. - 1электрон. опт. диск (CD-ROM), формат pdf. - Волжский, 2012. - 165 с.
Размещено на Allbest.ru
...Подобные документы
Разработка трехмерной модели приложения "Гоночный автомобиль" на языке С++ с использованием библиотеки OpenGL и MFC, создание программы в среде Visual Studio 6.0. Информационное обеспечение, логическая структура и функциональная декомпозиция проекта.
курсовая работа [3,9 M], добавлен 29.06.2011Создание программы на языке C++ с использованием графических библиотек OpenGL в среде Microsoft Visual Studio. Построение динамического изображения трехмерной модели объекта "Нефтяная платформа". Логическая структура и функциональная декомпозиция проекта.
курсовая работа [1,8 M], добавлен 23.06.2011Программирование приложения с использованием библиотеки OpenGL и функции для рисования геометрических объектов. Разработка процедуры визуализации трехмерной сцены и интерфейса пользователя. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [1,1 M], добавлен 23.06.2011Суть программирования с использованием библиотеки OpenGL, его назначение, архитектура, преимущества и базовые возможности. Разработка приложения для построения динамического изображения трехмерной модели объекта "Компьютер", руководство пользователя.
курсовая работа [866,8 K], добавлен 22.06.2011Основы программирования с использованием библиотеки OpenGL. Приложение для построения динамического изображения модели объекта "Батискаф": разработка процедуры визуализации трехмерной схемы, интерфейса пользователя и подсистемы управления событиями.
курсовая работа [1,4 M], добавлен 26.06.2011Основные компоненты среды Delphi, используемые в программе для сжатия и восстановления файлов. Код программы, разбивка массива на промежутки. Проверка определенных элементов кодовых слов. Поиск кодовых слов в остатке. Результаты тестирования приложения.
курсовая работа [94,1 K], добавлен 19.12.2010Общие сведения о OpenGL и его использование для разработки логотипа. Разработка программы: функции, их использование в программе. Построение модели и возможность перемещения объектов. Задание освещения объектов моделирования и проработка элементов фона.
курсовая работа [447,7 K], добавлен 14.07.2012Анализ существующих программ трехмерного моделирования. Сравнение программ для создания трехмерной графики. Технологии трехмерного моделирования в Cinema 4D. Проект создания текстовой анимации на основе инструментов "Organicball", "Formula" и "Cloud".
дипломная работа [2,4 M], добавлен 14.11.2017История создания GIMP и особенности программы. Сравнение векторной и растровой графики. Определение основных понятий: цветовые модели, разрешение изображения и его размер. Возможности использования GIMP для открытия файлов и загрузки изображений.
курсовая работа [756,5 K], добавлен 10.11.2011Значение вербальных и знаковых информационных моделей для исследования объектов, процессов, явлений. Роль метода формализации в процессе создания компьютерной модели. Использование программы AutoCAD для трехмерного моделирования и визуализации объекта.
курсовая работа [866,5 K], добавлен 08.01.2015Функциональные возможности библиотеки OpenGL. Разработка процедуры визуализации трехмерной сцены, интерфейса пользователя и подсистемы управления событиями с целью создания приложения для построения динамического изображения 3D-модели объекта "Самолет".
курсовая работа [1,7 M], добавлен 28.06.2011Виды архиваторов. Использование программ, сжимающих один или несколько файлов в единый файл-архив. Размещение информации на носителях внешней памяти в более компактном виде. Создание самораспаковывающегося архива. Процесс сжатия текстовых файлов.
презентация [492,6 K], добавлен 22.12.2014Возможности библиотеки OpenGL, создание матрицы и эффекта тумана. Разработка процедуры визуализации трехмерной модели "Корабль", интерфейса пользователя и подсистемы управления событиями. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [507,2 K], добавлен 02.07.2011Изучение понятия архивации, сжатия файлов с целью экономии памяти и размещения сжатых данных в одном архивном файле. Описания программ, выполняющих сжатие и восстановление сжатых файлов в первоначальном виде. Основные преимущества программ-упаковщиков.
контрольная работа [534,7 K], добавлен 11.01.2015Понятие двумерного массива целых чисел. Создание динамического массива из элементов, расположенных в четырех столбах данного массива и имеющих нечетное значение. Сохранение результатов в файл и выведение их на экран. Использование ввода с файла.
курсовая работа [44,0 K], добавлен 09.11.2014Базовые приемы работы при создании трехмерной модели в пакете Компас. Абсолютная система координат, координатные плоскости. Управление изображением, цветом и свойствами поверхности объектов. Этапы процесса разработки трехмерной модели "Форма для льда".
курсовая работа [963,3 K], добавлен 11.06.2012Основные понятия и назначение технологии JavaBeans, ее компоненты и принцип работы, преимущества. Методика создания jar файлов в среде Eclipse. Структура файлов манифеста. Создание многопоточных приложений. Изучение визуального редактора Java BeanBox.
лабораторная работа [67,4 K], добавлен 30.06.2009Изучение применения трёхмерного моделирования и анимации при создании статической рекламы, динамических заставок для телеканалов, моделирования катастроф, в компьютерных играх. Характеристика создания моделей с помощью модификаторов Edit Poly, Edit Mesh.
практическая работа [4,0 M], добавлен 29.09.2011Преимущества использования библиотеки ОpеnGL для создания программ с применением технологий трехмерной графики. Прорисовка основных частей модели лунохода, разработка интерфейса пользователя. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [261,3 K], добавлен 02.07.2011Характеристика работы архиватора - компьютерной программы, которая осуществляет сжатие данных в один файл архива для более легкой передачи, компактного их хранения. Особенности процесса архивирования - записи файлов и разархивирования - открытия файлов.
реферат [216,5 K], добавлен 26.03.2010