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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2008, 18:08   #1
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию Перспектива в Direct3D

Пишу программку с применением DirectX (что-то типа devastatora).
Самолетик летит по небушку, стреляет во всё что движется и т.д. (вид на всё это сверху).
Сломался на такой ерунде - отрисовываю модель самолетика в 3D пространстве на фоне текстуры небушка. Пока самолётик находится в центре экрана, всё нормально. Как только модель по ходу действия смещается к какому-нибудь краю экрана DirectX вносит в картинку искажения, эмулируя перспективу и все становится некрасивым (самолетик выглядит как бы повернутым вокруг осей x и y).
Пытался каким то образом повлиять на картинку при помощи матриц проекции и видовой. Но потбором различных значений плоскостей отсечения и коэффициента перспективы (матрица проекций) ничего не получил.
Может кто-нибудь подскажет как можно заставить DirectX не эмулировать перспективу ??
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 06.03.2008, 14:52   #2
theos
Форумчанин
 
Аватар для theos
 
Регистрация: 10.12.2007
Сообщений: 158
По умолчанию

Сделай матрицу проекции ортогональной.

|widthOfView 0 0 0 |
|0 heightOfView 0 0 |
|0 0 1/(zFar-zNear) zNear/(zNear-zFar) |
|0 0 0 1 |

Где widthOfView и heightOfView соотв. Ширина и высота экрана (пикс), а zFar и zNear - самые дальние и самые ближние выводимые z кординаты.

\
\
+------------ x
|\
| \
| \
| \
y z


Z - будет глубина

Последний раз редактировалось theos; 06.03.2008 в 14:59.
theos вне форума Ответить с цитированием
Старый 11.03.2008, 01:04   #3
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Сделал, всё, перспективы нету.
ТОлько теперь у меня чего-то с буфером глубины не то - некоторые дальние куски модели самолета видны перед ближними.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уроки по использованию Direct3D в Delphi Kostia Gamedev - cоздание игр: Unity, OpenGL, DirectX 32 23.02.2010 17:48
Direct3D: создание карт и ландшафтов challengerr Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 02.05.2009 02:15