RainbowPainting

['Graphics', 'Tools', 'Unreal Engine']

This was a huge project I worked on for about three years. The goal was basically a learning attempt to see if I could build something at the scale of Substance Painter, but directly inside Unreal Engine. What came out of it is a full-blown painting plugin where you can create and edit textures in real time, right inside the editor. The plugin implements a ton of custom systems under the hood: A layer system that supports blending, masking, and stacking operations, much like what you’d expect in Substance. A custom ambient occlusion baker and a curvature baker, both built on top of ray generation shaders (so it can take advantage of GPU ray tracing hardware). Tools that are completely modular — you can even create your own painting tools in Blueprints, so artists aren’t locked into fixed workflows. On the painting side, it handles brush strokes in real time, with support for custom channels and materials. I put a lot of focus on performance, so the whole pipeline works like a virtual texturing system, keeping only the active textures in VRAM while layers live in RAM. It’s by far one of my most ambitious projects — part renderer, part editor extension, part painting app — all stitched together to run smoothly.

avatar
avatar
avatar
avatar