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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 17:28   #1
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию Непонятки с DirectX (матрица поворота, камера, матрица проекции)

Возник вопрос по DirectX, точнее по матрицам

Вопрос 1:
Код:
    D3DXMATRIXA16 matWorld;

    UINT  iTime  = timeGetTime() % 10000;
    FLOAT fAngle = iTime * (2.0f * D3DX_PI) / 10000.0f;
    D3DXMatrixRotationY( &matWorld, fAngle );
    g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
В данный момент происходит вращение вокруг оси Y.

Мне не понятна сама структура матрицы matWorld (что есть что) и, соответственно, не понятно как смещать ось вращения.

Вопрос 2:
Код:
    D3DXVECTOR3 vEyePt( 0.0f, 0.0f, 5.0f );
    D3DXVECTOR3 vLookatPt( 0.0f, 0.0f, 0.0f );
    D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
    D3DXMATRIXA16 matView;
    D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
    g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
Не понятно, что за векторы в первых трех строках (точнее не понятно какой вектор чем именно является).

Вопрос 3:

Код:
    D3DXMATRIXA16 matProj;
    D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f );
    g_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
В статье было сказано, что это матрица проекции. Что такое матрица проекции и зачем она нужна?
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 17.09.2010, 15:43   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

А можно ссылочку на ту статью?

Вроде как элементарный рендеринг — визуализация объёмных тел на плоскости (экрана).
Sasha_Smirnov вне форума Ответить с цитированием
Старый 17.09.2010, 17:00   #3
ThisIzGame
Форумчанин
 
Регистрация: 31.08.2009
Сообщений: 161
По умолчанию

Я тоже не так давно начал изучать DirectX 10, поэтому за точность своих ответов не ручаюсь...

Цитата:
В статье было сказано, что это матрица проекции. Что такое матрица проекции и зачем она нужна?
Матрица проекции, насколько я знаю, отвечает за правильное преобразование трехмерной сцены в итоговое изображение
Цитата:
Не понятно, что за векторы в первых трех строках (точнее не понятно какой вектор чем именно является).
D3DXVECTOR3 vEyePt - хранит координаты камеры в пространстве
D3DXVECTOR3 vLookatPt - координаты точки, на которую направлена камера
D3DXVECTOR3 vUpVec - сам не знаю
ThisIzGame вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Камера DirectX sfok3 Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.02.2012 21:05
матрица Babur4iK Помощь студентам 1 11.11.2009 17:53
Матрица вращения DirectX k1r1ch Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 18.09.2009 19:48
Камера от третьего лица в DirectX Pedro Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 08.04.2009 15:51
Матрица СИ ++ Pasha9 Помощь студентам 5 16.03.2009 01:41