Custom Shaders in Unreal Engine 5
The goal of this project was to explore how I can extend the rendering pipeline in Unreal Engine 5 by adding a custom render pass, scene view extension and shader. I wanted to avoid using the ‘Custom Code’ node (or blueprints in general) and see if this goal is achievable by only using C++ and compute shaders. I decided to work on noise generation by going through “The Book of Shaders” as this will give me visible results while learning various shader techniques (such as shaping functions or noise generation methods).
To add a custom render pass, I created a class which inherits from FSceneViewExtensionBase. By overriding the necessary functions, I was able to initialize the render pass and subscribe it to the rendering pipeline. That’s where I also initialize and bind the shader’s parameters and dispatch it.
The project can be found on my GitHub where I explain this process in more detail.
This project is still in progress, as I’m planning to finish “The Book of Shaders” and implement more types of noises (such as blue noise).
I currently have an animated splatter noise, from chapter 11 of “The Book of Shaders”: