You are browsing as a guest. Sign up (or log in) to start making projects!

2h 56m 17s logged

—————– Devlog XVII —————–

- :spin-loading: Strange :spin-loading: Hours -

To recap, my project is a custom made rendering engine that focuses on diverse rendering options along with high stylistic control (very high-level explanation).


✨ What did I do? ☀️

To start off, I did not work directly on my application, but the online demo. It’s like working on the website, but through another editor sometimes.

The goal of the Path Tracer is to eventaully get it clean & quick enough to be real-time. This is the first of the 5 renderers that I will be making.

I was working on my online shadertoy DEMO for the Path Tracer, specifically the denoiser. The name of the denoiser I am using is the “Edge-Avoiding Á Trous Wavelet Transform”.

As a quick overview:

  • It applies a blur “with holes” to allow for less to no image distortion
  • Fast enough for realtime
  • Includes “weights” based on (in my code): Normal, Depth, and Color. The larger the difference between the center pixel and the scanned pixel* (kernel), the more weight is applied, lessening the amount of blur.

This is amazing, however when the camera moves, the denoiser assumes that the current and previous pixel are in the same world postion (when it isn’t). This causes errors when trying to overlay the image and gather data. This is why we track the motion of the camera, creating a vector to get the same world position pixel.

I got this wrong on one of the first attempts, the last attachment (videos are compressed) shows that fun video (warning for those who get motion sick).

With this, I am able to blur the image, and with some more techniques, I can get rid of “ghosting.”


:miku: Thank You for Reading :3-blahaj-spinning:

In the videos, I rendered them in fullscreen 4k on my better laptop+GPU, don’t worry about your system being too slow, just don’t fullscreen it <3 (the development was done on my lower end mac).

The hours logged are from refactoring the project after the last devlog, and editing the code when I didn’t do it in shadertoy’s editor.

Github repo: https://github.com/pkncoder/Engine
Project landing page: https://pkncoder.github.io/Engine


🥀 Git Commits 🗿

BREAKING CHANGE - Refactored Buffer & GPUResource managers + IRenderer - Code has been broken for a bit but womp womp

Shadertoy shaders path tracer https://www.shadertoy.com/view/7fBSzR

0
17

Comments 0

No comments yet. Be the first!