什么是软渲染?
所谓软渲染,就是用软件实现的渲染,相对于GPU绘制而言,把渲染流水线在CPU上实现一遍,最终调用画点的函数,把整个渲染结果绘制出来。
为什么写软渲染?
入门图形学和渲染管线最硬核的方式,彻底理解光栅化的流程,写完之后再看原先懵懵懂懂的DX和OpenGL,便觉醍醐灌顶。
环境搭建
工欲善其事必先利其器,先把环境搭好,才能开始漫漫长征路。
开发环境我用的是Windows 10 + VS2019,图形界面我用的是SDL。
为了方便看渲染结果,图形界面是必要的。图形界面有很多选择,比如Qt、GLFW之类。如果你有足够的时间,也可以自己用系统API写一个窗口系统,这个就不在本文讨论的范围之内了。
如何配置SDL的环境,可以看这一篇参考:http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/msvc2019/index.php
还可以参考一下这个链接:https://thenumbat.github.io/cpp-course/sdl2/01/vsSetup.html
和上一个做法的区别就是,不用把SDL2.dll拷贝到工作目录里,而是在环境里设置一下PATH变量,指定SDL2.dll的路径,这样既方便维护,也方便32位和64位的切换。
SDL的环境配置好之后,我们可以跑一段简单的例子试一下配置有没