OpenGL系统设计-和DirectX融合

作为最大的两个3D图形APIOpenGLDirectX一直没有停止过竞争。微软退出OpenGLARB,全力发展自己的DirectX就是一个明证。这种竞争也导致了技术的发展,至少对开发人员来说是一件好事。

DirectX本身并不完全是一个3D APIDirect3D才是。DirectX应该说是一个应用的完整解决方案,它包括DirectDrawDirect3DDirectSoundDirectPlayDirectInputDirectMusicDirectShowDirectSetup等部件,到了DirectX 8后的版本,DirectDrawDirect3D就合二为一成了DirectGraphics了。

其中DirectDraw提供了通过支持访问屏外显示内存中位图的软硬件加速技术,快速直接存取,利用硬件的位块传输和缓冲区翻转功能;Direct3D提供了保留模式(Retained-Mode)接口和即时模式(Immediate-Mode)接口,前者允许程序很容易地完成一个完全的三维图形系统,后者使得程序能完全控制渲染;DirectSoundDirectMusic提供软硬件声音混合和录音再生功能;DirectPlay使得应用程序在网络之间的连接更加简单方便;DirectInput提供了基于Windows游戏输入的API和驱动程序,它不仅支持目前的键盘、鼠标和操纵杆,也支持将来的基于Windows的输入设备;DirectSetup则提供了DirectX的一次性安装过程。

作为DirectX的核心,DirectGraphicsOpenGL是“势不两立”的,要让DirectGraphicsOpenGL一起协同工作是不可能的。但是DirectX的其他部件却不这样“排外”,所以,对于OpenGL开发人员来说,我们完全可以结合OpenGLDirectX的优势,发挥拿来主义的精神来最佳完成我们的工作。

你可能感兴趣的:(OpenGL系统设计-和DirectX融合)