Prt2 - "DirectX Initilisation"
- a blue screen
Well you can't go through life just adding in a few lines of code that do
nothing - so now for some juicy code you can look at. Don't be scared, this
code we learn once, put it in an init() function and we can just call it whenever
we start using directX.
The code more or less stays the same. From now on you'll be able to cut
and copy this code into further projects, or as I usually do, put it in a
//Main header file for the XDK
//Application entry point
//Clear the backbuffer to black
// r g b
g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 255), 1.0f,
//Begin the scene
//End the scene
//Filp the back and front buffers so that whatever
has been rendered on the back buffer
//will now be visible on screen (front buffer).
g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
DirectX Initialisation code, which usually remains the same. i.e.
you could put it in a separate file and just add it to each new project you
g_pD3D = NULL; // DirectX
LPDIRECT3DDEVICE8 g_pD3DDevice = NULL; //
//First of all, create the main D3D object. If it is
created successfully we
//should get a pointer to an IDirect3D8 interface.
//Create a structure to hold the settings for our
//Fill the structure.
// Set fullscreen 640x480x32 mode
d3dpp.BackBufferWidth = 640;
d3dpp.BackBufferHeight = 480;
d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
// Create one backbuffer
d3dpp.BackBufferCount = 1;
// Set up how the backbuffer is "presented" to the
frontbuffer each time
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
//Create a Direct3D device.
g_pD3D->CreateDevice(0, D3DDEVTYPE_HAL, NULL,
So what happens - well when you run this little snippet of code don't expect
to much. It just shows you the pieces that make up directX. It
initilises directX then renders the screen (e.g. clears it blue). A blue
screen is all you get when you run this little snippet of code.
Well thats it, you should be able to look at this code and understand it.
I've not details a lot of the small stuff, because I'll come back and do it
later. For example - in g_pD3D->CreateDevice(0, D3DDEVICE_HAL, NULL, ..,
.., ..). The D3DDEVICE_HAL informs directX to use hardware for the
(Back Tutorials Page)