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()
:
-
Ray Tracing in One Weekend https://raytracing.github.io/books/RayTracingInOneWeekend.html
-
Scratchapixel https://www.scratchapixel.com
-
Advanced Computer Graphics | RGL http://rgl.epfl.ch/courses/ACG20
-
Realistic (& Advanced) Image Synthesis http://www.cim.mcgill.ca/~derek/ecse446.html
- ecsex46/fall-2019: ECSE 446/546 & COMP 598/599: Realistic/Advanced Image Synthesis https://github.com/ecsex46/fall-2019
-
COMPUTER GRAPHICS(CMU 15-462/662) http://15462.courses.cs.cmu.edu
- CMU-Graphics/Scotty3D: Base code for 15-462/662: Computer Graphics at Carnegie Mellon University https://github.com/CMU-Graphics/Scotty3D
-
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
-
SmallVCM/SmallVCM: A (not too) small physically based renderer that implements the vertex connection and merging algortihm https://github.com/SmallVCM/SmallVCM
-
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
-
xelatihy/yocto-gl: Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics https://github.com/xelatihy/yocto-gl
-
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
-
mmp/pbrt-v4: Source code to pbrt, the ray tracer described in the forthcoming 4th edition of the "Physically Based Rendering: From Theory to Implementation" book. https://github.com/mmp/pbrt-v4
-
mitsuba-renderer/mitsuba3: Mitsuba 3: A Retargetable Forward and Inverse Renderer https://github.com/mitsuba-renderer/mitsuba3
-
LuisaGroup/LuisaRender: High-Performance Cross-Platform Monte Carlo Renderer Based on LuisaCompute https://github.com/LuisaGroup/LuisaRender
-
Source/Render/Cycles - Blender Developer Wiki https://wiki.blender.org/wiki/Source/Render/Cycles
-
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 path tracing
- iterative style path tracing
-
bsdf/material
- Phong
-
scene
- mis scene