Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
1-98635
Kein
2003-10-15 16:41
2003.10.30
проверка пароля при входе


1-98696
col-isaev
2003-10-20 17:09
2003.10.30
Panel


1-98580
stranniks
2003-10-17 20:44
2003.10.30
И снова combobox


1-98650
dor
2003-10-17 12:30
2003.10.30
TWebBrowser


4-98918
k@rt
2003-08-25 14:12
2003.10.30
Как отловить изменение размера окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский