Skip to content

ZolHo/MyRayTracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

光追渲染Demo

  • 项目比较简单,目前只实现了:

    • 几何:轴对齐立方体、球体的实现,即它们与射线求交点的算法
    • 材质:纯镜面反射、纯完美漫反射、介于它们直接的模糊反射
    • 算法:核心是蒙特卡洛方法,此外实现了轮盘赌算法,并使用低差异序列进行采样 (但是感知不强,可能有问题)
  • 项目文件:

    • main.cpp: 主函数,包括初始化世界,实现路径追踪算法
    • hitable.h: 表示可以计算光线求交的接口,以及定义结构体hit info
      • sphere.h: 以圆心和半径定义球,实现光线求交运算(使用球体与射线求交解析解计算,也实现了几何推断的公式求解,但是有问题待解决)
      • box.h: 以中心和长宽高定义的轴对齐立方体,实现AABB包围盒和射线求交的计算
    • material.h: 材质,通过返回对于入射光$r_i$可能的出射光$r_o$,以及光的反射率来定义一种材质。已实现镜面、兰伯特散射、golssy材质
    • ray.h: 通过原点和方向定义一条光线
    • vec3.h: 定义3维向量以及其计算
    • tools.h: 工具函数,如计算Halton低差异序列函数
    • camera.h: 定义了一个相机

渲染结果,更新时间22年4月23日,800次采样/像素、4k分辨率: new_4k

About

学习从0开始光追渲染

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors