创建第一个窗口

来源:互联网 发布:macbook下载什么软件 编辑:程序博客网 时间:2024/05/29 07:35

2009年4月14日:

 

       今天创建了我的第一个DirectX窗口,画面感觉还不错,感觉程序的风格和以前学的windows程序差不多。

        初始化:bool InitializeD3D(HWND hWnd, bool fullscreen)
{
  D3DDISPLAYMODE displayMode;

  // Create the D3D object.
  g_D3D = Direct3DCreate9(D3D_SDK_VERSION);//创建一个Direct3D接口对象
  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;//用于定义Direct3D窗口的显示信息
  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_VERTEXPROCESSING, &d3dpp, &g_D3DDevice)))
  {
  return false;
  }

  return true;
}
初始化要先创建一个Direct3D接口对象,再创建一个D3DPRESENT_PARAMETERS结构体用于表示窗口的显示信息,最后创建一个D3DDevice用于显示和渲染,总得来说程序的思路是很清晰的。好了,明天继续。。。