Click Here to view all the amazing entries to Rookie Awards 2024
Painterly Shader System
Share  

Painterly Shader System

Alex Sterneckert
by asternec on 16 May 2024 for Rookie Awards 2024

Pipeline for creating painterly graphics from any assets. Textures are processed by a compute shader and passed to a fragment shader. Geometry shaders are used to break up outlines.

0 74 0
Round of applause for our sponsors

I had been working, for about a month, on a rework of the concept we had for Painted Connections (https://tijmenmatthys.itch.io/painted-connections). I wanted to learn all about shader programming, so I decided to program my own shaders this time, instead of using Shader Graph. I very much enjoyed it and it opened up many new possibilities.

Another thing I wanted was a system to turn albedo textures into stylized textures. I accomplished this with a compute shader that is called at the start of the game, averages out the colors within a stroke, and feeds the resulting texture to the material. While batch processing assets in Substance Designer is more efficient in terms of GPU usage, this approach allows for instant use of any texture, be it from Megascans, another asset pack, or elsewhere, with little to no artist input. It works best on uniquely unwrapped meshes with few seams and benefits from having grouping similar colors in the UV map for performance optimization. 

Here is another example scene, this time outdoors.

All assets and textures are from Megascans, save for the strokes textures used in the compute and fragment shaders, those were made in Substance Designer and Substance Painter.


Comments (0)

This project doesn't have any comments yet.