{"id":28671,"date":"2026-08-21T16:49:34","date_gmt":"2026-08-21T21:49:34","guid":{"rendered":"https:\/\/blog.kenperlin.com\/?p=28671"},"modified":"2026-08-21T16:49:34","modified_gmt":"2026-08-21T21:49:34","slug":"a-world-of-ray-traced-boxes","status":"publish","type":"post","link":"https:\/\/blog.kenperlin.com\/?p=28671","title":{"rendered":"A world of ray traced boxes"},"content":{"rendered":"<p>Ray tracing is a great way to render things in computer graphics if you want advanced features like cast shadows. Unfortunately most real world shapes are difficult to render in ray tracing.<\/p>\n<p>But what if an entire world is created out of one simple type of shape, like a box? In that case, ray tracing becomes much easier.<\/p>\n<p>In that spirit, I built a little scene of a ray traced room, with walls and floors and furniture and people, with everything made entirely out of boxes. You can move any object in the scene by dragging on it with your mouse.<\/p>\n<p>You can also use the \u2190 and \u2192 keys to rotate any object, and the \u2191 and \u2193 keys to tilt your view into the room. Check it out for yourself <a href=\"https:\/\/kenperlin.com\/rb1\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ray tracing is a great way to render things in computer graphics if you want advanced features like cast shadows. Unfortunately most real world shapes are difficult to render in ray tracing. But what if an entire world is created out of one simple type of shape, like a box? In that case, ray tracing &hellip; <a href=\"https:\/\/blog.kenperlin.com\/?p=28671\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;A world of ray traced boxes&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/28671"}],"collection":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28671"}],"version-history":[{"count":3,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/28671\/revisions"}],"predecessor-version":[{"id":28674,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/28671\/revisions\/28674"}],"wp:attachment":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}