D3D学习之一

 

1、  千里之行,始于足下。

       学习D3D的版本是9.0,需要下载DXSDK_Mar09.exe,可以从微软官方网站下载。编译环境为Visual studio2010。开发之前需要设置一些环境。首先创建一个工程。在工程属性里选择:

1)  配置属性-->VC++目录-à包含目录和库目录添加D3D的头文件和库文件路径。

2)  在链接器à附加依赖项中加入所用的库文件名称。

2、  第一份代码

由于某种原因,我选择建立基于对话框的MFC程序。例如工程名字为MYD3D。

在对话框上添加Picture控件作为渲染窗口。将Picture的ID设为:IDC_VIEW.开始编码工作。首先需要初始化D3D,渲染,退出释放对象。最简单的D3D程序流程为:

 

D3D学习之一_第1张图片

 

 

 

    1)初始化函数:HRESULT InitD3D( HWND hWnd )

在函数中完成D3D对象创建和D3D设备对象创建。(注意:在创建顺序。在创建D3D设备对象之前要设置D3DPRESENT_PARAMETERS结构,典型的采用以下方式(初学者没必要深究):

 

       D3DPRESENT_PARAMETERS d3dpp;

       ZeroMemory(&d3dpp,sizeof(d3dpp));

       d3dpp.Windowed=TRUE;

       d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;

       d3dpp.BackBufferFormat=D3DFMT_UNKNOWN;

       d3dpp.EnableAutoDepthStencil = TRUE;

       d3dpp.AutoDepthStencilFormat = D3DFMT_D16;

       d3dpp.hDeviceWindow= hWnd;

 

2)渲染函数 VOID  Render()

 渲染过程为:

D3D学习之一_第2张图片

 

3、  退出释放对象Cleanup()

      首先释放绘制图形对象,接着释放D3D设备对象,最后释放D3D对象。

4、  创建基于对话框的D3D程序模板,也即最简单的D3D程序。

       在对话框的初始化函数中添加D3D初始化函数。InitD3D(hWnd),在对话框类中添加自定义消息响应:WM_KICKIDLE,

在对应函数中OnKickidle()添加渲染函数Render()。

 

 

你可能感兴趣的:(D3D学习之一)