项目具体描述:使用 C++ 实现的简易光线追踪器( 使用 SDL 图形框架 )
项目时间:2018.6.1 —— 2018.6.21
部分截图:
内容实现:
- 基本渲染
- 带最大次数限制的递归光线追踪,反射 ,折射
- 基础 phong 模型,定向光,点光源(多光源)
- 阴影
留坑待填:
- 抗锯齿
文件结构(仅代码):
-
headers/:头文件夹camera.h:Camera,PerspectiveCamera,OrthoCamera类头文件(核心类,生成光线),封装摄像机相关color.h:Color类头文件,封装颜色数据及基本操作device.h:Device类头文件(核心类),封装设备接口model.h:Model,Shpere,Plane等数据头文件(核心文件),计算光线与模型相交ray.h:Ray类头文件,定义光线数据及基本操作scene.h:Scene类头文件(核心类),封装场景数据与基本操作(渲染)light.h:PointLight,DirectionLight类封装即基本操作
-
include/:库文件夹math/:自用数学库vector.hpp:向量库,封装Vector2,Vector2matrix.hpp:矩阵库,封装Matrix
-
sources/:源文件夹camera.cpp:Camera,PerspectiveCamera,OrthoCamera类源文件(核心类,生成光线),封装摄像机相关color.cpp:Color类源文件,封装颜色数据及基本操作device.cpp:Device类源文件(核心类),封装设备接口model.cpp:Model,Shpere,Plane等数据源文件(核心文件),计算光线与模型相交ray.cpp:Ray类源文件,定义光线数据及基本操作scene.cpp:Scene类源文件(核心类),封装场景数据与基本操作(渲染)light.cpp:PointLight,DirectionLight类封装即基本操作
-
main.cpp:main 文件(入口)



