- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Direct3D程序设计基础 几个基本概念 硬件抽象层HAL 硬件抽象层是硬件制造商提供的特定于硬件的接口,Direct3D利用该接口实现对显示硬件的直接访问。就用程序永远不需要访问HAL,Direct3D通过HAL提供的基础结构,为程序员提供一套统一的接口和方法,用于访问图形硬件。 HAL设备 硬件抽象设备是主要的设备类型,它支持硬件加速光栅化以及硬件和软件顶点处理。如果运行Direct3D程序的计算机的显卡支持Direct3D,那么Direct3D程序就会使用HAL执行三维操作。Direct3D HAL设备通过硬件来进行全部或部分坐标变换、光照和光栅化处理模块。 在程序中不需要直接访问图形硬件,而是通过HAL访问图形硬件,由HAL调用显卡驱动程序的函数和方法。 硬件模拟层 HEL可以在软件中模拟某些特性。但是,自从DirectX8.0以后就不再提供HEL了。如果想让游戏 在老式硬件上运行,那只有使用Direct7.0及其HEL,或者自己开发一个硬件模拟设备。DirectX9.0就提供了一个使用由软件开发者编写HEL的接口。这类HEL现在被称为“插件式软件设备”。 软件参考层 Direct3D支持另外一种设备,称为参考设备或称为参考光栅器。只有安装了SDK才会提供参考设备,当一个应用程序在一台未安装SDK的机器上请示参考设备时,会一个NULL参考设备。NULL参考设备什么也不做,所有渲染操作的结果都将呈现一个黑屏。 不同于HAL设备和插件式软件设备,参考光栅器支持所有的Direct3D特性,由于参考设备注重精确实现Direct3D的所有特性,而不注重运行速度,并且参考设备不支持硬件加速,所以使用参考设备绘制图形的速度很慢,不管硬件是否支持,参考光栅器总是通过CPU指令来绘制图形。使用参考设备的目的是为了测试演示Direct3D的特性,例如,如果你想学习Direct3D的某个高级特性,当前硬件又不支持,这时就可以使用参考设备来测试和学习当前硬件不支持的高级Direct3D特性。 有了HAL/插件式软件设备/参考设备这一系列的方法,微软的Direct3D便可保证在缺少3D硬件支持的环境中,仍可以使用同一套API,也就是说,如果当前运行环境中无硬件加速设备,即HAL不可用时,可考虑自己编写插件式软件设备,再退一步,可以使用参考设备,而无论使用哪种设备,操作它们的API都是一样的。 视口(Viewport) 视口是一块二维的矩形区域,三维景物投影为二维图形后,将绘制在这块矩形区域中。在Direct3D中,视口定义了当前Direct3D绘制的目标表面的矩形范围,绘制的图形坐标将被 转换为相对于视口的坐标并绘制于视口中,一般以像素为单位表示视口的长和宽。 像素(pixel) 像素是指图像在屏幕上显示的最小单元,即屏幕上的一个亮点。它亦指在frame buffer中的一个最小图形单元。 分辨率(Resolution) 分辨率是指显示设备所能显示的最大像素个数。 颜色缓冲区(Frame Buffer) 颜色缓冲区是位系统内存或显示内存的一块内存块,它对应于将要的一块二维显示区域。图形绘制过程中,Direct3D完成坐标变换、光照处理和纹理映射,将绘制结构的值存储于颜色缓冲区中,最后通过图形刷新,颜色缓冲区的内容被显示在屏幕上。 前台缓冲区(front Buffer)和后台缓冲区(Back Buffer) 大多数图形显示程序拥有2个颜色缓冲区,我们将当前用于屏幕刷新的颜色缓冲区称为前台缓冲区,而将用于图形?的其他颜色缓冲区称为后台缓冲区。同时拥有前台缓冲区和后台缓冲区的图形显示程序可以同时进行图形绘制和屏幕刷新操作,系统运行性能优于仅有单个颜色缓冲区图形显示程序。 D3D的基本程序结构 D3D程序基本结构伪代码 #included3d9.h Int WINAPI WinMain() { RegisterClass_Window_Class_and_create_a_window();//创建窗口 Initial_Direct3D_object();//初始化D3D While(Is_Running) { Handle_system_message(); if(message==painting) { render();//三维图形绘制 } } Release_Drirect3D_object();//释放D3D占用的资源 } 二、初始化Direct3D程序 在使用Direct3D绘制图形之前,必须初始化Direct3D对象,包括创建并得到一个Direct3D接口,并以此得到一个Direct3D设备接口。 初
您可能关注的文档
- 《CJJ63-2016聚乙烯燃气管道工程技术规程》.pdf
- 《CJJ63-95聚乙烯燃气管道工程技术规程》.pdf
- 《CNAS-CL02__2016《医学实验室质量和能力认可准则》简称“ISO15189”国家医学实验室认可咨询依据》.pdf
- 《CNAS曹实处长和程燕声主任(关于ISO17025实验室认可)在杭州会议上(2016.5.16日)的讲话内容》.ppt
- 《CNT_thermoelectric nano-nose》.pdf
- 《Coase_Lighthouse》.pdf
- 《CodeMeter 威步加密狗使用手册2.0》.pdf
- 《CodeMeter-QSG-CN威步加密狗用户手册》.pdf
- 《collins easy learning japanese》.pdf
- 《Colonisation Greece on the move》.pdf
- 《Discriminative learning forminimum error classification》.pdf
- 《DIY_PCB过程》.doc
- 《DIY的基于Wifi的无线MP3在线播放控制器(草坪灯,继电器,串口设备的集中控制)》.pdf
- 《DIáLOGO EN EL INFIERNO ENTRE MAQUIAVELO Y.. - M. Joly》.doc
- 《Django开发笔记p3&p4》.pdf
- 《DM9000_Application_Notes_V100》.pdf
- 《DM9000以太网路晶片控制》.pdf
- 《DM9000初始化过程 - xilentz - 博客园》.pdf
- 《DM9000开发板电路图》.pdf
- 《dm9000移植全程分析》.docx
最近下载
- 秋季安全生产培训ppt.pptx VIP
- (完整word版)护理安全(不良)事件报告制度及工作流程.docx VIP
- 体育教学工作总结学情分析报告(共8).docx VIP
- 内部审核工作程序.pdf VIP
- 怪物猎人3金手指素材代码.doc VIP
- 马工程-中国古代文学史(第二版)第三编上册魏晋南北朝文学PPT课件-50109.docx VIP
- 传统节日中秋节介绍英文版ppt课件.pptx VIP
- 销售合同管理excel表格系统 台账登记统计 到期提醒Excel表格模板 (9).xlsx VIP
- 刘毅5000词汇.doc VIP
- 《单相全桥逆变器死区效应分析及补偿方法》-毕业论文(设计).doc VIP
文档评论(0)