今天心血来潮,想搞搞3D游戏编程,于是翻出压箱底的《3D游戏编程大师技巧》这本大部头。这本书买来好久,一直没怎么动过,这回终于下定决心要好好啃一啃。
准备工作
我得把环境搭建书里用的是Windows那一套,我这儿是Mac,不过问题不大,很多东西都是相通的。我先去下载一个graphics.h的头文件,这玩意儿是用来绘图的,没有它可不行。
然后,我开始初始化窗口。书里用的是 initgraph(x, y);
这个函数,简单粗暴,直接创建一个窗口,左上角是(0,0),向右是x轴,向下是y轴。我照着书上的例子敲一遍,还真弹出来一个窗口!
遇到的坑
学习过程中不可能一帆风顺。我很快就遇到一个错误:error:无法解析 __imp__mmioAscend@12
。这啥玩意儿?我一脸懵逼。上网一查,原来是缺相应的lib文件。解决方法也简单,加上一行代码:#pragma comment(lib,"*")
。搞定!
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
渐入佳境
解决环境问题,我开始跟着书上的内容一步步学习。书里讲很多高级的3D图形和光栅化技术,什么四元数、memset单字节填充之类的。虽然很多概念我还不太懂,但我知道这些都是游戏编程里的核心技术。
书里提到,memset单字节填充并不是最快的,用四元数QUAD可以一次写入4字节。这倒是挺有意思的,我以前还真没注意过这些细节。看来,要想成为游戏编程大师,还得深入研究这些底层的东西。
初尝成果
我试着照着书上的例子,写一个简单的3D程序。虽然只是一个简单的旋转立方体,但看着屏幕上那个不断旋转的图形,我心里还是挺有成就感的。毕竟这是我第一次亲手实现的3D效果!
持续学习
今天的学习只是一个开始。《3D游戏编程大师技巧》这本书内容非常丰富,我还有很多东西要学。不过我已经迈出第一步,我相信只要坚持下去,一定能掌握这些高级技巧,做出自己心目中的3D游戏!
今天就先分享到这里,以后我会继续记录我的学习过程,希望能和大家一起交流,共同进步!