简单来说,是为了解决电脑和硬件多种多样,不统一的问题。
举个例子。
这年头的硬件,无论显卡还是声卡都五花八门的,好比房子里的各种老水管和新水管。
而苏砚承在这一层要做的硬件抽象层,就是做出个“水电总开关”。
为了做出来的游戏能适配不同电脑,避免游戏只能在特定机型上运行。
把不同显卡的画图功能、不同声卡的发声功能……
都统一成“按下开关就出水通电”的简单操作。
这样的话,不同电脑里,不管是老显卡还是新显卡。
像要画一个大卫的义体,都只需要在引擎里朝电脑一句“画个精灵”……
那底层就会自己适配硬件。
同时,要是以后出了新的硬件,也不用砸地基重新布置。
只需要给“总开关”加个新接口就行!
那地基打好了。
下一步就是搭架子,建房梁,砌高墙,装窗户。
也就是所谓的渲染。
现实里,动画能播放的原因,是一张一张,一帧一帧的图片快速翻动的效果。
那么在电脑里,苏砚承要做的,就是让电脑代替“手翻纸”,自动把这些“画”按顺序的,按位置的,画到屏幕上。
从而实现“播放”的效果。
同时为了解决画快、画对、不卡的问题。
再嵌入之前做《松子的一生》时就用到的,诸如预加载、双缓冲之类优化模块。
“伪3d的功能也要加上!”
“真3d的扩展也要预留!”
苏砚承十指如飞,字符似春洪奔泻。
“然后记得一定要写上注释,这样以后改的时候,就知道这串是干嘛的了!”
“嗯,不仅造福后世程序员,也方便我自己!”
好的,架子,梁子,和墙都搭好了!
那么下一步呢?
下一步,就是做一个房子里的储物间!
也就是资源管理器。
把图片、模型、音效……这些素材,经过压缩之后,全都放进去。
要用的时候再拿出来,这样不仅提高了效率,还减少了空间!
到这里,地基和架子梁子和墙都有,“小平房”算是基本已经完成搭建。
但距离住人还很遥远。
所以苏砚承又短暂的进行了休息,起来补充补充能量。
久违的开门,吃了点热的披萨。
“话说……凌晨四点了,披萨居然还是热的吗?”
所以那哥俩每隔一段时间就去帮他热吃得,生怕喂着凉的给他。
苏砚承肚子和心里都暖暖的。
动力又更足了!
“好的,下一步,一次性完成!”
接下来,苏砚承要做的就是“屋子”里的事了。
俗称装修。
现在小平房是能住了,但想加阳台、装热水器怎么办……
所以苏砚承要提前就预留“接口”!
“嗯,这里能加功能。”
“这里可以添加插件。”
“这里能修改框架!”
“搞定!”
这样以后想要升级,那么就不需要重构底层代码,不用把墙和地基给砸了。
“然后……就是脚本解释器!”
“剧情的播放和人物对话,不用改代码,直接写个脚本就行。”
“再就是是地图编辑器……动画编辑器!”
又是时间流逝,日月交替,不知时日。
苏砚承满脸胡茬,头发油乱,眼眶发黑。