Global Illumination Shader

My custom GI Shader

Global Illumination Shader

I wanted to create a simple Global Illumination shader for TVs in VRChat.

The shader was made using Amplify, a unity block coding shader tool.

It's a simple shader that requires a light bake from the TV using three channels RGB. Then, after the bake is done, it uses the light maps generated in the shader to decode and uses them to recreate diffuse but no specular. This shader is very cheap because the math needed to decode the light maps and make them change to another color is very simple.

To change the colors to the color of the screen, we would need the screen texture in a render texture and the shader would grab the colors from it. Every channel has three points on the screen to grab color from, those three points are top, middle and bottom this way the shader will use the brightest color it can grab from the three points we have. Then from those three colors, we can just pass them to the RGB light map. This is how I created a very simple GI shader.

This shader was used in one of my environments. The shader was very cheap, as expected as caused no lag during the event.


Contact me and I'll be right with you.