Commit Graph

  • 3c04d674a5 Write README main cdo 2025-09-23 15:41:58 +01:00
  • e35d1a68a3 Add demo image cdo 2025-09-23 15:46:13 +01:00
  • c1af03bfd5 Tweak demo scene cdo 2025-09-23 15:36:09 +01:00
  • cf876f4a8b Allow negative sky colour to be specified cdo 2025-09-23 15:36:09 +01:00
  • e6ee20d5d1 Create multiple demo programs cdo 2025-09-23 15:36:09 +01:00
  • af3e685022 Add area light material cdo 2025-09-23 15:36:09 +01:00
  • d6a2a8aa44 Allow -1 to be passed for auto focal length cdo 2025-09-23 15:36:09 +01:00
  • 9fb16a58c4 Set absorbed colour in material scatter function cdo 2025-09-23 15:36:09 +01:00
  • cc7ff471f1 Add camera aperture / depth-of-field cdo 2025-09-23 15:36:08 +01:00
  • 9e3bc4176b Add PNGs to .gitignore cdo 2025-09-23 15:36:08 +01:00
  • cf8937cd6e Add rng_xy() cdo 2025-09-23 15:36:08 +01:00
  • 0dccfcddea Rename rng_disc() to rng_plusminus() cdo 2025-09-23 15:36:08 +01:00
  • fa60617d9e Adjust camera to focus at target cdo 2025-09-23 15:36:08 +01:00
  • fc9980b838 Move rendering functions to own module cdo 2025-09-23 15:36:08 +01:00
  • 5edca0b565 Randomise scene cdo 2025-09-23 15:36:08 +01:00
  • e407090152 Increase MAX_ITER in camera cdo 2025-09-23 15:36:08 +01:00
  • 61f9ec7642 Create scene data structure cdo 2025-09-23 15:36:08 +01:00
  • a6b52d5f75 Change sky colour cdo 2025-09-23 15:36:08 +01:00
  • c32c903d18 Allow camera position and target position to vary cdo 2025-09-23 15:36:08 +01:00
  • 75159e7223 Remove focal_len parameter from camera (hard-code as 1.0) cdo 2025-09-23 15:36:08 +01:00
  • bb6c1683b2 Specify camera FOV instead of viewport height cdo 2025-09-23 15:36:08 +01:00
  • 90240ee5ad Add fuzz parameter to reflective material cdo 2025-09-23 15:36:08 +01:00
  • 1e31fae5d0 Make samples per pixel a camera parameter cdo 2025-09-23 15:36:08 +01:00
  • 1eb8fd3067 Add dielectric material cdo 2025-09-23 15:36:08 +01:00
  • cdc56a119f Add progress output cdo 2025-09-23 15:36:08 +01:00
  • 249eedc5d6 Tweak demo scene a little cdo 2025-09-23 15:36:08 +01:00
  • 187876c3f2 Add reflective material cdo 2025-09-23 15:36:08 +01:00
  • ce45c57662 Create material abstraction cdo 2025-09-23 15:36:08 +01:00
  • b15edd1906 Gamma correct pixels before writing out cdo 2025-09-23 15:36:08 +01:00
  • a2559d373f Implement Lambertian diffuse scattering cdo 2025-09-23 15:36:08 +01:00
  • 61cfddd75c Implement Gaussian anti-aliasing cdo 2025-09-23 15:36:08 +01:00
  • 75b646dd44 Parallelise rendering cdo 2025-09-23 15:36:08 +01:00
  • 8827f22359 Sample each pixel multiple times cdo 2025-09-23 15:36:08 +01:00
  • c92f43ca3c Implement diffuse scattering cdo 2025-09-23 15:36:08 +01:00
  • 83154d7548 Prevent potential divide by zero in vec3_unit() cdo 2025-09-23 15:36:08 +01:00
  • 5d48f61406 Implement RNG module cdo 2025-09-23 15:36:08 +01:00
  • 036b8fd4d3 Simplify hit detection logic cdo 2025-09-23 15:36:08 +01:00
  • 3687723153 Move rendering logic into camera module cdo 2025-09-23 15:36:08 +01:00
  • f934cc8fa8 Handle hits on multiple objects cdo 2025-09-23 15:36:08 +01:00
  • 252489f6d9 Add "ground" to demo scene cdo 2025-09-23 15:36:08 +01:00
  • 9bf8753f42 Add front/back face detection cdo 2025-09-23 15:36:08 +01:00
  • f4ffea57fd Move camera initialisation into seperate module cdo 2025-09-23 15:36:08 +01:00
  • 47fcd8a11e Create obj module for scene objects cdo 2025-09-23 15:36:08 +01:00
  • f7e71da27f Colour sphere based on normal cdo 2025-09-23 15:36:08 +01:00
  • 4705671b53 Implement simple intersection detection with sphere cdo 2025-09-23 15:36:08 +01:00
  • 255f2bfae8 Set up camera and bg in demo cdo 2025-09-23 15:36:08 +01:00
  • 65b50578fa Create vec3 module cdo 2025-09-23 15:36:08 +01:00
  • db2c95640d Add license (Komorebi) cdo 2025-09-23 15:36:08 +01:00
  • b1256f4648 Write simple CMake build config cdo 2025-09-23 15:36:08 +01:00
  • ad9c3373fe Add .gitignore for build directory and output images cdo 2025-09-23 15:36:08 +01:00
  • 1144d0d9a4 Create initial demo writing an image cdo 2025-09-23 15:36:08 +01:00
  • 9d153c4e57 Write simple farbfeld-writing module cdo 2025-09-23 15:36:08 +01:00