Shader Compilation

Import time – when you create a .shader file

  • compile the shader variants only when needed, etc. platform, variants

Build time – when you build a player

  • [level 1] ShaderLab -> glsl or hlsl or …etc
    • if platform supports, from [level 2] hlsl -> IL or MetalSL to AIR…etc
  • Cache identical shaders under Library/ShaderCache
  • compile only not-yet-ever-compiled shaders (variants for this platform only)

Run time – when you open the app

  • [level 3] glsl or hlsl or IL or AIR…etc -> driver (GPU bytecode)
    • because target device is unknown for PC/mobile at buildtime
  • Depends on driver, when to compile these codes e.g. only when it’s used
    • use shader pre-warm to “use” shaders to trigger compilation

 

Sources from lukasc, robs, Unity Manual and https://blogs.unity3d.com/2014/05/06/shader-compilation-in-unity-4-5/

2 Unity Packages are already up

As mentioned, the Lava Flowing Shader has been released for free on Unity Asset Store!

Link: https://www.assetstore.unity3d.com/en/#!/content/33635

As my knowledge about shader keeps growing slowly, I found that I can blend more than 2 layers of “UV”…..It is because the 2 texcoords limit only limits on input. Your FBX model can only have 2 UV channels but shader can make instances of the 2 UV texcoords and thus let you have more layers of texture blending. I will try to update the package later.

*************************

Another package Simple SeeThrough Shader has been released on Unity Asset Store also. Link: https://www.assetstore.unity3d.com/en/#!/content/33924

Continue reading “2 Unity Packages are already up”

Awkward, but a cheaper option instead of hue shift shader

20150203_01

“Color Tint” is an usual setting appeared in shaders, which normally doing the multiply effect to textures. Multiply makes everything darker, you cannot keep a part of texture to remain white, unless the shader lets you to have the alpha channel specifying which area would be affected.

20150203_02

Continue reading “Awkward, but a cheaper option instead of hue shift shader”