Learning some Unity shader compilation tricks
As a seasoned shader artist, you probably know that when it comes down to it, rendering is no piece of cake. If you’ve ever tried to make your own rendering system from scratch instead of relying on a game engine such as Unity and its pre-made rendering pipelines, then you know that writing shader code is just one step among many to actually display something on the screen. Out in the wild, you also have to worry about graphics backends, platform-specific compilation, cross-platform API compatibility, and much more!
And with the ever-growing variety of possible target devices, and in particular, the growing usage of mobiles and tablets for gamers, saying that you are going to produce a fully cross-platform game means you’ll need to think about dozens of graphics APIs and backends that can be very different from each other.
Now, of course, this is where 3D and game engines shine: by abstracting away this low-level rendering...