Hi, I’m very new to shader programming and I’m looking for a high-level overview of what can be done with shaders (and what kind of shaders ) to give me a better understanding of what can be achieved and how I can approach concrete problems.
One of the usecases I was wondering about is something like this (please zoom to 100% size):
Let’s say I have an isometric view on a city and buildings are (partly) obscuring a player controlled mech and enemy vehicles in the streets. How could I make the buildings transparent with a blurred and dithered mask of the player mech and how could I draw colored and transparent silhouettes or outlines of enemies wherever they are covered by a building?
And how (if at all) could I modify the standard pbr shader to output 1 or 2 more “buffers” (is that what those are called?) of data (e.g. surface temperature information defined by a texture) that can be accessed and processed in fullscreen post effect shaders to render things light heat distortion over hot objects or a thermal nightvision effect.
I do realize that those are probably all very advanced topics that may or may not be possible at all. I’m a little lost on where I should start reading and what to google to get a grasp on those things.
What I have managed so far is adapting some code I found into a bayer matrix dithering effect overlay to simulate the aesthetic of pixelated and dithered low bit-depth retro graphics. I’m sure I can find info on how to blur a mask of a silhouette of the player mech (once I find out how to render such a mask - I believe “stencil buffer” is the magic keyword here) and I probably could adapt the code to dither the soft border of the mask from there. But how do I get the two passes I need to combine with the mask to get a see-through effect? Or do I need to do this on the material shader in screenspace? I’d be happy if you could point me in the right direction or tell me what to google. Thanks!