Commit Graph

33 Commits

Author SHA1 Message Date
Camden Dixie O'Brien 6e8dd39d43 Remove focal_len parameter from camera (hard-code as 1.0) 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 22a8b3a009 Specify camera FOV instead of viewport height 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 157bf8d93e Add fuzz parameter to reflective material 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 524f8ad085 Make samples per pixel a camera parameter 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien a71aa553db Add dielectric material 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 4a18ad238e Add progress output 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien ed6ab77cc8 Tweak demo scene a little 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien c0d7f106ee Add reflective material 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien d7667fa266 Create material abstraction 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien aabfe7924d Gamma correct pixels before writing out 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 7552ec2fc9 Implement Lambertian diffuse scattering 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 89597c9b01 Implement Gaussian anti-aliasing 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 172956ae46 Parallelise rendering 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 219415aee6 Sample each pixel multiple times 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 6215927179 Implement diffuse scattering 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 2037b5681f Prevent potential divide by zero in vec3_unit() 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 77cb219749 Implement RNG module 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien d5474546ca Simplify hit detection logic 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 7400228c0c Move rendering logic into camera module 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien bf05f1df59 Handle hits on multiple objects 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 8482373b4c Add "ground" to demo scene 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien d08629a4df Add front/back face detection 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien d6f583c260 Move camera initialisation into seperate module 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien a345835703 Create obj module for scene objects 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 88dc098db2 Colour sphere based on normal 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 9048039be0 Implement simple intersection detection with sphere 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien 163874c175 Set up camera and bg in demo 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien e00c16f9df Create vec3 module 2025-09-22 19:49:13 +01:00
Camden Dixie O'Brien db37197a49 Add license (Komorebi) 2025-09-20 14:45:42 +01:00
Camden Dixie O'Brien 93a8f52549 Write simple CMake build config 2025-09-20 14:45:42 +01:00
Camden Dixie O'Brien 4eacecfdbf Add .gitignore for build directory and output images 2025-09-20 14:45:42 +01:00
Camden Dixie O'Brien a78c8914d5 Create initial demo writing an image 2025-09-20 14:45:42 +01:00
Camden Dixie O'Brien 04bdedd131 Write simple farbfeld-writing module 2025-09-20 13:31:22 +01:00