Книга: DirectX 8 Programming Tutorial
Full Screen
Full Screen
To make our program full screen we need to make a few adjustments to our InitialiseD3D method. We need to change the "Windowed" property of our D3DPRESENT_PARAMETERS structure to FALSE, this specifies that the program will run full screen. Then, we need to set two full screen properties of the D3DPRESENT_PARAMETERS structure. FullScreen_RefreshRateInHz controls the refresh rate of the screen, and FullScreen_PresentationInterval controls the maximum rate that you swap chain (back buffer chain) are flipped. We have selected D3DPRESENT_INTERVAL_ONE which specifies that flipping will only occur when the monitor refreshes.
d3dpp.Windowed = FALSE;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_ONE;
Also, we need to select the correct back buffer format for our device. I have written a method, CheckDisplayMode, which will test for a valid format. This method is called in InitialiseD3D.
D3DFORMAT CGame::CheckDisplayMode(UINT nWidth, UINT nHeight, UINT nDepth) {
UINT x;
D3DDISPLAYMODE d3ddm;
for (x = 0; x < m_pD3D->GetAdapterModeCount(0); x++) {
m_pD3D->EnumAdapterModes(0, x, &d3ddm);
if (d3ddm.Width == nWidth) {
if (d3ddm.Height == nHeight) {
if ((d3ddm.Format == D3DFMT_R5G6B5) || (d3ddm.Format == D3DFMT_X1R5G5B5) || (d3ddm.Format == D3DFMT_X4R4G4B4)) {
if (nDepth == 16) {
return d3ddm.Format;
}
} else if((d3ddm.Format == D3DFMT_R8G8B8) || (d3ddm.Format == D3DFMT_X8R8G8B8)) {
if (nDepth == 32) {
return d3ddm.Format;
}
}
}
}
}
return D3DFMT_UNKNOWN;
}
The only other thing we need to do is modify our WinMain function that created our window. We need to set the x and y positions of the window to be 0 (top left) and we need to change the width and height to the screen size using the GetSystemMetrics function.
- DirectX Tutorial 4: Full Screen and Depth Buffers
- Restoring the operating system and the full system
- Capturing Screen Images
- 5.3.1 mikroC IDE Screen
- PROJECT 7.1 — Read CID Register and Display on a PC Screen
- On Screen Display
- FULL OUTER JOIN
- Full and partial decoding
- 14.4.2. Объект Screen
- Screen
- Создание заставки Splash Screen
- Fully Automated