single file ray tracing renderer, 100/300/1000/4000 lines of C++20, PBRT-like architecture, step-by-step integrator.
the name ky
is meaningless, you can call this project structured smallpt
, smallpbrt
etc.
render_debug()
:
render_lighting_enum()
:
render_mis_scene()
:
render_multiple_scene()
:
-
run smallpt
-
rewrite smallpt
- geometry
- shape
- disk
- triangle
- rectangle
- sphere
- scene
- camera
- material
- light
- integrator
- cmd
-
step-by-step integrator
- render depth, normal
- render point light
- render spuclar material
- render direct lighting(sampling brdf, sampling lighting)
- MIS
- recursion style pathtracing
- iterative style pathtracing
-
bsdf/material
- Phong
-
scene
- mis scene
-
smallpt: Global Illumination in 99 lines of C++ http://www.kevinbeason.com/smallpt/
- C# vs C++ 全局照明渲染性能比试 https://www.cnblogs.com/miloyip/archive/2010/06/23/cpp_vs_cs_GI.html
- C# vs C++ 全局照明渲染性能比试 https://www.cnblogs.com/miloyip/archive/2010/06/23/cpp_vs_cs_GI.html
-
Scratchapixel https://www.scratchapixel.com/index.php?redirect
-
ouj/safegi: implementation of safegi: an rendering system with dimensional analysis. https://github.com/ouj/safegi
-
hi2p-perim/minpt: A path tracer in 300 lines of C++ https://github.com/hi2p-perim/minpt
-
mmp/pbrt-v3: Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys. https://github.com/mmp/pbrt-v3
-
xelatihy/yocto-gl: Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics https://github.com/xelatihy/yocto-gl