Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2011, 19:15   #1
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию Вращение камеры вокруг своей оси [OpenGL]

Потихоньку вспоминаю OpenGL. Реализовал некое подобие просмотра моделей. Теперь не могу вспомнить, а как же реализовать вращение вокруг себя. Вокруг модели - понятно и легко, а вокруг себя? Как в программах от первого лица.
Вот код тестового проекта (проекта, где я экспериментирую и вспоминаю) :
Линк (ибо не влез в сообщение)
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 09.04.2011, 20:20   #2
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

Ну дык сначала с помощью glRotate вращаешь на нужные углы, потом с помощью glTranslate перемещаешь камеру, теперь рисуешь. Можешь ещё тупо матрицу задавать glMultMatrix
RomiKon вне форума Ответить с цитированием
Старый 14.04.2011, 12:06   #3
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Говорят, что лучше юзать камеру на кватернионах (O_o). Если можно, расскажите вкратце, что это.
anyx вне форума Ответить с цитированием
Старый 14.04.2011, 13:24   #4
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

Ну как я понял кватернион задаёт поворот вокруг вектора. То есть это структура из четырёх вещественых чисел, три из которых задают вектор в пространстве а четвёртое угол поворота вокруг этого вектора. Хотя я может в чём ошибаюсь. Кватернионы не использовал.
RomiKon вне форума Ответить с цитированием
Старый 14.04.2011, 21:03   #5
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Лучше из-за того что передавать видеокарте в таком случае приходится гораздо меньше данных (4 float'a(rot) против 12-ти(mat4x3+rot+pos+scale) или 16ти(mat4x4))) ), чтобы не нагружать шину памяти "тоннами матриц" (анимация) а в некоторых случаях и лишними вычислениями - их сжимают в кватернионы, но обратная композиция матрицы из кватернионов производится уже в шейдере, поскольку видеокарты пока еще считают позицию точки опираясь на матричные преобразования.

Кватернион хранит вращение и как правило с ним рука об руку идет вектор позиции(pos) + может и вектор размерности (scale).
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поворот изображения вокруг своей оси во время движения по кругу вокруг центра AsaDorius Помощь студентам 1 15.12.2010 21:57
поворот точки вокруг оси NiCola999 Общие вопросы C/C++ 5 13.08.2010 13:19
Поворот каждого обьекта вокруг своей оси. vaflea Общие вопросы C/C++ 0 01.06.2010 14:18
Проблема с движением вокруг своей оси. intelx1989 Общие вопросы Delphi 3 14.05.2009 18:02
Вращение вокруг произвольно оси mens-evgenij Помощь студентам 3 21.03.2009 15:42