Commit Graph

25 Commits

Author SHA1 Message Date
0dccfcddea Rename rng_disc() to rng_plusminus() 2025-09-23 15:36:08 +01:00
fc9980b838 Move rendering functions to own module 2025-09-23 15:36:08 +01:00
5edca0b565 Randomise scene 2025-09-23 15:36:08 +01:00
61f9ec7642 Create scene data structure 2025-09-23 15:36:08 +01:00
c32c903d18 Allow camera position and target position to vary 2025-09-23 15:36:08 +01:00
75159e7223 Remove focal_len parameter from camera (hard-code as 1.0) 2025-09-23 15:36:08 +01:00
bb6c1683b2 Specify camera FOV instead of viewport height 2025-09-23 15:36:08 +01:00
90240ee5ad Add fuzz parameter to reflective material 2025-09-23 15:36:08 +01:00
1e31fae5d0 Make samples per pixel a camera parameter 2025-09-23 15:36:08 +01:00
1eb8fd3067 Add dielectric material 2025-09-23 15:36:08 +01:00
249eedc5d6 Tweak demo scene a little 2025-09-23 15:36:08 +01:00
187876c3f2 Add reflective material 2025-09-23 15:36:08 +01:00
ce45c57662 Create material abstraction 2025-09-23 15:36:08 +01:00
75b646dd44 Parallelise rendering 2025-09-23 15:36:08 +01:00
5d48f61406 Implement RNG module 2025-09-23 15:36:08 +01:00
3687723153 Move rendering logic into camera module 2025-09-23 15:36:08 +01:00
f934cc8fa8 Handle hits on multiple objects 2025-09-23 15:36:08 +01:00
252489f6d9 Add "ground" to demo scene 2025-09-23 15:36:08 +01:00
9bf8753f42 Add front/back face detection 2025-09-23 15:36:08 +01:00
f4ffea57fd Move camera initialisation into seperate module 2025-09-23 15:36:08 +01:00
47fcd8a11e Create obj module for scene objects 2025-09-23 15:36:08 +01:00
f7e71da27f Colour sphere based on normal 2025-09-23 15:36:08 +01:00
4705671b53 Implement simple intersection detection with sphere 2025-09-23 15:36:08 +01:00
255f2bfae8 Set up camera and bg in demo 2025-09-23 15:36:08 +01:00
1144d0d9a4 Create initial demo writing an image 2025-09-23 15:36:08 +01:00