![]() |
MacTep GLUT Rigid Body
MacTep GLUT Rigid Body
Пока я пытаюсь не уйти в запой, лечу горло и насморк и медленно стараюсь писать статью по шейдерам так, чтоб она была понятна не только мне, выкладываю пример реализации почти полноценной GLUT программы. Link to download - _http://slil.ru/25427820 Учебная реализация простейшей физики твердых тел. Осуществляется просчет действия центральной и угловых сил на объект произвольной формы, а так же модель его столкновений с плоскостью. Для корректного просчета физики предмета требуется его тензор инерции в виде матрицы 3х3. Для простоты и скорости учебного используется объект параллелепипеда. Описание системы: Операционная система - Windows/Unix(для *nix требуется небольшая правка описания типов и вывода в консоль) Графическая платформа - OpenGL Utility Toolkit. Тип моделей - OBJ(Maya OBJ files) Тип текстур - G24(2 byte - Widht, 2 byte - Heigth, 3 byte per point like BGR) Директория с текстурами - texture Директория с моделями - ttM Конфигурационный файл текстур - textures.dat Описание исходников: MAIN.CPP - главный файл. Инициализация GLUT, обработка клавиатуры и столкновений all.h - подключение всех необходимых файлов заголовков rbody.h - класс твердого тела matrix.h - класс работы с матрицами 3х3 maya.h - классы текстуры и Maya OBJ Model vmath.h - класс работы с векторами Описание интерфейса: W - WireFrame T - Up G - Down F - Left H - Right R - Back Y - Forward 1,2,3,4,5,6 - Rotation F2 - Fullscreen Z - Default position Space - Set null forces K - Set bounce to 1 L - Set bounce to 0 Сразу прошу прощения за кривой код, мелкие баги и отсутствие комментов. Писалось чисто для себя и под себя. Просто сейчас захотелось показать пример реализации. Позже будет выложена нормальная, не кривая реализация с просчетом столкновений для произвольных объектов между собой. А пока вам есть чем поиграться. Так что относимся к этому как к pre-alpha. Удачи! :) ЗЫ Для тех, кто просто хочет поиграться с программой, не лазая в сорцы лежит glut32.dll, glut.dll и, собственно, сам ехе`шник, но т.к. компилил 2005 вижуалкой, для корректной работы требуется пакет системных библиотек от microsoft. Берем тут - _http://slil.ru/25427805 |
| Время: 11:13 |