资源简介

博文的配套源码 《【 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\link.command.1.tlog

     文件       7042  2012-03-21 18:06  【Visual C++】Code_Note_2\Release\link.read.1.tlog

     文件       1338  2012-03-21 18:06  【Visual C++】Code_Note_2\Release\link.write.1.tlog

     文件      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个文件信息

评论

共有 条评论