NormalSmoothing

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
m (Text replace - "</shaderlab>" to "</syntaxhighlight>")
 
(One intermediate revision by one user not shown)
Line 13: Line 13:
 
[[Image:Smooth45.png]]
 
[[Image:Smooth45.png]]
  
<shaderlab>
+
<syntaxhighlight lang="shaderlab">
 
Shader "MrJoy/Debug/Normal Smoothing" {
 
Shader "MrJoy/Debug/Normal Smoothing" {
 
   Properties { }   
 
   Properties { }   
Line 48: Line 48:
 
   }
 
   }
 
}
 
}
</shaderlab>
+
</syntaxhighlight>

Latest revision as of 21:56, 17 January 2012

This shader shows you the normals on your mesh so you can see the result of normal smoothing more explicitly.

An icosahedron with normal smoothing set to 35 degrees:

Smooth35.png

The same object with normal smoothing set to 40 degrees:

Smooth40.png

The same object with normal smoothing set to 45 degrees:

Smooth45.png

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 "MrJoy/Debug/Normal Smoothing" {
  Properties { }  
  SubShader {
    Pass {
      CGPROGRAM
        #pragma vertex vert
        #pragma fragment frag

        #pragma fragmentoption ARB_fog_exp2
        #pragma fragmentoption ARB_precision_hint_fastest

        #include "UnityCG.cginc"
        #include "AutoLight.cginc"

        struct v2f {
          V2F_POS_FOG;
          float3 normal : COLOR;
        };  

        v2f vert(appdata_tan v) {
          v2f o;
          PositionFog( v.vertex, o.pos, o.fog );
          o.normal = (v.normal + 1) * 0.5;
          return o;
        }
        
        half4 frag(v2f i) : COLOR {
          i.normal = normalize(i.normal);
          return half4(i.normal.rgb, 1);
        }
      ENDCG
    }
  }
}
Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox