什么是OpenGL?什么是direct x?单机游戏运行为什么与它们有关?
大家好 , 欢迎来到霍夫日记 , 我是霍夫 。 今天我来说说什么是directx?什么是OpenGL?为什么玩单机游戏的时候 , 经常弹窗提示缺少这些程序组件无法运行游戏呢?
某天 , 你刚下好的三A大作正版游戏终于下载完毕了 , 心里想着可以开玩了 , 赶紧点击EXE程序运行 。
于是出现以下画面

文章图片

文章图片
怎么打不开不了啊?计算机中提示缺少d3directx9.dll是怎么回事?
我们玩游戏天天都得接触directx和OpenGL , 没有这些程序游戏就玩不了了 。 可是你有没有想过它们究竟是干嘛用的呢?这个OpenGL又是什么鬼呢?

文章图片

文章图片
在很早很早以前 , 软件开发缺乏标准编程 , 可以说是一对一的 。 我这串代码就对应着一种硬件一种系统 , 这样一来呢 , 开发的过程就极其的繁琐 , 毕竟你这软件可是一对一高端定制 , 你想让全世界的设备都用上你的软件 , 那对不起 , 你得一个个去找软硬件厂商 , 一个个去做适配吧 。

文章图片
那这个时候我们就需要一个中间层 , 在不同的软件 , 不同的硬件之间进行沟通 , 这就是api应用编程接口 。

文章图片
api就相当于是一系列函数的集合,程序可以直接通过这些函数进行构建 , 不需要访问更底层的东西 。 这样一来 , 软件开发的门槛就降低了 。
api的意义在于简化编程的操作 。
打个比方 , 你现在想和法国人交流 , 如果没有翻译的话 , 你就只能自学法语 。 可这也太麻烦了吧 , 我就想搭个话 , 喝两口法国红酒 , 我还得再学一门外语才行吗?
当然不必这么麻烦 , 你找个翻译不就行了吧 。 这api就是你的翻译 , 尽管翻译会造成延迟 , 会降低一点交流的效率 , 你得额外花点时间等翻译说完 , 但至少你可以听懂法国佬说话了 , 可以正常交流正常喝酒了 , 这才是最重要的 。
说到这里你也应该猜到了 , 我们亲爱的directx和OpenGL正是api 。

文章图片
确切的说呢 , OpenGL是一种图形api , 而directx则是许多各种各样api的集合体 。 其中当然也包括图形api--direct3D 。

文章图片
图形api , 猜猜这个名字都知道这是为图形计算设计的 , 那么玩游戏说的最多也是图形api , 这里我们用direct3D来举例子 , 在游戏中它的作用差不多是这个样子 。

文章图片
承上启下嘛 , 它就相当于是游戏引擎和显卡驱动、系统层之间的桥梁 , 是同时精通上层下层各种语言的翻译官 。
OpenGL其实也是类似的一个工作流程 , 但是它相比direct3D更加开放一些 。 因为OpenGL是由非盈利性的行业联盟khronosgroup牵头的 , 它是跨平台的 , 对于系统没有限制 , 你不仅可以在windows上用 , 也可以在macos、linux上使用 , 甚至还可以在安卓和ios上使用它们的阉割版本OpenGLes 。
相比之下呢 , direct3D就只允许在微软自家的windows和xbox上使用了 。 此外 , OpenGL的学习门槛也更低 , 开发人员更容易上手 。 但是它的缺点就是效率往往不如direct3D , 新特性的更新往往也比较慢一些 。 说白了就是不如direct3D先进吧 。 但这两种图形api地位是一样重要的 。
相关经验推荐
- 原神: 4星主C为什么没落了, 除了“国家队”还有谁能打通深渊
- PCLP:“爹”来了,长龙开摆GYF或将解散,Longskr这下是破大防了
- 特战荣耀:燕破岳为什么执着于“内卷”?市场需要个人英雄主义!
- 赵云和猴子两大门面英雄,胜率却常年垫底,策划为什么无动于衷?
- EDG冠军皮肤即将亮相?Meiko:快了!应该是在5月初
- 创造与魔法海景佛跳墙大包配方是什么?创造与魔法海景佛跳墙食谱获取攻略
- 绝地求生未来之役2022灵敏度分享码是什么?绝地求生未来之役灵敏度最稳分享码
- 怨憎会游戏第四章通关方法是什么?怨憎会游戏第四章通关攻略技巧
- 王者荣耀:赛季初是最容易拿到英雄排名的时间段
- 创造与魔法永久坐骑兑换码是什么?创造与魔法兑换码2022永久坐骑一览最新
