资源简介
博文的配套源码 《【 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浅墨
相关资源
- OpenCV多通道图像混合程序 by浅墨
- 用于图像边缘提取的prewitt算子的C++代
- C++并发编程实战(中文版)
- 随机点名(mfc实现)+源码
- 使用TCP简单文件传输控制台程序VC++
- 基于visual C++的人才管理系统
- VC H264格式视屏播放器源码
- C++Primer课后习题解答(第1~18章完整答
- VC++ 6.0 TCP 通讯(服务器端和客户端)
- C++ 控制摄像头摄像、拍照
- C++语言程序设计课后答案(清华大学
- VC++ 的协议分析器
- 经典手眼标定算法C++代码
- 串口调试工具 VC++源代码 (龚建伟版
- C++小型回合制游戏的雏形
- 基于OPNET的TCP协议研究与仿真论文
- 一个C++开发的服务驻留程序源代码
- vc++ 在opc开发的应用
- 提高C++性能的编程技术.pdf
- Visual+C++开发基于SNMP网络管理软件配套
- 动物识别系统 VC++ 逆向搜索 正向搜索
- c++课程设计旅行线路搜索及模拟
- 基于VS2010 CLR平台C++的简易计算器。不
- 基于TCP协议的C++聊天软件源代码
- C++编写的Socket通信程序源代码
- C++网络五子棋
- 开源C++应用服务器:CWSS 0.8.0
- 超级玛丽 闯关游戏 c++
- 手把手教你用vc6 c++ 做俄罗斯方块小游
- 郝斌C语言详细笔记
评论
共有 条评论