学图形学或者说想学习渲染原理,要自己实现一个软渲染器。这种说法不知道最早是谁提出,也不知道是不是这样,但是作为个图形学萌新我确确实实的在实现的过程中学到了很多东西。我的这个文章,不是教程,也不是原理讲解,第一篇文章只是想记录下在图形学道路上成长的轨迹。各位读者如果对文章内容或者代码等各个方面有什么建议,欢迎指出。
首先感谢韦易笑前辈开源出来的700行软渲染器,在做这个渲染器之前,我先是Fork了这个代码,把里面的很多结构体改为类放在单独的文件里面,在这个过程中自己改了一些实现的方法,对我理解数学原理起了巨大的帮助作用。最后在里面添加了简单的平行光照、正反面剔除以及一个可以自由漫游的相机。但是这时对于光栅化的理解还是不够透彻,比如如何绘制Primitive。所以还是得自己从头开始实现,这就是本文的内容了。
想用C++实现一个软件渲染器,类似DX和OpenGL,除了《3D游戏编程大师技巧》,或者什么网站推荐?www.zhihu.com还感谢拳四郎前辈的文章,里面对Bresenham算法和绘制Primitive的原理讲解,对我帮助很大。当然我参考了很多其他前辈的文章以及国外的资料,这里就不一一列举出来了。
拳四郎:如何写一个软渲染(2)-Primitivezhuanlan.zhihu.com框架的选择:
我用的是C++语言,而渲染器是需要一个窗口的,并且提供一个渲染Buffer的方法。S