ПРОГРАМИРУЕМ 3D ГРАФИКУ ИСПОЛЬЗУЯ DirectX


DirectSD - часть 8


b = m_pDD-»SetFullScreenMode (GetSafeHwnd () , m_pTI-»iWidth,

nrMJnnwauiJQ n'mCtf-al ^vH^ ^14

m_pTI-»iHeight,

m pTI-»iBpp) ;

} else { b = m_pDD-»SetWindowedMode (GetSafeHwndO ,

m_pTI-»iWidth,

m_pTI-»iHeight) ;

} ASSERT(b) ;

Практически это тот же самый код, что и в примере DDEval. Он создает первичный и вторичный буфера и при необходимости — палитру. Теперь давайте рассмотрим оставшуюся часть подготовительного кода.

// Создать объект Direct3D на основе поверхностей

DirectDraw m_pD3D = new CDirect3D();

b = m_ D3D-»Create (m_pDD) ;

ASSERT(0);

/ / Задать режим освещения. При этом также назначается // аппаратный или программный драйвер и создается Z-буфер if (pti-»iLightMode ==1) (

b = m_pD3D-»SetMode(D3DCOLOR_MONO) ;

} else {

b = m_pD3D-»SetMode(D3DCOLOR_RGB) ;

} ASSERT(b) ;

// Получить указатели на интерфейсы механизма D3D

// и устройства

m_pIEngine = m pD3D-»GetD3DEngine () ;

ASSERT(m_pI Engine);

m_pIDevice = m_pD3D-»GetD3DDevice () ;

ASSERT(m_pIDevice) ;

Объект Direct3D создается на основе буферов DirectDraw. По выбранному режиму освещения определяется нужный модуль освещения. Наконец, мы получаем указатели на интерфейсы выбранного механизма Direct3D и устройства. Эти интерфейсы применяются для создания всех остальных объектов и управления

ими.

// Создать ракурс

HRESULT hr = m_pIEngine-»CreateViewport(&m_pIViewport, NULL) ;

ASSERT(SUCCEEDED(hr));

ASSERT(m_pIViewport) ;

// Присоединить ракурс к устройству 314 йЦГ Глава 13. Direct3D

hr = m_pIDevice-»AddViewport (m_pIViewport) ;

ASSERT(SUCCEEDED(hr));

Созданный объект ракурса закрепляется за устройством. Последнее может содержать несколько ракурсов, но в нашей программе используется только один.

// Задать конфигурацию ракурса.

// Примечание: Некоторые действия связанные с выбором

// масштабных коэффициентов и т. -д.,

// будут повторно выполнены

// позднее, при настройке проекционной матрицы.

D3DVIEWPORT vd;

memsetl&vd, 0, sizeof(vd));

vd.dwSize = sizeof(vd); // Размер структуры




Начало  Назад  Вперед



Книжный магазин