D3D初始化
来源:互联网 发布:linux svn 当前版本号 编辑:程序博客网 时间:2024/05/22 09:00
#include <d3d9.h>#pragma warning( disable : 4996 ) // disable deprecated warning #include <strsafe.h>#pragma warning( default : 4996 )bool InitD3D(HWND hWnd, bool fullscreen);void RenderScene();void ShutDown();LPDIRECT3D9 g_D3D = NULL;LPDIRECT3DDEVICE9 g_D3DDevice = NULL;LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; break; case WM_KEYUP: if (wParam == VK_ESCAPE) PostQuitMessage(0); break; default: break; } return DefWindowProc(hWnd, msg, wParam, lParam);}int WINAPI WinMain(HINSTANCE hInst, HINSTANCE prevInst, LPSTR cmdLine, int show){ WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0, 0, hInst, NULL, NULL, NULL, NULL, L"UGPDX", NULL }; RegisterClassEx(&wc); HWND hWnd = CreateWindow(L"UGPDX", L"Blank D3D Window", WS_OVERLAPPEDWINDOW, 100, 100, 640, 480, GetDesktopWindow(), NULL, wc.hInstance, NULL); if (InitD3D(hWnd, false)) { ShowWindow(hWnd, SW_SHOWDEFAULT); UpdateWindow(hWnd); MSG msg; ZeroMemory(&msg, sizeof(msg)); while (msg.message!= WM_QUIT) { if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } else { RenderScene(); } } } ShutDown(); UnregisterClass(L"UGPDX", wc.hInstance); return 0;}bool InitD3D(HWND hWnd, bool fullscreen){ D3DDISPLAYMODE displayMode; g_D3D = Direct3DCreate9(D3D9b_SDK_VERSION); if (g_D3D == NULL) return false; if (FAILED(g_D3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &displayMode))) return false; D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp, sizeof(d3dpp)); if (fullscreen) { d3dpp.Windowed = FALSE; d3dpp.BackBufferWidth = 640; d3dpp.BackBufferHeight = 480; } else d3dpp.Windowed = TRUE; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.BackBufferFormat = displayMode.Format; if (FAILED(g_D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_D3DDevice))) return false; return true;}void RenderScene(){ g_D3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); g_D3DDevice->BeginScene(); g_D3DDevice->EndScene(); g_D3DDevice->Present(NULL, NULL, NULL, NULL);}void ShutDown(){ if (g_D3DDevice != NULL) g_D3DDevice->Release(); if (g_D3D != NULL) g_D3D->Release(); g_D3D = NULL; g_D3DDevice = NULL;}
0 0
- 初始化D3D
- D3D初始化
- D3D初始化方法
- 初始化D3D窗口模式
- D3D初始化一
- MFC 初始化D3D
- D3D应用指南 - 初始化篇
- D3D学习笔记(初始化Direct3D)
- 1_DirectX --D3D窗口初始化
- D3D学习笔记(初始化Direct3D-1)
- D3D学习笔记(初始化Direct3D-2)
- 在窗口中初始化D3D 8
- D3D学习笔记(初始化Direct3D-2)
- D3D学习笔记(初始化Direct3D-2)
- D3D初始化概念的记忆方法二
- DirectX的安装与D3D的初始化
- D3D学习笔记(初始化Direct3D-1)
- D3D学习笔记(初始化Direct3D-2)
- 打破砂锅理解深度学习(一):引言
- 动态设置android:drawableLeft|Right|Top|Bottom
- 初识MVP
- 详解 JavaScript 闭包
- DiskLruCache源码(作用、应用思路、源码注解)
- D3D初始化
- JAVAweb学习日记第二天
- js拖拽购物车
- 如何搭建DC/OS系统的框架私有服务器
- 电容式触摸开关设计
- 扫描线 模板
- play框架的安装
- 【NOIP 2015 Day1 T2】信息传递(dfs || 拓扑排序 || Tarjan)
- 画线