从三维模型,纹理,到光栅化,坐标转换,裁剪顶点,过滤不可见顶点,重心坐标插值,深度测试,纹理采样,纹理坐标插值,像素选取等等。 可以直接通过visual studio打开文件夹 编译器会自动cmake生成文件,直接点击Main.cpp运行即可
几何处理阶段主要负责处理3D模型数据,包括顶点的变换、裁剪和投影。
在投影变换后,顶点可能位于视锥体外。这些顶点对应的图元(如三角形)需要被裁剪或丢弃,裁剪视锥体之内的部分作为新的顶点图元。 可以将裁剪变成判断三角形是否与视口空间有交点,如果三角形都在外部且没有交点,则不需要渲染,如果有交点或者都在内部则需要渲染。
将裁剪空间中的坐标映射到屏幕空间,这涉及到将标准化设备坐标(NDC)转换为屏幕像素坐标。
光栅化是将几何图形(通常是三角形)转换为屏幕上像素的过程。
着色阶段根据光照模型、材质属性和插值得到的顶点属性来计算每个像素的颜色。
最后,将计算得到的像素颜色值写入到帧缓冲区,最终输出到屏幕上。 实现细节 实现一个基本的光栅化渲染器通常需要以下几个组件: