Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> glOrtho 
:(
    Опции темы
Mamont
Дата 20.1.2005, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 9.1.2005

Репутация: нет
Всего: нет



Что осуществляет функция glOrtho? Заранее благодарен...
PM MAIL ICQ   Вверх
DENNN
Дата 20.1.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Она формирует проективную матрицу таким образом, что ты получаеш ортогональные преобразования своего пространства на плоскость эрана smile
Короче, рисунки буду такие же, как в учебнике по геометрии - без эффекта перспективы.
PM ICQ   Вверх
Mamont
Дата 20.1.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 9.1.2005

Репутация: нет
Всего: нет



Ещё вопрос! Привелите пожалуйста описание функции gluLookAt(). И можно ли с помощью неё направить камеру в центр начала координат если да то как? Благодарю...
PM MAIL ICQ   Вверх
DENNN
Дата 20.1.2005, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



а что документацию читать уже не получается? smile
Цитата

MSDN
The gluLookAt function defines a viewing transformation.

void gluLookAt(
  GLdouble eyex,
  GLdouble eyey,
  GLdouble eyez,
  GLdouble centerx,
  GLdouble centery,
  GLdouble centerz,
  GLdouble upx,
  GLdouble upy,
  GLdouble upz
);
Parameters
eyex, eyey, eyez
The position of the eye point.
centerx, centery, centerz
The position of the reference point.
upx, upy, upz
The direction of the up vector


Код

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluLookAt(10.0, 10.0, 10.0,
0.0, 0.0, 0.0,
0.0, 1.0, 0.0);

Теперь счастлив? smile
PM ICQ   Вверх
Mamont
Дата 23.1.2005, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 9.1.2005

Репутация: нет
Всего: нет



Не счастлив! smile .

Код

glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho(-1,12, -1,12, 2,20);
gluLookAt(10.0,10.0,10.0, 0.0,0.0,0.0, 0,1,0);



При таком коде центр координат, почему-то, находится в левом нижнем углу формы.
PM MAIL ICQ   Вверх
MaxB
Дата 24.1.2005, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 10.2.2004
Где: Украина, Одесса

Репутация: нет
Всего: 1



Пробуй так: glOrtho( -6, 6, -6,6, -11, 11);

Это сообщение отредактировал(а) MaxB - 24.1.2005, 13:21
PM MAIL WWW ICQ   Вверх
DENNN
Дата 24.1.2005, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



И не будет работать. Я же говорю: "читай документацию".
Цитата

void glOrtho(
  GLdouble left,
  GLdouble right,
  GLdouble bottom,
  GLdouble top,
  GLdouble zNear,
  GLdouble zFar
);
Parameters
left, right
The coordinates for the left-and right-vertical clipping planes.
bottom, top
The coordinates for the bottom- and top-horizontal clipping planes.
zNear, zFar
The distances to the nearer and farther depth clipping planes. These distances are negative if the plane is to be behind the viewer.

А у тебя что получается?
zNear=2
zFar=20

А ты хочешь увидеть точку (0,0,0). Перемножь матрицы и сам увидишь что получится.
PM ICQ   Вверх
Mamont
Дата 23.2.2005, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 9.1.2005

Репутация: нет
Всего: нет



Используем:

glOrtho(-12,12, -12,12 ,-12,12);
gluLookat(5,5,5 ,0,0,0 ,0,0,0);
....
gluSphere(qdr,3,20,20);

1 первая команда, так понимаю, выделяет пространство в виде куба с началом координат в его центре.

2 Второй командой мы направляем камеру в начало координат.

3 Чертим в начале координат сферу.

Результат: Сфера не отображается либо камера не направлена в начало координат (или в точку 0,0,0). Ваши соображения?Спасибо...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.