Illuminating Raven: Adding HDR and Advanced Lighting to Raven
Hi everyone and welcome to the fifth blog of my ray tracing journey. In this assignment, I have implemented new types of lights in Raven; directional, spot and environment light. In addition to that, Raven now supports High Dynamic Range (HDR) rendering and tone mapping. Dragon New with Spot Scene rendered in 287ms Implementation: HDR Rendering and Tone Mapping We will no longer save our outputs as PPM or PNG files that clipped to 8-bit [0-255] range. Instead, we can save the rendered images as HDR format using the .exr format. Additionally, Raven will have the capability to tone map these images and save them as PNG images. For reading and writing HDR images, I used tinyexr library. For tone mapping, I implemented Reinhard’s Photographic Tonemapping Algorithm. Cube Point HDR Scene rendered in 39ms. Directional Light Directional lights are defined by two key parameters, radiance and direction , and are treated as if they originate at an infinite distance, making all rays parallel. This...