SkyboxBlended

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
m (Text replace - "</shaderlab>" to "</syntaxhighlight>")
(ShaderLab - SkyboxBlended.shader)
 
(5 intermediate revisions by one user not shown)
Line 12: Line 12:
  
 
==ShaderLab - SkyboxBlended.shader==
 
==ShaderLab - SkyboxBlended.shader==
<syntaxhighlight lang="shaderlab">Shader "RenderFX/Skybox Blended" {
+
<syntaxhighlight lang="shaderlab">Shader "Skybox/Blended" {
 
Properties {
 
Properties {
 
     _Tint ("Tint Color", Color) = (.5, .5, .5, .5)
 
     _Tint ("Tint Color", Color) = (.5, .5, .5, .5)
Line 34: Line 34:
 
     Cull Off
 
     Cull Off
 
     Fog { Mode Off }
 
     Fog { Mode Off }
     Lighting Off      
+
     Lighting Off
 
     Color [_Tint]
 
     Color [_Tint]
 
     Pass {
 
     Pass {
 
         SetTexture [_FrontTex] { combine texture }
 
         SetTexture [_FrontTex] { combine texture }
 
         SetTexture [_FrontTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
 
         SetTexture [_FrontTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
        SetTexture [_FrontTex2] { combine previous +- primary, previous * primary }
 
 
     }
 
     }
 
     Pass {
 
     Pass {
 
         SetTexture [_BackTex] { combine texture }
 
         SetTexture [_BackTex] { combine texture }
 
         SetTexture [_BackTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
 
         SetTexture [_BackTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
        SetTexture [_BackTex2] { combine previous +- primary, previous * primary }
 
 
     }
 
     }
 
     Pass {
 
     Pass {
 
         SetTexture [_LeftTex] { combine texture }
 
         SetTexture [_LeftTex] { combine texture }
 
         SetTexture [_LeftTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
 
         SetTexture [_LeftTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
        SetTexture [_LeftTex2] { combine previous +- primary, previous * primary }
 
 
     }
 
     }
 
     Pass {
 
     Pass {
 
         SetTexture [_RightTex] { combine texture }
 
         SetTexture [_RightTex] { combine texture }
 
         SetTexture [_RightTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
 
         SetTexture [_RightTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
        SetTexture [_RightTex2] { combine previous +- primary, previous * primary }
 
 
     }
 
     }
 
     Pass {
 
     Pass {
 
         SetTexture [_UpTex] { combine texture }
 
         SetTexture [_UpTex] { combine texture }
 
         SetTexture [_UpTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
 
         SetTexture [_UpTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
        SetTexture [_UpTex2] { combine previous +- primary, previous * primary }
 
 
     }
 
     }
 
     Pass {
 
     Pass {
 
         SetTexture [_DownTex] { combine texture }
 
         SetTexture [_DownTex] { combine texture }
 
         SetTexture [_DownTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
 
         SetTexture [_DownTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
        SetTexture [_DownTex2] { combine previous +- primary, previous * primary }
 
 
     }
 
     }
 
}
 
}
  
Fallback "RenderFX/Skybox", 1
+
Fallback "Skybox/6 Sided", 1
 
}</syntaxhighlight>
 
}</syntaxhighlight>
  
 
==ShaderLab - SkyboxBlendedFog.shader==
 
==ShaderLab - SkyboxBlendedFog.shader==
 
Similar to the above shader, with the addition of a horizon fog texture channel. Can add a nice atmosphere to your scene! Author: [[User:Aubrey|Aubrey Falconer]]
 
Similar to the above shader, with the addition of a horizon fog texture channel. Can add a nice atmosphere to your scene! Author: [[User:Aubrey|Aubrey Falconer]]
<syntaxhighlight lang="shaderlab">Shader "RenderFX/Skybox Blended Fog" {
+
<syntaxhighlight lang="shaderlab">Shader "Skybox/Blended Fog" {
 
Properties {
 
Properties {
 
     _Tint ("Tint Color", Color) = (.5, .5, .5, .5)
 
     _Tint ("Tint Color", Color) = (.5, .5, .5, .5)
Line 98: Line 92:
 
     Cull Off
 
     Cull Off
 
     Fog { Mode Off }
 
     Fog { Mode Off }
     Lighting Off      
+
     Lighting Off
 
     Color [_Tint]
 
     Color [_Tint]
 
     Pass {
 
     Pass {
Line 131: Line 125:
 
}
 
}
  
Fallback "RenderFX/Skybox", 1
+
Fallback "Skybox/6 Sided", 1
 
}</syntaxhighlight>
 
}</syntaxhighlight>

Latest revision as of 12:42, 18 March 2015

Author: Aras Pranckevicius

Contents

[edit] Description

A skybox shader that blends between two sets of skybox textures. Think day and night cycle!

This shader requires a graphics card that has at least three texture blending stages (GeForce3 and up, Radeon and up). Otherwise it will fallback to the standard Skybox shader (i.e. display the first skybox texture set).

[edit] Usage

Just like standard skybox: assign the textures; and the Blend slider controls the blending.

If you want to build or animate the skybox from script, use skyboxmaterial.SetFloat("_Blend", yourBlend) to change the blending; can also use SetTexture material functions to setup or change the textures.

[edit] ShaderLab - SkyboxBlended.shader

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Shader "Skybox/Blended" {
Properties {
    _Tint ("Tint Color", Color) = (.5, .5, .5, .5)
    _Blend ("Blend", Range(0.0,1.0)) = 0.5
    _FrontTex ("Front (+Z)", 2D) = "white" {}
    _BackTex ("Back (-Z)", 2D) = "white" {}
    _LeftTex ("Left (+X)", 2D) = "white" {}
    _RightTex ("Right (-X)", 2D) = "white" {}
    _UpTex ("Up (+Y)", 2D) = "white" {}
    _DownTex ("Down (-Y)", 2D) = "white" {}
    _FrontTex2("2 Front (+Z)", 2D) = "white" {}
    _BackTex2("2 Back (-Z)", 2D) = "white" {}
    _LeftTex2("2 Left (+X)", 2D) = "white" {}
    _RightTex2("2 Right (-X)", 2D) = "white" {}
    _UpTex2("2 Up (+Y)", 2D) = "white" {}
    _DownTex2("2 Down (-Y)", 2D) = "white" {}
}

SubShader {
    Tags { "Queue" = "Background" }
    Cull Off
    Fog { Mode Off }
    Lighting Off
    Color [_Tint]
    Pass {
        SetTexture [_FrontTex] { combine texture }
        SetTexture [_FrontTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
    }
    Pass {
        SetTexture [_BackTex] { combine texture }
        SetTexture [_BackTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
    }
    Pass {
        SetTexture [_LeftTex] { combine texture }
        SetTexture [_LeftTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
    }
    Pass {
        SetTexture [_RightTex] { combine texture }
        SetTexture [_RightTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
    }
    Pass {
        SetTexture [_UpTex] { combine texture }
        SetTexture [_UpTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
    }
    Pass {
        SetTexture [_DownTex] { combine texture }
        SetTexture [_DownTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous }
    }
}

Fallback "Skybox/6 Sided", 1
}

[edit] ShaderLab - SkyboxBlendedFog.shader

Similar to the above shader, with the addition of a horizon fog texture channel. Can add a nice atmosphere to your scene! Author: Aubrey Falconer

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Shader "Skybox/Blended Fog" {
Properties {
    _Tint ("Tint Color", Color) = (.5, .5, .5, .5)
    _FogTint ("Fog Tint", Color) = (.5, .5, .5, .5)
    _FrontTex ("Front (+Z)", 2D) = "white" {}
    _BackTex ("Back (-Z)", 2D) = "white" {}
    _LeftTex ("Left (+X)", 2D) = "white" {}
    _RightTex ("Right (-X)", 2D) = "white" {}
    _UpTex ("Up (+Y)", 2D) = "white" {}
    _DownTex ("Down (-Y)", 2D) = "white" {}
    _FrontTex2("2 Front (+Z)", 2D) = "white" {}
    _BackTex2("2 Back (-Z)", 2D) = "white" {}
    _LeftTex2("2 Left (+X)", 2D) = "white" {}
    _RightTex2("2 Right (-X)", 2D) = "white" {}
    _UpTex2("2 Up (+Y)", 2D) = "white" {}
    _DownTex2("2 Down (-Y)", 2D) = "white" {}
    _FogSide("Side FogMask", 2D) = "white" {}
    _FogBottom("Bottom FogMask", 2D) = "white" {}
}


SubShader {
    Tags { "Queue" = "Background" }
    Cull Off
    Fog { Mode Off }
    Lighting Off
    Color [_Tint]
    Pass {
        SetTexture [_FrontTex] { combine texture }
        SetTexture [_FrontTex2] { constantColor[_Tint] combine texture lerp(constant) previous }
        SetTexture [_FogSide] { constantColor[_FogTint] combine constant lerp (texture) previous }
    }
    Pass {
        SetTexture [_BackTex] { combine texture }
        SetTexture [_BackTex2] { constantColor[_Tint] combine texture lerp(constant) previous }
        SetTexture [_FogSide] { constantColor[_FogTint] combine constant lerp (texture) previous }
    }
    Pass {
        SetTexture [_LeftTex] { combine texture }
        SetTexture [_LeftTex2] { constantColor[_Tint] combine texture lerp(constant) previous }
        SetTexture [_FogSide] { constantColor[_FogTint] combine constant lerp (texture) previous }
    }
    Pass {
        SetTexture [_RightTex] { combine texture }
        SetTexture [_RightTex2] { constantColor[_Tint] combine texture lerp(constant) previous }
        SetTexture [_FogSide] { constantColor[_FogTint] combine constant lerp (texture) previous }
    }
    Pass {
        SetTexture [_UpTex] { combine texture }
        SetTexture [_UpTex2] { constantColor[_Tint] combine texture lerp(constant) previous }
    }
    Pass {
        SetTexture [_DownTex] { combine texture }
        SetTexture [_DownTex2] { constantColor[_Tint] combine texture lerp(constant) previous }
        SetTexture [_FogBottom] { constantColor[_FogTint] combine constant lerp (texture) previous }
    }
}

Fallback "Skybox/6 Sided", 1
}
Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox