API应用程序接口|OpenGL与DirectX
2022/1/14 20:04:22
本文主要是介绍API应用程序接口|OpenGL与DirectX,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
OpenGL和DirectX都是图像应用编程接口,这些接口用于渲染二维或三维图形。可以说,这些接口架起了上层应用程序与底层GPU的沟通桥梁。 一个应用程序向这些接口发送渲染命令,而这些接口会依次向显卡驱动(Graphics Driver)发送渲染命令,这些显卡驱动是真正知道如何和GPU通信的角色,正是它们把OpenGL或者DirectX的函数调用翻译成了GPU能够听懂的语言,同时他们也负责把纹理等数据转换成GPU所支持的格式。 概括来说,我们的应用程序运行于CPU上。应用程序可以通过调用OpenGL或DirectX的图形接口将渲染所需要的数据,如顶点数据、纹理数据、材质参数等数据存储在显卡中的特定区域。随后,开发者可以通过图像编程接口发出渲染命令,这些渲染命令也被称为DrawCall,它们将会被显卡驱动翻译成GPU能够理解的代码,进行真正的绘制。- OpenGL
- OpenGL:Open Graphics Library,开放的图形程序接口。
- 具有很好的移植性。OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。
- 由于 OpenGL是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等 3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。
- DirectX
- DirectX是一种应用程序接口(API);
- 可以让以windows为平台的游戏或多媒体程序获得更高的执行效率;
- 加强3d图形和声音效果;
- 提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序;
- 降低用户安装及设置硬件的复杂度。
- DirectX是由很多API组成的,按照性质分类,可以分为四大部分:显示部分、声音部分、输入部分和网络部分。
- 显示部分:担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者主要负责2D图像加速,它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw;后者则主要负责3D效果的显示,比如 CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。
- 声音部分:最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。
- 输入部分:DirectInput可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
- 网络部分:DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TPC/IP,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。
- Direct3D
这篇关于API应用程序接口|OpenGL与DirectX的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享