directx SDK官方教程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Tutorial 1: Creating a Device

Direct3D 9 的样例教程(Tutorials and Samples for direct3D9)此DX开发包提供弱干资源和例程代码。

Tutorials都是彻底从头重新编写的仅仅包含运行Direct3D 功能函数的必须应用程序接口(API)。

Samples都演示了Direct3D 9的最新特征和最基本的函数功能,所有的Direct3D样例都建立在DXUT之上。

Tutorials

以下的Tutorials演示了Direct3D基本功能也仅仅是SDK里面所提供的。

Direct3D Tutorials

这里的引导教程向你展示了如何在C/C++程序中使用Direct3D和D3DX。这些工作分成为以下必要的几步:

Tutorial 1: 创建设备(Creating a Device)

Tutorial 2: 渲染顶点(Rendering vertices)

Tutorial 3: 使用矩阵(Using Matrices)

Tutorial 4: 创建和使用光照(Creating and using lights)Tutorial 5: 使用纹理贴图(Using Texture Maps)

Tutorial 6: 使用网格(Using Meshes)

这些教程的代码都是来自各个教程所提供的源工程中,代码程序都是用C++编写,如果你正在使用C编译器,那么你必须为它们做些合理的改变以便成功的编译程序,至少你需要把vtable和指针加入到

这些接口函数

有些例程中的注释可能和平台sdk源文件中的不同,这些改变仅仅为了更简洁,但并没有改变所要表达的意思。

Tutorial 1: (创建设备环境)Creating a Device

为了使用Direct3D,第一步你创建一个应用程序窗口,然后创建和初始化Direct3D对象。你使用组件对象模型接口(component object model(com) interfaces),这些对象执行渲染场景所必须的对象。创建环境样例工程是为了说明创建Direct3D设备的工作和创建一个蓝色的屏幕。

些例程使用如下几步:初始化Direct3D, 渲染场景,最后完全关闭。步骤:

第一步:创建窗口(Creating a Window)

第二步:初始化Direct3d(Initializing Direct3d)

第三步:处理系统消息(Handling System Messages)

第四步:渲染和显示一个窗口(Rendering and Displaying a Scene)

第五步:关闭(Shutting Down)

Note: CreateDevice例程工程文件路径为

((SDK root)\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevic e)

Step 1 –创建窗口(Creating a Window)

所有的Windows应用程序在他们运行时首先都必须做的是,为用户创建一个应用程序窗口来显示。为了做到这点CreateiDevice工程开始从WinMain函数执行。下面的例程执行窗口的初始化工作:INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT)

{

//注册窗口类

WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,

GetModuleHandle(NULL), NULL, NULL, NULL, NULL, “Direct3d Tutorial”, NULL};

RegisterClassEx(&wc);

//创建窗口

HWND hWnd = CreateWindow( “Direct3d Tutorial”, “ Direct3d Tutorial 01:CreateDevice”,

WS_OVERLAPPEDWINDOW,

100,100,300,300,

GetDesktopWindow(), NULL, wc,hInstance, NULL);

以上的样程是标准的WINDOWS编程,样程人定义和注册一个叫做“Direct3d Tutorial”的窗口类开始,在类被注册后,使用注册过的类创建一个最高层的窗口,用户区大小为300像素宽和30

0像素高。并且没有菜单和子窗口。使用WS_OVERLAPPEDWINDOW窗口样式创建一个包括最小化、最大化和关闭按钮的应用程序框架。(如果例程要运行在全屏模式下,首选的窗口样式为WS_EX_TOPMOST,指定创建的窗口应该放在所有非顶端窗口之上,即使窗口处于非激活状态。)当窗口创建完成后,程序调用标准Win32函数来显示和刷新窗口。

Step 2 –初始化Direct3D(Initializing Direct3D)

例程CreateDevice展示了在InitD3D程序中Direct3D的初始化工作,定义了在创建窗口之口被Winmain调用的函数。在创建一个应用程序窗口之后,你已经准备好去初始化一个你将用来渲染场景的Direct3D对象。这个过程包括:创建对象,定义显示参数,最后创建Direct3D设备。

在创建一个Direct3D对象之后,使用Idirect3D9::CreateDevice 方法创建设备,并且枚举用命设备,类型,样式等等。

If( NULL == ( g_pD3D = Direct3dCreate9( D3D_SDK_VERSION ) ) )

Return E_FAIL;

传给Direct3Dcreate9() 函数的参数必须是D3D_SDK_VERSION, 这个参数告诉Direct3D使用正确的头文件,这个值会在任何时间头文件或其它改变需要重新建立工程时增加。如果版本不匹配,Direct3Dcreate9将会失败。

在填写D3DPRESENT_PARAMETERS 结构本之后你可以指定你

相关文档
最新文档