XRay

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(add shader for unity 2.0)
m (Text replace - "<shaderlab>" to "<syntaxhighlight lang="shaderlab">")
Line 12: Line 12:
  
 
==ShaderLab - X-Ray Shader for Unity 2.x==
 
==ShaderLab - X-Ray Shader for Unity 2.x==
<shaderlab>Shader "XRay" {
+
<syntaxhighlight lang="shaderlab">Shader "XRay" {
 
     Properties {
 
     Properties {
 
         _Color ("Tint (RGB)", Color) = (1,1,1,1)
 
         _Color ("Tint (RGB)", Color) = (1,1,1,1)
Line 48: Line 48:
  
 
==ShaderLab - X-Ray Shader for Unity 1.x==
 
==ShaderLab - X-Ray Shader for Unity 1.x==
<shaderlab>Shader "XRay" {
+
<syntaxhighlight lang="shaderlab">Shader "XRay" {
 
     Properties {
 
     Properties {
 
         _Color ("Tint (RGB)", Color) = (1,1,1,1)
 
         _Color ("Tint (RGB)", Color) = (1,1,1,1)

Revision as of 21:56, 17 January 2012


Author: Patrik Svensson

Description

A simple additive shader that uses a ramp texture to give it that X-Ray look.

Usage

Create a ramp texture for the facing ratio lookup. For a standard X-Ray look make it light to the left and dark to the right. This texture will be mapped onto the object depending on the angle between the surface normal and the view direction.

ShaderLab - X-Ray Shader for Unity 2.x

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 "XRay" {
    Properties {
        _Color ("Tint (RGB)", Color) = (1,1,1,1)
        _RampTex ("Facing Ratio Ramp (RGB)", 2D) = "white" {}
    }
    SubShader {
        ZWrite Off
        Tags { "Queue" = "Transparent" }
        Blend One One
        Pass {
            
            CGPROGRAM 
            #pragma vertex vert
            #include "UnityCG.cginc" 

            struct v2f {
                V2F_POS_FOG;
                float4 uv : TEXCOORD0;
            };
            
            v2f vert (appdata_base v) {
                v2f o;
                PositionFog( v.vertex, o.pos, o.fog );
                float3 viewDir = normalize(ObjSpaceViewDir(v.vertex));
                o.uv = float4( dot(viewDir,v.normal), 0.5, 0.0, 1.0 );
                return o;
            }
            ENDCG 

            SetTexture [_RampTex] {constantColor[_Color] combine texture * constant} 
        }
    }
    Fallback Off
}</shaderlab>

==ShaderLab - X-Ray Shader for Unity 1.x==
<syntaxhighlight lang="shaderlab">Shader "XRay" {
    Properties {
        _Color ("Tint (RGB)", Color) = (1,1,1,1)
        _RampTex ("Facing Ratio Ramp (RGB)", 2D) = "white" {}
    }
    SubShader {
        ZWrite Off
        Tags { "Queue" = "Transparent" }
        Blend One One
        Pass {
            
            CGPROGRAM 
            // profiles arbfp1 
            // vertex vert
            #include "UnityCG.cginc" 

            struct v2f {
                V2F_POS_FOG;
                float4 uv : TEXCOORD0;
            };
            
            v2f vert (appdata_base v) {
                v2f o;
                PositionFog( v.vertex, o.pos, o.fog );
                float3 viewDir = normalize(ObjSpaceViewDir(v.vertex));
                o.uv = float4( dot(viewDir,v.normal), 0.5, 0.0, 1.0 );
                return o;
            }
            ENDCG 

            SetTexture [_RampTex] {constantColor[_Color] combine texture * constant} 
        }
    }
    Fallback Off
}</shaderlab>
Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox