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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пропорции изображения (DirectX), Как устранить искажение? 
:(
    Опции темы
xpromt
Дата 9.4.2009, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Начинаю изучать DirectX и возник один вопрос... на первый взгляд нубский...
При создании обычной сцены с вращающимся кубом (по книге Горнакова) все отлично получается... но когда начинаешь менять размеры окна, куб становится совсем не кубом... т.е. он пропорционально зависит от размера окна... Может, кто знает как этого избежать? Буду очень благодарен за подсказку...
PM MAIL   Вверх
C/L
Дата 10.4.2009, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть такая проблема, исправляется коректировкой параметров проекционной матрицы.

Добавлено через 3 минуты и 51 секунду
Код

    D3DXMATRIXA16 matProj;
    D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI / 4, (float)800/600, 1.0f, 100.0f );

Третий параметр функции D3DXMatrixPerspectiveFovLH - отношение сторон окна, куда идет проекция
PM MAIL WWW ICQ   Вверх
xpromt
Дата 10.4.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я так и знал, что я нуб  smile 
C/L спасибо огромное  smile 
ввел переменную, чтобы отношение не было фиксированным и в ней вычисляется отношение Ширины экрана к Высоте...
Код

Aspect=(float)GetSystemMetrics(SM_CXSCREEN)/(float)GetSystemMetrics(SM_CYSCREEN);

а потом эту переменную вставил как ты и написал
Код

D3DXMatrixPerspectiveFovLH(&MatrixProjection,D3DX_PI/4,Aspect,1.0f,100.0f);

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

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

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


 




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


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

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