The Shader Programming module during my final year studying Games Design and Development taught me about the creation and implementation of fragment and vertex shaders. We started off
learning GLSL in Shadertoy to gain and understanding of shaders, then moved on to converting what we learnt to HLSL and implementing the code into custom material nodes in Unreal Engine 5.
The scene walkthrough (in the video below) showcases my use of Unreal Engine 5's Material graph to create many different shader materials, both fragment and vertex, and post processing effects,
as well as my use of HLSL shaders originally created in Shadertoy. The scene shows the player walking through portals to change the post processing on the camera to comic book "Spiderverse"
and "Tron" style effects, with the 3rd portal changing the water to a more realistic material and applying vertex shaders to the trees and custom HLSL materials to the ground and surrounding
cliffs.
I also learnt about the Shader Optimisation View Mode in UE5 and how shaders are ranked by their instruction count, to which I also performed research into the link between UE5's "instruction
count" and the GPU cycles each operation inside the shader takes. I found out that the instruction count does not equal the GPU cycles the shader performs, but the Shader Optimisation
View Mode is helpful for seeing which shaders are optimised the worst and can help in finding which shaders have the highest priority to be optimised.