这是一个用C#+winform实现的软件光栅化渲染器,今天拿出来与大家分享一下,希望能起到抛砖引玉的作用,给新人一点启发(结构比较简单,注释比较详细^_^),也欢迎司机们拍砖指点和交流~
目的:
巩固图形编程知识,理解渲染流水线所做的事情。
实现功能:
1、将顶点数据进行一系列处理显示到屏幕上(废话。。。(¬_¬))
2、线框渲染模式、纹理渲染模式、顶点色模式
3、纹理uv坐标和顶点色等的透视校正插值
4、纹理双线性过滤采样
5、背面消隐
6、Cvv简单裁剪
7、“基础光照模型”(相当于D3D、OpenGL中的固定管线顶点光照)
截图:
光照
顶点色
线框模式:
代码放在Github上面: https://github.com/aceyan/SimpleSoftwareRenderer
下面我会将一些完成这个渲染器所需要的知识点以及相关资料的链接(多是博文)罗列一下,方便查阅。
零、准备阶段
想要实现渲染器首先我们得知道“给定视点、三维物体、光源、照明模式,和纹理等元素,如何绘制一幅二维图像”,这就必须提到一个词“图像绘制管线”(也称绘制流水线),我们得渲染器正是要以软