direct3d学习笔记

direct3d学习笔记

ID:33965306

大小:204.00 KB

页数:21页

时间:2019-03-02

direct3d学习笔记_第1页
direct3d学习笔记_第2页
direct3d学习笔记_第3页
direct3d学习笔记_第4页
direct3d学习笔记_第5页
资源描述:

《direct3d学习笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一.DirectX:DirectXSDK(俗称DirectX开发工具包)或者DirectXAPI(应用程序接口),是一套用于开发高性能多媒体程序的应用程序接口;DirectXRuntime(DirectX运行时),是一组动态连接库,是运行利用DirectXSDK开发的程序所必需的动态库。DirectXSDK包括以下几部分:Direct3D(direct3d,directdraw)、DirectInput、DirectSound、DirectMusic、DirectPlay、DirectShow、DirectSetup和DirectXMediaObject。D

2、irect3D简称D3D,集成了开发DirectX程序三维图形部分的所有API函数,是DirectX最主要的也是最复杂的一个组件。DirectDraw是用来开发二维图形的一个组件,目前两者合并一起成为DirectGraphics,也称Direct3D.二.Direct3D体系结构硬件抽象层(HAL):大多数的Direct3DAPI设计开发的三维图形程序都运行于硬件抽象层(HAL),即充分利用了硬件系统的加速功能,又隐藏了硬件相关的设备特性,即通过Direct3D实现了硬件无关性。它仅仅是与硬件设备相关的代码,对硬件部支持的功能,不提供软件模拟。提供硬件功能的

3、检查,但不进行参数检查,所有工作要Direct3D在调用HAL之前进行。硬件模拟层(HEL)可以在软件中模拟某些特性,现在已不使用。Direct3D有两种运行模式:窗口模式和全屏模式Dirent3D系统集成:WIN32应用程序->Dirent3DAPI->HAL->设备驱动程序接口(DDI)->图形硬件三.在创建Dirent3D设备对象时要先创建Dirent3D对象,Dirent3D的实现方式就是通过组件对象模型和接口实现的,在使用c++和COM开发方式时可以直接访问这些接口和对象。在使用c++编程时,要先得到一个指向Dirent3D接口的指针,从而通过该指

4、针调用Dirent3D对象的功能。Dirent3D设备对象(渲染设备),在Dirent3D的渲染组件,在程序中为一个COM对象,它封装和存储了渲染状态。此外还执行坐标变换和光照操作。使用前也需要获取该对象的接口指针。四.Dirent3D程序基本结构:五大部分包括:1.创建windows窗口2.初始化Dirent3D3.消息循环4.图形渲染5.退出Dirent3D程序1.创建windows窗口WNDCLASSEXwndclass;//一个窗口类wndclass.cbSize=sizeof(wndclass);//WNDCLASSEX的大小wndclass.st

5、yle=CS_HREDRAW

6、CS_VREDRAW;//从这个窗口类派生的窗口具有的风格wndclass.lpfnWndProc=CGameEngine_App::WndProc;//窗口处理函数的指针,回调函数wndclass.cbClsExtra=0;//指定紧跟在窗口类结构后的附加字节数wndclass.cbWndExtra=0;//指定紧跟在窗口事例后的附加字节数。如果一个应用程序在资源中用CLASS伪指令注册一个对话框类时,则必须把这个成员设成DLGWINDOWEXTRAwndclass.hInstance=hInstane;//本模块的事例句柄w

7、ndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//(wndclass.hInstance,MAKEINTRESOURCE(IDI_DGE));wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//光标的句柄wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);//背景画刷的句柄wndclass.lpszMenuName=NULL;wndclass.lpszClassName="D3DCreateWnd";wndcl

8、ass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);//(wndclass.hInstance,MAKEINTRESOURCE(IDI_DGE));//RegistertheclassRegisterClassEx(&wndclass);//CreateawindowHWNDhWnd=CreateWindowEx(0,//Extendedstylewndclass.lpszClassName,szTitle,wndStyle,//Windowstyle0,//Horizontalorigin0,//Verticalorigi

9、nnWidth,//GetSystemMetrics

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。