第4讲 | 底层绘图接口的妙用
蔡能
该思维导图由 AI 生成,仅供参考
上一节,我给你介绍了游戏引擎的概念及其在游戏开发中所起的作用。同时,我也提到了游戏引擎背后的工作方式。在代码层面,游戏引擎是一套对底层绘图、音频、操作系统接口的封装实现。
在此基础上,我还举了一个在游戏屏幕上画线条的例子。在这个例子中,画线的接口函数在背后分解、组合、计算,并将绘制工作交给底层绘图接口。这个绘图接口,就是今天要讲的内容。
几种常见的绘图接口
前面我已经说过,我会针对 2D 游戏来讲解游戏开发的流程和细节,所以,这里我先介绍几种 2D绘图接口(即 API,全称 Application Programming Interface)。我选择了 5 种 Windows 下最流行的绘图接口,分别讲解。
1.OpenGL
OpenGL 是老牌的图形图像接口。GL 是 Graphics Library 的缩写。所以,顾名思义,OpenGL 就是开放图形接口的意思。和接下来要讲的 DirectX 一样,OpenGL 也可以创建和渲染 2D、3D 图形。但是,和 DirectX 不同的是,它可以在多种平台下运行,比如 Windows、Linux、macOS 和部分 UNIX,而 DirectX 只能在 Windows 生态下运行。
OpenGL 本身只提供图形渲染接口,如果你需要别的功能,比如音频、鼠标、键盘的操作,甚至是创建一个窗体,都需要别的扩展库支持。
2.DirectX
说起 DirectX,这个名字已经如雷贯耳。DirectX 的开发初衷,是为了让游戏开发者能像在 DOS 平台编写游戏一样,在当时新的 Windows 95 平台上,也能一样高效、快速地操纵各种硬件设备。
其实,在 DirectX 发布之前,微软已经将 OpenGL 包含在 Windows 系统里面。随着时间的推移,OpenGL 逐渐成为了行业标准,而 DirectX 自然免不了与其展开竞争。
这里,我主要介绍一下 DirectX 中的两个核心组件。这两个核心组件的功能与 2D 游戏编程息息相关,你一定得了解一下。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了游戏开发中底层绘图接口的重要性,以及几种常见的绘图接口,包括OpenGL、DirectX、SDL、GDI和GDI+。通过对这些绘图接口的特点和适用场景的介绍,读者可以更好地选择适合自己项目的绘图工具,并理解其背后的技术特点。文章还提到了Pygame,这是一个使用Python封装的游戏库,背后调用的是SDL的接口,为读者提供了更多的开发选择。此外,文章还以SDL为例,详细介绍了如何通过图形接口直接进行游戏开发的步骤,使读者对游戏开发的一部分流程有了更清晰的了解。通过本文的总结,读者可以快速了解不同绘图接口的特点和适用场景,为自己的项目选择合适的技术方案提供了参考。文章内容简洁明了,为读者提供了对游戏开发技术特点的全面了解。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学游戏开发》,新⼈⾸单¥59
《从 0 开始学游戏开发》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(27)
- 最新
- 精选
- 火腿现在游戏开发的最流行API是不是DirectX?
作者回复: 你如果指的电脑平台,是的
2019-01-161 - aaaaaide是什么,idea编辑器吗?
作者回复: ide为集成开发环境,不是指的idea编辑器。
2018-06-14 - 月空繁星GDI接口是不是对directX的二次封装?两者之间是否有关系?
作者回复: 不是,DX中DDraw会有一部分功能调用gdi,但GDI并不是对DX的封装。
2018-06-04 - 壬大师老师,游戏引擎这个东西是不是只针对客户端?服务器端没有游戏引擎一说?
作者回复: 某些游戏引擎包含服务器端接口,服务器端没有游戏引擎一说,光是服务器端,并不能编写一款游戏。
2018-06-02 - 小侠底层接口只能做简单游戏,游戏引擎在底层接口基础上做封装和扩展,方便做复杂游戏2018-06-02112
- 立春其中一行代码应该是 window=SDL_CreateWindow…而且我习惯bool 类型的赋值false或true。代码中一开始初始化为0,之后又为true,不是非常统一,当然这不是重点。2018-06-0210
- Lu | SSEINFO游戏引擎应该相当于一层封装,把SDL的方法封装了一个更高的抽象层。就好比网络编程,我们可以直接用socket,也可以使用封装好了的网络库,来简化我们的代码。2018-06-026
- 以往游戏引擎还是需要的 SDL是对硬件的使用做了封装,但复杂功能的实现还是要借助于引擎提供的一系列组件去完成2018-06-023
- 王建绘图接口只是游戏引擎的一个子集2018-06-222
- 小猫藏鱼本节课介绍了5种图形接口,opengl,directx,sdl,gdi,gdi+,以及如何不使用引擎直接用绘图接口编写游戏的方法。 游戏引擎的主要部分就是封装了图形接口,更加容易使用,便于开发。 pygame 就是对 sdl 的封装2018-08-281
收起评论