PDA

Просмотр полной версии : MacTep GLUT Rigid Body


MacTep
01.02.2008, 20:59
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