逛知乎很久了,终于知道了入门图形学很中肯的方法,就是实现一个软渲染器(software renderer)。
那啥玩意是软渲染器?现如今渲染方式有光栅化渲染和光线追踪渲染,而我所要实现的是光栅化软件渲染器。来自知乎周翀前辈的解释:栅格化软件渲染(即实时渲染),你一定知道如今的显卡做了大部分工作。这些工作具体是什么到处都能查到。它们由显卡的中央处理器、固件程序以及一些固定的逻辑/运算电路共同完成。那电脑的中央处理器搭配你用C或汇编或随便什么语言写的程序能否模拟显卡的行为呢?
清楚了这个之后,我之前在github search 啊 search终于找到了一个most star的项目,附上链接,很高大上吧,关键是这项目有wiki讲解,我就果断fork一份看看。也知道了作者的意图:
Warning: this is a training material that will loosely repeat the structure of the OpenGL library. It will be a software renderer. I do not want to show how to write applications for OpenGL. I want to show how OpenGL works. I am deeply convinced that it is impossible to write efficient applications using 3D libraries without understanding this.
然后之前逛知乎也找到了韦易笑大大的软渲染器,链接,但是学习这俩玩意必须要有些关于图形学的数学知识基础啊,所以从本篇开始我将学习《3D游戏编程大师技巧》,可能我只会挑一些关于这部分的看看,具体关于directDraw这种上了年纪的我尽少了解,将有限的时间花在重要的东西上,之后我会常更新我在本书上学到的知识记录在博客上,以便学习。XD