Skip to content

BlokCAT/Ray-Tracing-software-renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ray-Tracing-software-renderer

该仓库项目由于版本过老和为止bug较多已经停止更新,最新请移步:BlokCAT/PacthTracing: A soft ray tracing renderer based on Monte Carlo integration path tracing, implemented using pure C++ and file output streams.使用纯C++和文件输出流实现的一个基于蒙德卡罗积分路径追踪的软光线追踪渲染器 (github.com)


注意:本项目旨在学习和分享图形学基础和光线追踪路径追踪底层原理 , 固该项目并未使用任何图形API!

使用纯C++和文件输出流实现的一个基于蒙德卡罗积分路径追踪的软光线追踪渲染器,实现了简易的BVH的加速结构,实现了透射折射材质 。欢迎大佬来提出优化建议和指出错误

结果

image

这图片尺寸500*500 , 采样率spp300

透射图

image

实现

加速结构:

基于BVH加速树结构,划分区域三角形,树查找减少求交点遍历三角形或物体的个数

实现的材质:

1.Diffuse材质(墙壁)

2.微表面材质(绿球)

3.全镜面反射材质(红球)

4.折射透射材质

实现的物体:

1.继承至Object的球体Boll

2.继承至Object的平面Plane

全项目实现思路基本和games101课程介绍一至 ,链接:https://www.bilibili.com/video/BV1X7411F744?p=13&vd_source=1f1ca9dc40200ce4ab07e6e9da88e6b6

About

使用纯C++和文件输出流实现的一个基于蒙德卡罗积分路径追踪的软光线追踪渲染器,结构清晰,体量中等,比较适合学习参考

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages