{"author_link":"\/users\/andriybyelikov","author_name":"andriybyelikov","author_uid":"andriybyelikov","comments":[],"epoch":1776384286,"event":"LD59","format":"md","ldjam_node_id":427206,"likes":9,"metadata":{"p_key":"95172","p_author":"andriybyelikov","p_authorkey":"1374028","p_urlkey":"309994","p_title":"Checking in","p_cat":"LDJam ","p_event":"LD59","p_time":"1776384286","p_likes":"9","p_comments":"0","p_status":"WAYBACK","us_key":"1374028","us_name":"LDJam user 374028","us_username":"374028","event_start":"1776470400","event_key":"113","event_name":"Ludum Dare 59"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD59","removed_author":false},"_superparent":424249,"_trust":1,"author":374028,"body":"Six months go by and it's time for another Ludum Dare. I will build upon the real-time ray tracing engine that I made and documented ([part 1](https:\/\/ldjam.com\/events\/ludum-dare\/58\/wavelength-collector\/wavelength-collector-retrospective-part-1-of-2)) ([part 2](https:\/\/ldjam.com\/events\/ludum-dare\/58\/wavelength-collector\/wavelength-collector-retrospective-part-2-of-2)) during Ludum Dare 58 and author the scenes by hand in JSON. Sadly I did not make many improvements to it since then but here are some that will make it in this time:\n- Implemented a hue-preserving HSV logarithmic Reinhard tone mapper\n- Implemented an energy-conserving diffuse-specular BRDF that reconstructs the projected area of a point light's surrogate sphere to give the illusion of an area light, with the caveat that it only reflects light sources and only models 100% smooth surfaces\n- Added a glossiness object attribute that can be either 0.0 or 1.0 to toggle specular reflections on an object\n- Added triangle geometry attributes\n- Implemented ray-triangle intersection\n\n![improvements.png](\/\/\/raw\/c05\/b5\/z\/6fd12.png)\n\n- **Engine:** ludumdare58+\n- **APIs:** WebGL2 (OpenGL ES 3.0)\n- **Programming Languages:** JavaScript, GLSL\n- **UI Authoring Languages:** HTML, CSS\n- **Scene Authoring Language:** JSON\n- **IDE:** Code - OSS\n- **Development Server & Resource Bundler:** Vite\n- **Music.** Yamaha PSS-A50, Bitwig Studio Essentials","comments":0,"created":"2026-04-16T22:26:08Z","files":[],"files-timestamp":0,"id":427206,"love":9,"love-timestamp":"2026-04-17T10:29:41Z","meta":[],"modified":"2026-04-17T10:29:41Z","name":"Checking in","node-timestamp":"2026-04-17T00:04:46Z","parent":424272,"parents":[1,5,9,424249,424272],"path":"\/events\/ludum-dare\/59\/funnel-world\/checking-in","published":"2026-04-17T00:04:46Z","scope":"public","slug":"checking-in","subsubtype":"","subtype":"","type":"post","version":1347505},"node_metadata":{"n_key":"427206","n_urlkey":"309994","n_parent":"424272","n_path":"\/events\/ludum-dare\/59\/funnel-world\/checking-in","n_slug":"checking-in","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"374028","n_created":"1776378368","n_modified":"1776421781","n_version":"1347505","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/59\/funnel-world\/checking-in","text":"Six months go by and it's time for another Ludum Dare. I will build upon the real-time ray tracing engine that I made and documented ([part 1](https:\/\/ldjam.com\/events\/ludum-dare\/58\/wavelength-collector\/wavelength-collector-retrospective-part-1-of-2)) ([part 2](https:\/\/ldjam.com\/events\/ludum-dare\/58\/wavelength-collector\/wavelength-collector-retrospective-part-2-of-2)) during Ludum Dare 58 and author the scenes by hand in JSON. Sadly I did not make many improvements to it since then but here are some that will make it in this time:\n- Implemented a hue-preserving HSV logarithmic Reinhard tone mapper\n- Implemented an energy-conserving diffuse-specular BRDF that reconstructs the projected area of a point light's surrogate sphere to give the illusion of an area light, with the caveat that it only reflects light sources and only models 100% smooth surfaces\n- Added a glossiness object attribute that can be either 0.0 or 1.0 to toggle specular reflections on an object\n- Added triangle geometry attributes\n- Implemented ray-triangle intersection\n\n![improvements.png](\/\/\/raw\/c05\/b5\/z\/6fd12.png)\n\n- **Engine:** ludumdare58+\n- **APIs:** WebGL2 (OpenGL ES 3.0)\n- **Programming Languages:** JavaScript, GLSL\n- **UI Authoring Languages:** HTML, CSS\n- **Scene Authoring Language:** JSON\n- **IDE:** Code - OSS\n- **Development Server & Resource Bundler:** Vite\n- **Music.** Yamaha PSS-A50, Bitwig Studio Essentials","title":"Checking in","wayback_source":[]}