"Shaders are the digital equivalent of a photographer's lens, lighting setup, and film stock all rolled into one." — Project Reflection
As a programmer with a background in photography, I wanted to bridge the gap between Engine Logic and Visual Art. This project is not just a 3D environment; it is a custom rendering stack built in Unity URP.
The goal? To engineer a "Lens" that transforms standard 3D assets into a cohesive, atmospheric experience reminiscent of the PSX era, solving complex pipeline challenges along the way.
View the Full Portfolio on ArtStation
I have documented the entire engineering process in the Wiki - CLICK TO DIVE IN.
Or select a section below.
- Terrain Blending: How I ditched Splat Maps for Render Textures to ground the grass.
- Reactive Shaders: Vertex Animation for wind and Depth-Buffer logic for water volume.
- HLSL Integration: Custom lighting functions inside Shader Graph.
- The Retro Stack: Implementing Pixelation, Dithering, and Quantization as Renderer Features.
- Pipeline Engineering: Solving the "Fog vs. Transparency" injection point bug.
- Atmosphere: Creating volumetric-style fog using Height and Horizon fading.
- Composition: Building a "Post-Soviet" mood.
- Optimization: GPU Instancing and Render Texture economy.
- Engine: Unity 6.2 (6000.2.13f1 - Supported) (URP)
- Language: HLSL (Custom Nodes), C# (Renderer Features)
- Tools: Shader Graph, Terrain Editor