Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

OpenGL : Кватернионы повержены !   Найти похожие ветки 

 
diaz   (2003-04-23 11:54) [0]

Всем привет! Для тех, кто хочет создать игровой проект в OpenGL, предлагаю заглянуть на http://www.en.net.ua/diaz/delphi/opengl
Здесь Вы найдете инструменты, библиотеки и модули, которые облегчат Вам жизнь на этом не легком пути :-)
Выложена пока не вся информация, но в ближайшее время появится следующее :
1.Quaternions в OpenGL на Delphi!!! (этого ждали многие);
2.Библиотека для загрузки текстур, создание текстурных пакетов;
3.Создание моделей в 3DSMax, экспорт, оптимизация модели, создание модельных пакетов, влаживание текстур в файлы моделей, загрузка моделей;
4.Вариант создания шрифтов и печати текста в OpenGL(работает гораздо быстрее стандартных);
5.Интерактивный Direct Sound для OpenGL (также с использованием quaternions в управлении звуком);
6.Примеры на разные темы OpenGL.
Всем успехов и добро пожаловать.


 
Ilyasim ©   (2003-04-23 15:40) [1]

Спасибо огромное!!!


 
Ilyasim ©   (2003-04-24 03:09) [2]

Первый ответ-первый вопрос :)
как реализовать функцию
glrotatef(90,0,0,0);
кватернионами?

Спасибо


 
diaz   (2003-04-24 03:44) [3]

если запустишь так, как ты ее тут прописал, то ничего не произойдет. твоя запись означает - поворот на 90 грд вокруг никакой оси.
работать будет только так:
GLRotatef(90,1,0,0); - поворот вокруг оси Х на 90 грд.
GLRotatef(90,0,1,0); - поворот вокруг оси Y на 90 грд.
GLRotatef(90,0,0,1); - поворот вокруг оси Z на 90 грд.
и так:
GLRotatef(90,1,1,1); - поворот вокруг осей Х,Y,Z на 90 грд.
Кватернионы тут не нужны.
если я не понял вопроса, то пожалуйста поконкретнее.


 
cyborg ©   (2003-04-24 08:19) [4]

А что такое кватерионы? :)
Написано о прорыве кватерионов, а что это такое не написано ;).


 
Хранитель_7К   (2003-04-24 09:13) [5]

Да хотелось бы поподробней, с чем их употреблять.
А то я название слышал, может и мне пригодятся.


 
pasha676   (2003-04-24 10:34) [6]


> Создание моделей в 3DSMax, экспорт, оптимизация модели,
> создание модельных пакетов, влаживание текстур в файлы моделей,
> загрузка моделей;

Что то этого я не увидел на сайте. Как впрочем и звуков. А так вроде многообещающе. Надо конечно качнуть, посмотреть.


 
diaz   (2003-04-24 16:17) [7]

всем привет. я же написал выше "в ближайшее время появится".
готова почти вся инфа, но ее нужно подготовить,
чтобы было нагляднее и понятнее.
насчет кватернионов. подразумевается, что люди знают что это такое. моя цель - не вводить в сабж, а дать конкретные примеры.
если интересно что это такое, то на моем сайте в разделе QUATERNIONS есть поверхностное описание. а также можно скачать
quat_info.zip(инфа на английском). в двух словах: кватернионы расширяют возможности работы с матрицами в OpenGL и DirectX.
стандартные методы такого не могут.


 
Ilyasim ©   (2003-04-25 01:33) [8]

2 diaz:
Сорри, моя ошибка :)
А можешь прописать всё, как работать с кватернионами от рождения до смерти? :)

То есть:
Var quaternion:TQuat;

begin
quaternion.create; //или как его там делать...
...тут чёто ещё
...повернуть объект по оси Z кватернионами.
quaternion.destroy; //убить :)
end; //надеюсь для этой строки комментариев не надо :)


 
diaz   (2003-04-25 03:38) [9]


> А можешь прописать всё, как работать с кватернионами от
> рождения до смерти?

на это уйдет много времени. мне потребовалось несколько месяцев
на чтобы все это схавать. для начала ты должен научиться свободно управляться с матрицами без использования кватернионов: glLoadIdentity, glLoadMatrix, glMatrixMode, glMultMatrix, glOrtho, glRotate, glScale, glTranslate - стандартные процедуры,а потом двигаться дальше. есть хорошая книга автор Э.Эйнджел "интерактивная компьютерная графика. вводный курс на базе opengl", и в инете можно многое найти.

> ...повернуть объект по оси Z кватернионами.

закачай с моего сайта пример "tquat_2.zip", открой модуль "Ship_unit.pas", найди в нем строку
"Ship[a].Q.QRot(Stab*Ship[a].RotSpeed.x, Stab*Ship[a].RotSpeed.y, 0); // !!!!!!!"
и измени ее на
"Ship[a].Q.QRot(Stab*Ship[a].RotSpeed.x, Stab*Ship[a].RotSpeed.y, Stab*Ship[a].RotSpeed.y*10); // !!!!!!!"
запусти и посмотри что получиться. корабли будут очень быстро вращаться вокруг оси z (в 10 раз быстрее, чем вокруг оси y).
пробуй.



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
1-98653
Virus
2003-10-17 08:23
2003.10.30
Как обоити все компоненты


8-98744
Dankin
2003-07-01 03:28
2003.10.30
Как побороть мерцание?


7-98897
Novenkij
2003-08-18 22:31
2003.10.30
Вопрос по CD


1-98654
Zilog
2003-10-17 11:32
2003.10.30
Хочу создать поток на методе класса


1-98536
ZnKi
2003-10-20 18:06
2003.10.30
Главное меню...