rendered paste body#include <windows.h>#include <d3d9.h>const int SCREEN_WIDTH = 800;const int SCREEN_HEIGHT = 600;const LPCTSTR WINDOW_TITLE = L"DirectX Practice";LPDIRECT3D9 d3d;LPDIRECT3DDEVICE9 d3ddev;void InitD3D(HWND hWnd);void RenderFrame(void);void CleanD3D(void);LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ switch(message) { case WM_DESTROY: PostQuitMessage(0); return 0; break; } return DefWindowProc(hWnd, message, wParam, lParam);}int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ HWND hWnd; MSG msg; WNDCLASSEX wc; ZeroMemory(&wc, sizeof(WNDCLASSEX)); wc.cbSize = sizeof(WNDCLASSEX); wc.hbrBackground = (HBRUSH)COLOR_WINDOW; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hInstance = hInstance; wc.lpfnWndProc = (WNDPROC)WndProc; wc.lpszClassName = L"WindowClass1"; wc.style = CS_HREDRAW | CS_VREDRAW; RegisterClassEx(&wc); hWnd = CreateWindowEx( NULL, L"WindowClass1", WINDOW_TITLE, WS_OVERLAPPEDWINDOW, 300, 300, SCREEN_WIDTH, SCREEN_HEIGHT, NULL, NULL, hInstance, NULL); ShowWindow(hWnd, nCmdShow); InitD3D(hWnd); while(true) { if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if(msg.message == WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } RenderFrame(); } CleanD3D(); return msg.wParam;}void InitD3D(HWND hWnd){ d3d = Direct3DCreate9(D3D_SDK_VERSION); D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp, sizeof(D3DPRESENT_PARAMETERS)); d3dpp.Windowed = true; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow = hWnd; d3d->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddev);}void RenderFrame(){ d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 40, 100), 1.0f, 0); d3ddev->BeginScene(); d3ddev->EndScene(); d3ddev->Present(NULL, NULL, NULL, NULL);}void CleanD3D(){ d3ddev->Release(); d3d->Release();}