本项目开发了一个基于C++的编辑器,能够生成框架结构和功能模块,包括光线追踪、光栅化、着色以及材质和纹理处理等。将采用现代C++特性和面向对象设计,实现可扩展和易用的程序结构。
主要功能
光线追踪 (Ray Tracing)
基本光线追踪算法:实现光线与图像的交互计算。
递归追踪:支持光束和光束。
全局光照:模拟间接光源,提高图像真实感。
光栅化 (Rasterization)
基本光栅化技术:将3D模型转化为2D图像。
屏幕空间的裁剪和投影:处理视图转换和投影变换。
深度缓冲(Z-buffering):解决图像中物体的遮挡关系。
着色 (遮光)
顶点着色 (Vertex Shading):处理顶点属性的变换和光照计算。
像素着色 (Pixel Shading):对每个像素进行颜色计算和纹理映射。
多种光照模型:支持Phong、Blinn-Phong等光照模型。
材质和纹理 (Materials and Textures)
材质系统:支持漫反射、镜面反射、反射等材质属性。
纹理映射:支持2D纹理和3D纹理,及纹理过滤技术。
线贴图:增加细节和表面凹效果。
编程语言:C++1