资源简介
博文的配套源码 《【 Visual C++】游戏开发笔记之二——最简单的directx,vc窗口的编写 》
,原文地址为http://blog.csdn.net/zhmxy555/article/details/7318634,
源码编译环境为vs2010.
我的博客地址是http://blog.csdn.net/zhmxy555,源码可以结合我的笔记一起看
希望能和大家一起交流,共同学习,共同进步。

代码片段和文件信息
#include
#pragma comment(lib “d3d9.lib“)
#pragma comment(lib “d3dx9.lib“)
#define WINDOW_CLASS “UGPDX“
#define WINDOW_NAME “Blank D3D Window“
// Function Prototypes...
bool InitializeD3D(HWND hWnd bool fullscreen);
void RenderScene();
void Shutdown();
// Direct3D object and device.
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;
}
return DefWindowProc(hWnd msg wParam lParam);
}
int WINAPI WinMain(HINSTANCE hInst HINSTANCE prevhInst LPSTR cmdLine int show)
{
// Register the window class
WNDCLASSEX wc = { sizeof(WNDCLASSEX) CS_CLASSDC MsgProc 0L 0L
GetModuleHandle(NULL) NULL NULL NULL NULL
WINDOW_CLASS NULL };
RegisterClassEx(&wc);
// Create the application‘s window
HWND hWnd = CreateWindow(WINDOW_CLASS WINDOW_NAME WS_OVERLAPPEDWINDOW
100 100 640 480 GetDesktopWindow() NULL
wc.hInstance NULL);
// Initialize Direct3D
if(InitializeD3D(hWnd false))
{
// Show the window
ShowWindow(hWnd SW_SHOWDEFAULT);
UpdateWindow(hWnd);
// Enter the message loop
MSG msg;
ZeroMemory(&msg sizeof(msg));
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg NULL 0U 0U PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
RenderScene();
}
}
// Release any and all resources.
Shutdown();
// Unregister our window.
UnregisterClass(WINDOW_CLASS wc.hInstance);
return 0;
}
bool InitializeD3D(HWND hWnd bool fullscreen)
{
D3DDISPLAYMODE displayMode;
// Create the D3D object.
g_D3D = Direct3DCreate9(D3D_SDK_VERSION);
if(g_D3D == NULL) return false;
// Get the desktop display mode.
if(FAILED(g_D3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT &displayMode)))
return false;
// Set up the structure used to create the D3DDevice
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;
// Create the D3DDevice
if(FAILED(g_D3D->CreateDevice(D3DADAPTER_DEFAULT D3DDEVTYPE_HAL hWnd
D3DCREATE_SOFTWARE_V
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25579520 2012-03-21 18:07 【Visual C++】Code_Note_2\BlankWindow.sdf
文件 1084 2012-03-04 10:15 【Visual C++】Code_Note_2\BlankWindow.sln
文件 911 2005-05-17 18:54 【Visual C++】Code_Note_2\BlankWindow.sln.old
..A..H. 13824 2012-03-21 18:07 【Visual C++】Code_Note_2\BlankWindow.suo
..A..H. 8704 2005-05-24 23:39 【Visual C++】Code_Note_2\BlankWindow.suo.old
文件 3368 2005-05-24 22:35 【Visual C++】Code_Note_2\BlankWindow.vcproj
文件 5685 2012-03-04 10:15 【Visual C++】Code_Note_2\BlankWindow.vcxproj
文件 920 2012-03-04 10:15 【Visual C++】Code_Note_2\BlankWindow.vcxproj.filters
文件 143 2012-03-04 10:15 【Visual C++】Code_Note_2\BlankWindow.vcxproj.user
文件 16122 2012-03-21 18:06 【Visual C++】Code_Note_2\main.asm
文件 3586 2012-03-21 18:07 【Visual C++】Code_Note_2\main.cpp
文件 50688 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\BlankWindow.exe
文件 381 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\BlankWindow.exe.intermediate.manifest
文件 71 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\BlankWindow.lastbuildstate
文件 2323 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\BlankWindow.log
文件 494592 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\BlankWindow.pdb
文件 2010 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\cl.command.1.tlog
文件 27936 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\CL.read.1.tlog
文件 1106 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\CL.write.1.tlog
文件 2900 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\li
文件 7042 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\li
文件 1338 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\li
文件 48227 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\main.obj
文件 1106 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\mt.command.1.tlog
文件 1786 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\mt.read.1.tlog
文件 730 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\mt.write.1.tlog
文件 159744 2012-03-21 18:06 【Visual C++】Code_Note_2\Release\vc100.pdb
目录 0 2012-03-21 18:06 【Visual C++】Code_Note_2\Release
目录 0 2012-03-21 18:07 【Visual C++】Code_Note_2
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:基于MFC的代码编辑器
- 下一篇:OpenCV多通道图像混合程序 by浅墨
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- 尚观培训linux许巍老师关于c语言的课
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- openwrt深入学习笔记
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- ACM笔记-天津大学
- mfc 调用redis
评论
共有 条评论