Posts

Enhancing Raven: Multisampling and Distribution Ray Tracing

Image
Introduction Hi everyone, welcome to the third blog of my ray tracing journey. In this assignment, I have implemented several nice features in Raven, including multisampling, depth of field, area light, glossy reflection and motion blur . These new features enhance the realism of the rendered scenes, further expanding Raven’s power. 🐦 Deadmau5 Scene with 1 Area Light and 900 samples, rendered in 3min 55sec Before you start reading my blogpost, I would like to introduce one of my favorite musicians “ Deadmau5 ” 😊. I have rendered his icon in Raven. I want to share one of his songs that you can listen to while reading the blogpost. “Jaded” was released 17 years ago, and he recently remastered it, naming the new version as “Re_jaded”. I really love this version; it brings back memories of my childhood.  Here’s link  please listen to it. (Later, I might create this music video in Raven. I think the visualization is really cool.) Implementation Firstly, I implemented multisa...

Leveling Up Raven: BVH, Transformations, and Instancing

Image
 “The enigmatic duo David’s Reflection has captivated audiences with their unique fusion of classical and modern sounds, and now, they’re set to release their highly anticipated album, Gaze of Eternity . Known for their haunting melodies and introspective lyrics, David’s Reflection draws inspiration from the iconic duality of Michelangelo’s David, embodied by the two statues staring forward on the album cover. Gaze of Eternity delves into themes of identity, introspection, and timeless beauty, capturing a soundscape where ancient echoes meet contemporary beats. Fans of art rock and atmospheric pop alike will find themselves immersed in a world where music reflects the tension and harmony of looking both inward and outward, balancing tradition with innovation. This album promises to be a soulful journey, one that resonates with those who are unafraid to confront their own reflections and the art that shapes them.” ( generated by gpt4 ) (I wanted to make funny opening since the im...

Raven: The Beginning of My Ray Tracing Journey

Image
Hi everyone, welcome to the first blog of my ray tracing journey. I will introduce you to my ray tracer, “ Raven ”. Throughout history, ravens have served as messengers, delivering crucial information across distances. Similarly, my ray tracer sends rays through scenes, collecting and processing visual data to create images.  I chose the name Raven because it symbolizes the journey from scene to image, just like ravens carried messages between distant places. Raven Scene: rendering time : 9.45 sec Implementation Design and Architecture We can consider this homework is the foundation of our ray tracing journey.  Before I started the homework, I made some design decisions. I know that our ray tracer will grow with each homework, so I need to take some precautions. I wanted to build the Raven in a clear and structured way to make it easier to maintain and add new features as the project grows.  I am currently developing the Raven on the Windows 10 platform, using C+...

Computer Graphics II - Term Project - Vulpix

Image
 Hi everyone! In this blog post, I will talk about my term project in CENG469 course, which is Vulkan based Ray Tracer, Vulpix . Inspired by the captivating Fire-type Pokemon of the same name. Vulpix combines the power of Vulkan and the art of ray tracing to bring you stunningly lifelike graphics.      Vulpix Ray Tracer - Crytek Sponza Scene Firstly,  I will give you brief information about the ray tracing pipeline, the acceleration structure, and the shader binding table. After that, I will show basic features of Vulpix shortly. Then, I will talk about the problems I faced and how I solved them. Vulkan Ray Tracing Pipeline and Acceleration Structure At the heart of my Vulkan-based ray tracer lies the VK_KHR_ray_tracing_pipeline extension . This powerful feature harnesses the GPU's capabilities to accelerate ray tracing, enabling us to achieve realistic visual effects. The ray tracing pipeline encompasses key stages, including ray generation, intersection...

Computer Graphics II - HW 2 - Dynamic Cube Mapping

Image
       Hi everyone, in this post, I will talk about my second assignment in CENG469 course, which is cubemapping.   Firstly, I will explain how I implement the homework, then I will talk about issues that I faced during the implementation. So, let's begin! Flight Simulator In this assignment, we were expected to implement environment mapping and reflection capabilities using cubemaps in OpenGL. Normally, the expected end product of this assignment is a drivable car. However, I want to fly an airplane, because why not :) It is also mentioned in the homework text that we are free to implement our own design choices. Then, I start to create the flight simulator.  Firstly, as a challenge to myself, I want to build an abstract renderer like a mini-game engine, not just a single file program.  Since I am dealing with an application with a renderer in my senior project, I wanted this homework codebase to look like this. :) Then, I created corresponding classe...