OpenGL
От: Gipsy01  
Дата: 22.02.07 14:50
Оценка:
Здравствуйте.
Была использована одноточечная перспективная. а не плоская проекция. Но картина не устраивает тем, что прямые не лежащие в плоскости просмотра имеют точку пересечения в перпетиве (точку схода) слишком близко от ближней плоскоти, поэтому создается нереалистчная картина наклона объектов на рассматриваемой поверхности. Хотелось бы отодвунуть точку схода подальше от плоскости, при этом не меняя собственное местоположение.
Заранее спасибо.

26.02.07 16:15: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: OpenGL
От: Аноним  
Дата: 22.02.07 16:14
Оценка:
Здравствуйте, Gipsy01, Вы писали:

G>Здравствуйте.

G>Была использована одноточечная перспективная. а не плоская проекция. Но картина не устраивает тем, что прямые не лежащие в плоскости просмотра имеют точку пересечения в перпетиве (точку схода) слишком близко от ближней плоскоти, поэтому создается нереалистчная картина наклона объектов на рассматриваемой поверхности. Хотелось бы отодвунуть точку схода подальше от плоскости, при этом не меняя собственное местоположение.
G>Заранее спасибо.

Настрой соответсвенно параметры перспективной проекции в функциях glFrustum или gluPerspective.
Re[2]: OpenGL
От: Gipsy01  
Дата: 26.02.07 09:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Gipsy01, Вы писали:


G>>Здравствуйте.

G>>Была использована одноточечная перспективная. а не плоская проекция. Но картина не устраивает тем, что прямые не лежащие в плоскости просмотра имеют точку пересечения в перпетиве (точку схода) слишком близко от ближней плоскоти, поэтому создается нереалистчная картина наклона объектов на рассматриваемой поверхности. Хотелось бы отодвунуть точку схода подальше от плоскости, при этом не меняя собственное местоположение.
G>>Заранее спасибо.

А>Настрой соответсвенно параметры перспективной проекции в функциях glFrustum или gluPerspective.


Пробовал:
С gluPerspective
первый параметр — (угол) дает увеличение
второй (соотношенеие) — зависит от размера экрана и его менять нельзя
третий, а также четвертый (ближняя и далбняя плоскости) — задают размеры видимого пространсваю
С glFrustum аналогично, только параметров больше.
Где же здесь кривизна?
Re[3]: OpenGL
От: Аноним  
Дата: 26.02.07 10:36
Оценка:
Здравствуйте, Gipsy01, Вы писали:

G>Пробовал:

G>С gluPerspective
G>первый параметр — (угол) дает увеличение
G>второй (соотношенеие) — зависит от размера экрана и его менять нельзя
G>третий, а также четвертый (ближняя и далбняя плоскости) — задают размеры видимого пространсваю
G>С glFrustum аналогично, только параметров больше.
G>Где же здесь кривизна?

Не совсем понятно, в чем проблема. О какой кривизне ты говоришь? Может небольшой скриншот все разъяснит? Ну и покажи чтоль как устанавливаешь матрицу проекции.
Re[4]: OpenGL
От: Аноним  
Дата: 26.02.07 11:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Gipsy01, Вы писали:


G>>Пробовал:

G>>С gluPerspective
G>>первый параметр — (угол) дает увеличение
G>>второй (соотношенеие) — зависит от размера экрана и его менять нельзя
G>>третий, а также четвертый (ближняя и далбняя плоскости) — задают размеры видимого пространсваю
G>>С glFrustum аналогично, только параметров больше.
G>>Где же здесь кривизна?

А>Не совсем понятно, в чем проблема. О какой кривизне ты говоришь? Может небольшой скриншот все разъяснит? Ну и покажи чтоль как устанавливаешь матрицу проекции.


Вот скрииншот ( http://rsdn.ru/File/63790/image.JPG )
А код задания проекции

///////////////////////////////////////////////
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective(60.0, m_sizeWin.cx / m_sizeWin.cy , 0.001, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt( coord1, coord2, 0.1, coord1, coord2, 0, 0, 1, 0);
/////////////////////////////////////////////////

То что изображено — мне они напоминаю Пизанскую башню

Если что-то еще нужно — пиши на ICQ № 457-470-774 или в форум
Re[5]: OpenGL
От: hobby  
Дата: 26.02.07 12:47
Оценка:
Здравствуйте, Gipsy01, Вы писали:

G>>>Пробовал:

G>>>С gluPerspective
G>>>первый параметр — (угол) дает увеличение
G>>>второй (соотношенеие) — зависит от размера экрана и его менять нельзя
G>>>третий, а также четвертый (ближняя и далбняя плоскости) — задают размеры видимого пространсваю
G>>>С glFrustum аналогично, только параметров больше.
G>>>Где же здесь кривизна?

уменьшай угол. это не увеличение, это половина панорамы обзора. 120 градусов сильно круто.

поставь 45 вместо 60.
Re[6]: OpenGL
От: Gipsy01  
Дата: 26.02.07 13:25
Оценка:
Здравствуйте, hobby, Вы писали:

H>Здравствуйте, Gipsy01, Вы писали:


G>>>>Пробовал:

G>>>>С gluPerspective
G>>>>первый параметр — (угол) дает увеличение
G>>>>второй (соотношенеие) — зависит от размера экрана и его менять нельзя
G>>>>третий, а также четвертый (ближняя и далбняя плоскости) — задают размеры видимого пространсваю
G>>>>С glFrustum аналогично, только параметров больше.
G>>>>Где же здесь кривизна?

H>уменьшай угол. это не увеличение, это половина панорамы обзора. 120 градусов сильно круто.


H>поставь 45 вместо 60.

Поставил, просто вижу меньше, но углы те же.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.