Commit Graph

39 Commits

Author SHA1 Message Date
cdo fc9980b838 Move rendering functions to own module 2025-09-23 15:36:08 +01:00
cdo 5edca0b565 Randomise scene 2025-09-23 15:36:08 +01:00
cdo e407090152 Increase MAX_ITER in camera 2025-09-23 15:36:08 +01:00
cdo 61f9ec7642 Create scene data structure 2025-09-23 15:36:08 +01:00
cdo a6b52d5f75 Change sky colour 2025-09-23 15:36:08 +01:00
cdo c32c903d18 Allow camera position and target position to vary 2025-09-23 15:36:08 +01:00
cdo 75159e7223 Remove focal_len parameter from camera (hard-code as 1.0) 2025-09-23 15:36:08 +01:00
cdo bb6c1683b2 Specify camera FOV instead of viewport height 2025-09-23 15:36:08 +01:00
cdo 90240ee5ad Add fuzz parameter to reflective material 2025-09-23 15:36:08 +01:00
cdo 1e31fae5d0 Make samples per pixel a camera parameter 2025-09-23 15:36:08 +01:00
cdo 1eb8fd3067 Add dielectric material 2025-09-23 15:36:08 +01:00
cdo cdc56a119f Add progress output 2025-09-23 15:36:08 +01:00
cdo 249eedc5d6 Tweak demo scene a little 2025-09-23 15:36:08 +01:00
cdo 187876c3f2 Add reflective material 2025-09-23 15:36:08 +01:00
cdo ce45c57662 Create material abstraction 2025-09-23 15:36:08 +01:00
cdo b15edd1906 Gamma correct pixels before writing out 2025-09-23 15:36:08 +01:00
cdo a2559d373f Implement Lambertian diffuse scattering 2025-09-23 15:36:08 +01:00
cdo 61cfddd75c Implement Gaussian anti-aliasing 2025-09-23 15:36:08 +01:00
cdo 75b646dd44 Parallelise rendering 2025-09-23 15:36:08 +01:00
cdo 8827f22359 Sample each pixel multiple times 2025-09-23 15:36:08 +01:00
cdo c92f43ca3c Implement diffuse scattering 2025-09-23 15:36:08 +01:00
cdo 83154d7548 Prevent potential divide by zero in vec3_unit() 2025-09-23 15:36:08 +01:00
cdo 5d48f61406 Implement RNG module 2025-09-23 15:36:08 +01:00
cdo 036b8fd4d3 Simplify hit detection logic 2025-09-23 15:36:08 +01:00
cdo 3687723153 Move rendering logic into camera module 2025-09-23 15:36:08 +01:00
cdo f934cc8fa8 Handle hits on multiple objects 2025-09-23 15:36:08 +01:00
cdo 252489f6d9 Add "ground" to demo scene 2025-09-23 15:36:08 +01:00
cdo 9bf8753f42 Add front/back face detection 2025-09-23 15:36:08 +01:00
cdo f4ffea57fd Move camera initialisation into seperate module 2025-09-23 15:36:08 +01:00
cdo 47fcd8a11e Create obj module for scene objects 2025-09-23 15:36:08 +01:00
cdo f7e71da27f Colour sphere based on normal 2025-09-23 15:36:08 +01:00
cdo 4705671b53 Implement simple intersection detection with sphere 2025-09-23 15:36:08 +01:00
cdo 255f2bfae8 Set up camera and bg in demo 2025-09-23 15:36:08 +01:00
cdo 65b50578fa Create vec3 module 2025-09-23 15:36:08 +01:00
cdo db2c95640d Add license (Komorebi) 2025-09-23 15:36:08 +01:00
cdo b1256f4648 Write simple CMake build config 2025-09-23 15:36:08 +01:00
cdo ad9c3373fe Add .gitignore for build directory and output images 2025-09-23 15:36:08 +01:00
cdo 1144d0d9a4 Create initial demo writing an image 2025-09-23 15:36:08 +01:00
cdo 9d153c4e57 Write simple farbfeld-writing module 2025-09-23 15:36:08 +01:00