Night Vision Shader
A stylized night vision shader built in Unreal Engine.
Briefing
Developed as part of a Technical Art project, this custom Night Vision Shader was created to enhance the Cat transformation in KAVA – Tales of a Morphling. The shader combines multiple post-process effects into a fully parameterized rendering pipeline, resulting in a stylized visual identity while remaining seamlessly integrated into gameplay.
Shader Features
-
Pixelation
Reconstructs screen-space UVs to sample the scene on a lower-resolution grid, creating adjustable pixelation without changing the actual render resolution.
-
Color Posterization
Reduces the available color levels through color quantization, reinforcing the stylized appearance alongside the pixelation effect.
-
Desaturation & Color Tint
Converts the scene into a controllable monochromatic base before applying a customizable color tint, producing the characteristic night vision appearance.
-
Glowing Outlines
Detects depth discontinuities using a Laplacian edge filter to generate adjustable glowing outlines, improving scene readability while strengthening the visual style.
- Blueprint Integration The shader is fully integrated into gameplay through a dedicated Blueprint actor. A Post Process Component enables additional rendering controls such as exposure compensation, lens flare adjustments, and vignette settings while activating the effect exclusively during the Cat transformation.
What I Learned
This project significantly deepened my understanding of Unreal Engine's post-process pipeline, material architecture, and shader development workflow. Building the glowing outlines taught me how to detect edges in screen space: by applying a Laplacian edge filter to the scene depth, I could isolate depth discontinuities and turn them into adjustable outlines. Through multiple iterations and technical challenges, I learned how rendering order, Blendable Locations, and modular material design directly influence both visual quality and maintainability.
About Me
Hi! I'm Uzay, a Game Development student at Hochschule Offenburg, specializing in Technical Art and Gameplay Programming. Growing up with Nintendo's classics, I'm driven by a lifelong love for video games that I want to express through the worlds I create. While I have mainly taken on roles as Gameplay Programmer and Creative Director in my previous projects, I'm particularly interested in developing shaders, gameplay mechanics and systems, as well as conceptualizing new ideas and finding ways to improve and refine existing ones. I'm always curious to explore new areas, learn new skills and broaden my perspective as a developer.