美文网首页android干货分享Android知识
SDL是什么,能干什么,为什么我们要学习它?

SDL是什么,能干什么,为什么我们要学习它?

作者: 代码GG陆晓明 | 来源:发表于2017-10-10 20:45 被阅读55次

关于SDL,在简介里面,有一些概念,但是很多人还是留言,不清楚到底是个什么。这节,我简单总结下:

我们如何将一张图显示在屏幕上。这里简单的分为几个部分,硬件屏幕,驱动程序,软件部分。SDL不直接关注硬件屏幕,而是关注每个平台下的屏幕驱动程序。比如window下的DirectX,linux下的x11 ,以及android下的opengl es。SDL通过将这三个平台,当然不止这三个平台的屏幕驱动,封装成一套对外统一的API调用,让使用者可以不关注具体某个平台,可以快速开发图像的绘制操作。SDL的核心,便是如此。

在此基础上,SDL支持了各种图片加载,渲染,各种图片的像素格式转换,比如RGB565转换到RGB888等等。SDL的主要任务,便是完成图像的加载,渲染显示,其他方向都比较单薄,对于开发游戏来说,显得力不从心,由于其没有配套的开发组件,比如界面库,动画库,粒子库等等,都是没有的。然而为什么选它呢?

算是一个巧合而已,做ffmpeg的移植,有人使用SDL做了最终的解码一帧图像的显示,如此做出视频播放器。而同时,自己在移植一款游戏,西游释厄转,一款fba游戏模拟器,网上使用了sdl1.2引擎,然而sdl1.2用的是framebuffer,导致游戏渲染很慢,大大降低了游戏的流畅度,于是乎自己花费一段时间,研究sdl2.0的框架,将此游戏的流程分析完后,把sdl2.0合入进去,使用opengles硬件加速,提高性能。

完成上面的几个事情后,发现sdl挺好玩的,既然自己已经熟悉了基本流程,也对sdl的整体过程比较熟悉,于是就有了记录,开始整理,画流程,框架,想既然这个讲解的比较少,那就花些心思,研究一番,整理成系列讲解,于是就有了这些内容。

记住,sdl的讲解,可以作为兴趣学习,它不是成熟的游戏开发引擎,但却是非常成熟,跨平台的一套渲染引擎。它本身做的事情非常简单,就是让一张图片,可以显示到更多平台,同时附加一些音频编解码而已。诚然,sdl不是你开发游戏的首选,但却是不可多得的,代码不算复杂,可以深入学习,掌握一套跨平台的开发流程,思路,同时理解图像格式的分类,转化,运算的具体实现。

当然,后续我会展开,将西游释厄传的移植过程,同时这个可以玩拳皇97,是不是很兴奋? 在移植完游戏的同时,我会移植一个gui库,当前进行到一半,因为工期比较长,所以会较晚出来,在移植完gui之后,会在此框架上做一款游戏开发,进行深入练习。

学习,往往需要持之以恒,敬请期待!!

当前工程代码已经上传:

https://github.com/luxiaoming/SDL-study

相关文章

  • SDL是什么,能干什么,为什么我们要学习它?

    关于SDL,在简介里面,有一些概念,但是很多人还是留言,不清楚到底是个什么。这节,我简单总结下: 我们如何将一张图...

  • SDL系列讲解(十) 按键处理流程

    SDL系列讲解(一) 简介SDL系列讲解(二) 环境搭建SDL系列讲解(三) 工具安装SDL是什么,能干什么,为...

  • SDL系列讲解(九) 异常退出分析

    SDL系列讲解(一) 简介SDL系列讲解(二) 环境搭建SDL系列讲解(三) 工具安装SDL是什么,能干什么,为...

  • 「SDL第一篇」入门

    为什么要学习SDL SDL是 “Simple DirectMedia Layer”的缩写,它是一个开源的项目。其主...

  • Runtime实战

    为了学习Runtime,我们应该需要从几个方面入手: 是什么? 为什么会出现? 怎么做? 分享 能干嘛? 是什么?...

  • 我们的行为背后是什么

    ❶ 我们的行为背后是什么?我们行动的意义是什么? 为什么我们要喝水吃饭? 为什么我们要逛街上网? 为什么我们要学习...

  • 推动学习的手

    我们为什么要学习,孩子为什么要学习,这些动力来源于哪里?是什么推动我们的学习?是什么让我们义无反顾的去努力?没有动...

  • 如何引导孩子主动学习(一)

    一、孩子为什么而读书? 我们开启一项新的技能学习时,首先会明白它是什么?为什么要学习它?其次再赋予它意义,让它成为...

  • 读书笔记《如何高效学习》第一章

    三个问题:(1)学习眼前这个知识的目的是什么? (2)为什么要学习它? (3)它...

  • 与Gradle的那些年

    既然要学习Gradle,首先要知道它是什么,它又能干什么,以及怎么使用它。 Gradle是什么? Gradle能干...

网友评论

    本文标题:SDL是什么,能干什么,为什么我们要学习它?

    本文链接:https://www.haomeiwen.com/subject/mfvbyxtx.html