Составители:
Рубрика:
13
− переменную типа D3DDISPLAYMODE— это структура, в которую будет
записан результат работы.
После выполнения метода GetAdapterDisplayMode текущий формат пиксела
можно
определить через свойство Format структуры D3DDISPLAYMODE.
Устанавливаем параметры представления, которые специфичны для
оконного режима:
d3dpp.BackBufferFormat = d3ddm.Format;
d3dpp.SwapEffect = D3 DSWAPE FFECT_DIS CARD;
d3 dpp.Windowed = TRUE;
Здесь мы устанавливаем формат пиксела, эффект переключения между
буферами и указываем на необходимость использования оконного режима. Для
оконных приложений оптимальным будет применение переключения между
буферами D3DSWAPEFFECT_DISCARD. Однако вы должны учитывать, что
задний буфер при этом сбрасывается.
Далее снова идет код, который идентичен для обоих режимов. Мы
сформировали такую большую структуру представления ради создания
устройства Direct3D. В этот момент будут созданы дополнительные буферы, и
если установлен полноэкранный режим, то произойдет переключение режима в
соответствии с выбранными параметрами.
Для создания Direct3D-устройства используется метод CreateDevice
интерфейса iDirect3D, который мы инициализировали в самом начале. В общем
виде метод выглядит следующим образом:
HRESULT CreateDevice( UINT Adapter, D3DDEVTYPE DeviceType,
HWND hFocusWindow, DWORD BehaviorFlags,
D3DPRESENT_PARAMETERS *pPresentationParameters,
IDirect3DDevice9** ppReturnedDevicelnterface
) ;
Устройство создано, и мы готовы к работе, но еще желательно настроить
параметры камеры. Для этого используется функция
D3DXMatrixPerspectiveFovLH, которая в общем виде выглядит следующим
образом:
D3DXMATRIX* D3DXMatrixPerspectiveFovLH( D3DXMATRIX* pOut,
FLOAT fovy, FLOAT Aspect,
FLOAT zn, FLOAT zf
) ;
Рассмотрим параметры этой функции:
− pout — указатель на структуру D3DXMATRIX, через которую мы
получим результат работы;
− fovy — угол обзора;
− Aspect — соотношение сторон;
− zn— расстояние до ближней плоскости отсечения. Все, что находится
ближе, считается невидимым;
− zf— расстояние до дальней плоскости отсечения. Все, что находится
дальше, считается невидимым.
− переменную типа D3DDISPLAYMODE— это структура, в которую будет записан результат работы. После выполнения метода GetAdapterDisplayMode текущий формат пиксела можно определить через свойство Format структуры D3DDISPLAYMODE. Устанавливаем параметры представления, которые специфичны для оконного режима: d3dpp.BackBufferFormat = d3ddm.Format; d3dpp.SwapEffect = D3 DSWAPE FFECT_DIS CARD; d3 dpp.Windowed = TRUE; Здесь мы устанавливаем формат пиксела, эффект переключения между буферами и указываем на необходимость использования оконного режима. Для оконных приложений оптимальным будет применение переключения между буферами D3DSWAPEFFECT_DISCARD. Однако вы должны учитывать, что задний буфер при этом сбрасывается. Далее снова идет код, который идентичен для обоих режимов. Мы сформировали такую большую структуру представления ради создания устройства Direct3D. В этот момент будут созданы дополнительные буферы, и если установлен полноэкранный режим, то произойдет переключение режима в соответствии с выбранными параметрами. Для создания Direct3D-устройства используется метод CreateDevice интерфейса iDirect3D, который мы инициализировали в самом начале. В общем виде метод выглядит следующим образом: HRESULT CreateDevice( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS *pPresentationParameters, IDirect3DDevice9** ppReturnedDevicelnterface ) ; Устройство создано, и мы готовы к работе, но еще желательно настроить параметры камеры. Для этого используется функция D3DXMatrixPerspectiveFovLH, которая в общем виде выглядит следующим образом: D3DXMATRIX* D3DXMatrixPerspectiveFovLH( D3DXMATRIX* pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf ) ; Рассмотрим параметры этой функции: − pout — указатель на структуру D3DXMATRIX, через которую мы получим результат работы; − fovy — угол обзора; − Aspect — соотношение сторон; − zn— расстояние до ближней плоскости отсечения. Все, что находится ближе, считается невидимым; − zf— расстояние до дальней плоскости отсечения. Все, что находится дальше, считается невидимым. 13
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »