Move your mouse to the top or bottom of the screen for some options. Diffuse and specular sphere Monte-Carlo render Run in turbowarp: https://turbowarp.org/507498834?turbo A better faster real time version on shadertoy (requires a decent graphics card): https://www.shadertoy.com/view/fdBXRm
[Credits] Collisions by @canthiar @Geotale for specular reflection Some credit to Canon, I replicated the Canon Log 3 Colorspace for this project. #globalIllumination #recursive #GI #ray #madness #RayMadness #shader [Change Log] V0.0.0 - a project called "Ray Tracer with a Terrible Shader lol" was shared (now unshared) V0.1.0 - diffuse sphere render with spheres that subtract light & spheres that add light V0.2.0 - diffuse sphere render with accurate lighting, multiplicative rather than additive V0.2.1 - added specular spheres V0.2.2 - merged the all the materials to within a single distance function & added second scene V0.2.3 - made the pixels update only every four samples to save time (because the [ replace item () in (list) ] block is very slow and it's more efficient to use this block minimally) V0.2.4 - made some changes to the lighting, making it more accurate by only clamping the presented value rather than the values going into the save list, in order to keep it more realistic & simulate proper camera exposure. V0.2.5 - made some more changes to scene setup to make it a bit more intuitive & to increase render speed by reducing operations. It probably makes a minimal difference but it's still something! V0.3.0 - completely revamped lighting! Removed second scene, made some minor optimizations, etc. V.0.3.1 - re-added second scene but it's different, added sky colors, made the interface more accessible. V0.4.0 - revamped lighting once again, added 2 more scenes. V0.4.1 - edited scenes, edited some lighting stuff, and added my recreation of the Canon Log 3 Colorspace: https://www.desmos.com/calculator/lbuyx3qjps