因为最近一直在看DirectX9的有关基础,以此来熟悉一下基础的游戏开发概念,但是基础的概念熟悉了,有关的发展信息也是要熟悉一下,但是一直很模糊,相信初次接触游戏开发的朋友有听过DX,OpenGL,Metal 3D等,但是又不是很清楚他们之间的区别和联系,最近在某乎看到一个回答,觉得很不错,和大家分享一下。

1、DirectX 是什么?
OpenGL,直译过来就是,开放的图形库(Open Graphic Library)。如其名,它的作用,就是绘制图形,除此之外都不做。
OpenGL是跨平台的,windows、Mac、Linux、iOS、Android等等大家都能用。但所谓泛而不精,微软为了更好的性能,开发出了一套“专门适配windows平台的OpenGL",名为DirectX。同理,苹果也开发出了一套专门适配Mac和iOS平台的OpenGL”,名为Metal 3D。

2、在游戏开发中常用吗?
游戏开发中,常用,或者说必用。
游戏开发是什么?无非就是根据一定的逻辑,给予玩家一定的反馈。这种反馈,大部分是视觉上,例如按钮点下出现的阴影,释放技能产生的特效。也可以是听觉的反馈(音乐音效),触觉的反馈(手柄或手机的震动)等等。那么用DirectX(或其他图形库)去实现视觉上的反馈,完成游戏,当然是最常用的。

3、如果用directX 配合微软的visual studio ,不借助其他引擎,能否完成一个游戏编程方面的工作。(和其他引擎有什么区别?)
这两个其实是一个问题。
由2的回答,题主应该知道了,单纯用DirectX可以完成视觉上的反馈,如果自己再加上一些音乐音效播放的库,通过代码逻辑的迭代,便足以组装出一个游戏了。
但,游戏是仅仅这么简单么?
也许你要模拟一个大雪的场景,你可能用DirectX画出一个雪花,然后让他们在屏幕的随机坐标出现,并设置一定的速度让他们缓缓落下。完成并调整好这个效果,你可能需要一天的时间,但如果你知道,这叫做粒子系统,并且在大部分游戏引擎中已经实现,那么这只需要一分钟的时间即可完成。

如果把游戏引擎比作绘画,那其中部件可大致分为三类,
第一类,相当于颜料中的三原色,DirectX等图形库,OpenAL等音乐库,键盘、触摸屏或手柄的输入控制,他们是最基础的组成部分。
第二类,相当于形形色色的颜料,如前面提到粒子系统、如精灵、视差层、地图刷等部件,虽然它们可通过三原色调制出来,但由于实在过于常用,便集成进了游戏引擎里。
第三类,相当于颜料盘、画笔等等,它用于辅助游戏的完成。例如事件分发系统、定时器系统等,可简化在编程过程中的代码逻辑。

游戏引擎是一套完整完善的游戏开发解决方案,而DirectX,是一个图形处理库,属于游戏引擎中的一部分。

作者:张三华
链接:https://www.zhihu.com/question/25246101/answer/30298052

什么是DirectX相关推荐

  1. 用Microsoft DirectX光线跟踪改善渲染质量

    用Microsoft DirectX光线跟踪改善渲染质量 Implementing Stochastic Levels of Detail with Microsoft DirectX Raytrac ...

  2. C#中使用DirectX编程

    我感觉声音的播放比较简单.我们从播放声音开始.为什么我这么觉得?我也不知道. 这里是展示最最最最最简单的DirectX播放声音的例子,我尽量省略了无关的代码.最后的代码只有19行,够简单了吧? 准备工 ...

  3. 用DirectX Audio和DirectShow播放声音和音乐(1)

    音乐就是一系列的音符,这些音符在不同的时间用不同的幅度被播放或者停止.有非常多的指令被用来播放音乐,但是这些指令的操作基本相同,都在使用各种各样不同的音符.在计算机上进行作曲,实际上是存储了很多组音乐 ...

  4. 【Visual C++】游戏开发笔记四十一 浅墨DirectX教程之九 为三维世界添彩:纹理映射技术(一)...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8523341 作者:毛星云(浅墨 ...

  5. DirectX 9的坐标系统变换

    http://www.cppblog.com/lovedday/archive/2007/05/04/23389.html DirectX 9的坐标系统变换 世界坐标系到摄影坐标系的变换 摄影坐标系的 ...

  6. 空间素材代码_C++大神解读视频捕获程序,VC++基于Directx开发的源代码

    一款小巧的视频捕获程序,VC++6.0基于Directx开发的源代码,编译时需要Directx相关类库文件, 窗口表单编写的简单视频捕捉应用程序.这个工程既演示了窗口表单应用程序的创建,又演示了 Op ...

  7. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引...

    Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引 原文:Introduction to 3 ...

  8. DirectX下 Viewing Frustum 的详细实现

    本文大部分内容翻译自Gil Gribb和Klaus Hartmann合写的<Fast Extraction of Viewing Frustum Planes from the World-Vi ...

  9. [置顶]       【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云    邮箱: h ...

  10. DirectX和DirectShow介绍和区别

    1.DirectX是什么 DirectX是微软推出的一套基于Windows系统的多媒体应用程式接口APIs函式.在开发中,DX分为两个部分,一个是运行库,通过DX编译出来的程式必须要有运行库的支持,另 ...

最新文章

  1. 自用零散博文-route_state.ts
  2. asp.net网站中CrystalReport的简单应用
  3. java collection join_java – @ElementCollection @CollectionTable在一对多映射中
  4. 手把手带你掌握计算机视觉原始论文细节阅读
  5. UI之常用通过颜色值和透明度怎么得到最后的颜色值
  6. interface接口_接口 interface
  7. 1027. 打印沙漏(20)-PAT乙级真题
  8. fuelux.tree,动态加载
  9. 3万字“十看支付”:开启支付之门
  10. Excel下拉选项设置
  11. iOS IPA包路径,分析百度统计崩溃日志
  12. ranhcer添加Longhorn存储
  13. 我的世界基岩JAVA附魔_我的世界1.2.5版本,基岩版的可以100级附魔吗,就是
  14. 虽然不能去故宫办婚礼,但你可以帮故宫找“中纹”啊!
  15. Android 音频源码分析——音频设备切换(插入耳机)
  16. 清除session ,清除cookie
  17. iOS开发使用nib进行界面设计并跳转
  18. 使用ownCloud 搭建私有云与私有云的简单使用方法
  19. PWM转换为模拟信号(积分电路)
  20. 【2017-VCIP】LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation

热门文章

  1. [教程] PSP 5.00M33-6升级图文教程
  2. 怎样恢复误删计算机管理员,win10管理员账号误删只有普通权限怎么恢复
  3. Riemannian geometry applied to BCI classification
  4. 关闭Win10系统天气图标
  5. 12.1 hashlib--安全的哈希计算和签名库
  6. inv如何用计算机计算,计算器INV是用那个键表示的
  7. 后棱镜时代的个人信息黑洞,电影《绝对控制》在现实中存在吗?
  8. Docker六大优势,云中部署模式、以及视频demo
  9. RFID固定资产条码标签管理系统,使资产更易盘点
  10. 使用ZedGraph记录(原创)