SkyboxBlended
m (Text replace - "<shaderlab>" to "<syntaxhighlight lang="shaderlab">") |
m (Text replace - "</shaderlab>" to "</syntaxhighlight>") |
||
Line 69: | Line 69: | ||
Fallback "RenderFX/Skybox", 1 | Fallback "RenderFX/Skybox", 1 | ||
− | }</ | + | }</syntaxhighlight> |
==ShaderLab - SkyboxBlendedFog.shader== | ==ShaderLab - SkyboxBlendedFog.shader== | ||
Line 132: | Line 132: | ||
Fallback "RenderFX/Skybox", 1 | Fallback "RenderFX/Skybox", 1 | ||
− | }</ | + | }</syntaxhighlight> |
Revision as of 21:56, 17 January 2012
Author: Aras Pranckevicius
Contents |
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).
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.
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 "RenderFX/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 } SetTexture [_FrontTex2] { combine previous +- primary, previous * primary } } Pass { SetTexture [_BackTex] { combine texture } SetTexture [_BackTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous } SetTexture [_BackTex2] { combine previous +- primary, previous * primary } } Pass { SetTexture [_LeftTex] { combine texture } SetTexture [_LeftTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous } SetTexture [_LeftTex2] { combine previous +- primary, previous * primary } } Pass { SetTexture [_RightTex] { combine texture } SetTexture [_RightTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous } SetTexture [_RightTex2] { combine previous +- primary, previous * primary } } Pass { SetTexture [_UpTex] { combine texture } SetTexture [_UpTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous } SetTexture [_UpTex2] { combine previous +- primary, previous * primary } } Pass { SetTexture [_DownTex] { combine texture } SetTexture [_DownTex2] { constantColor (0,0,0,[_Blend]) combine texture lerp(constant) previous } SetTexture [_DownTex2] { combine previous +- primary, previous * primary } } } Fallback "RenderFX/Skybox", 1 }
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 "RenderFX/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 "RenderFX/Skybox", 1 }