DirectX 与 OpenGL

DirectX
射击标靶OpenGL
DirectX是一种Windows系统的应用程序接口(简称API),它可以让以Windows为作业平台的游戏或多媒体程序获得更高的执行效率,还可以加强3D图形成像和丰富的声音效果,并提供设计人员一个共同的硬件驱动标准。
  Microsoft DirectX提供了一套非常好用的应用程序接口,其中包含了设计高性能、实时应用的程序代码,为「DirectX SDK」(俗称「DirectX开发包」)。此技术能够帮助我们轻易地建构计算机游戏和多媒体的应用程序,其中包括了DirectDrawDirectSoundDirectPlayDirect3DDirectInput等部分的API指令及媒体相关的组件。这些组件每一个都有特定的用途。
DirectDraw是最为重要的一个,因为所有的图形都要用到它,它是2D图形的引擎,3D图形也同样离不开它。在Windows操作系统这种保护模式之下,所有图形的接口动作都必须经
GDI这个图形处理中心来处理,而不能直接对硬设备下命令 。图形设备接口(Grahpics?Device?Interfacedirectdraw),它是负责在屏幕上显示图形所用的接口。GDI吴寿山由百余个函数所组成的。GDI函数必须通过设备描述表(简称DC)的句柄来控制绘图。
DirectDraw主要的工作是用来帮助Windows的应用程序能够直接进行硬设备的操作,还可以加速显示卡的速度,使得游戏的画面呈现起来更加地流畅。发动机支撑架DirectDraw支持CPUMMX3DNowAGP等特殊的指令技术,还可以处理多屏幕的显示,让Windows环境下运行的游戏更加地多姿多采。
其它的组件是:
  DirectSound:提供硬件和软件的声音混合与回放。
  DirectMusic:处理基于消息的音乐数据。它支持乐器数字接口(MIDI)并为创建交互式音乐提供创作工具。
  DirectPlay:使得通过调制解调器链接或通过网络来与应用程序相连成为可能。
  Direct3D:是一个三维图形包,它提供一个高级的保留模式(Retained Mode)接口,这使得你能够实现一个完整的三维图形系统。它还包含一个低级的即时模式(Immediate Mo
玻璃钢套管
de)接口,使得应用程序获得对渲染管线的完全控制。
  DirectInput:为包括游戏杆、鼠标、键盘和游戏控制器在内的输入设备提供支持。它还为反馈游戏设备提供支持。
  DirectSetup:为DirectX提供了一个简单的安装过程。它简化了更新显示和音频驱动程序的过程,并且确保没有硬件或软件冲突的存在。
  AutoPlay:让你能够制作一张一旦插入驱动器就能自动安装的光盘。AutoPlay并非DirectX所独有,因为它是Microsoft Win32 API的一部分。
 
而组件对象模型(COM)是DirectX的基础,COM接口是DirectX技术的基础,没有COM就没有背光喷码机DirectX
DirectX的大多数API都是基于COM结构的。COM为软件模块化和软件重用提供了最坚实的基础,它的最重要的概念就是接口(interface),接口是软件重用的最基本方法。更专业的说,接口是一系列操作的规范描述,即接口规范。
  所有的COM接口都是从Iunknown接口继承而来的,IUnknown接口是所有COM接口的根。
IUnknown接口具有3个方法:
 QueryInterface():此方法查询新接口,并在新接口存在时返回之。
 AddRef():此方法在接口或其它应用程序连编到此COM对象上时将引用计数值递加1
 Release():此方法将COM对象的引用计数递减1。当引用计数递减到0时,该COM对象自动释放。
  所有COM对象都具有这三个方法。虽然DirectX应用程序一般不需要考虑引用计数的问题,但引用计数确实是存在的,它已经由DirectX自动完成了。我们所要做的,就是创建DirectX对象,然后在使用完毕后调用Release方法释放引用。
OpenGL即是Open Graphics Libraries的缩写,它是一套「计算器三维图形」处理函式库,由于它是由各家显示厂商所共同定义的共通函式库,所以它也是绘图成像的工业标准。
_^7R/N?_|)D_\8u ]_w ~ |
Q_NOpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95Windows NTUnixLinuxMacOSOS2之间进
行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于 OpenGL3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD3DS 3D图形设计软件制作的DFX3DS模型文件转换成OpenGL的顶点数组。在OpenGL的基础上还有Open InventorCosmo3DOptimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。

本文发布于:2024-09-22 15:24:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/336962.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:接口   提供   图形   游戏   应用程序   软件   对象
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议