Simply Lit
(New page: Author: Jessy ==Description== This is a very basic shader. It just blends your texture map with Ambient and Diffuse lighting. There are three versions, which clamp the brightness of th...) |
m (Text replace - "</shaderlab>" to "</syntaxhighlight>") |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:iPhone]] | ||
Author: Jessy | Author: Jessy | ||
==Description== | ==Description== | ||
− | This is a very basic shader. It just | + | This is a very basic shader. It just applies ambient and diffuse vertex lighting to your textured model. |
+ | |||
+ | You can use this as a springboard to learn to write your own more complex lit shaders; I've created [http://www.youtube.com/user/JessyUV?feature=mhum#g/c/31F6A116DCCC9F61 chapter 8 of this series] specifically to help you do that. | ||
==Usage== | ==Usage== | ||
− | Drag a single texture onto the material's only variable slot. Adjust the "Ambient Light" to taste, in Unity's Render Settings, and apply any other | + | Drag a single texture onto the material's only variable slot. Adjust the "Ambient Light" to taste, in Unity's Render Settings, and apply any other real-time lights you like. Use '''Color''' to alter the way this model looks, after affecting overall scene lighting, if you need to, or just leave it as white otherwise. |
+ | As written, the shader allows overbrightening to 2x the value of the texture. This is done with the keyword '''Double'''. Change '''Double''' to '''Quad''', if you want 4x overbrightening, or just delete the word if you don't want overbrightening at all. (Use only the range you need, as you can more precisely control the lighting with a smaller range.) | ||
− | |||
− | ==ShaderLab - | + | [[Media:Simply Lit.zip|Click here to download this shader.]] |
− | <shaderlab>Shader "Simply Lit" { | + | |
+ | ==ShaderLab - Simply Lit.shader== | ||
+ | <syntaxhighlight lang="shaderlab">Shader "Simply Lit" { | ||
− | + | Properties { | |
− | Properties | + | _Color ("Color", Color) = (1,1,1) |
− | { | + | _MainTex ("Texture", 2D) = "" |
− | + | ||
} | } | ||
− | SubShader | + | SubShader { |
− | { | + | |
Lighting On | Lighting On | ||
− | + | Material { | |
− | Material | + | Ambient [_Color] |
− | + | Diffuse [_Color] | |
− | Ambient | + | |
− | Diffuse | + | |
} | } | ||
− | Pass | + | Pass { |
− | + | SetTexture [_MainTex] {Combine texture * primary Double} | |
− | SetTexture [_MainTex] | + | |
− | + | ||
− | + | ||
− | + | ||
} | } | ||
} | } | ||
− | }</ | + | }</syntaxhighlight> |
Latest revision as of 21:56, 17 January 2012
Author: Jessy
[edit] Description
This is a very basic shader. It just applies ambient and diffuse vertex lighting to your textured model.
You can use this as a springboard to learn to write your own more complex lit shaders; I've created chapter 8 of this series specifically to help you do that.
[edit] Usage
Drag a single texture onto the material's only variable slot. Adjust the "Ambient Light" to taste, in Unity's Render Settings, and apply any other real-time lights you like. Use Color to alter the way this model looks, after affecting overall scene lighting, if you need to, or just leave it as white otherwise.
As written, the shader allows overbrightening to 2x the value of the texture. This is done with the keyword Double. Change Double to Quad, if you want 4x overbrightening, or just delete the word if you don't want overbrightening at all. (Use only the range you need, as you can more precisely control the lighting with a smaller range.)
Click here to download this shader.
[edit] ShaderLab - Simply Lit.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 "Simply Lit" { Properties { _Color ("Color", Color) = (1,1,1) _MainTex ("Texture", 2D) = "" } SubShader { Lighting On Material { Ambient [_Color] Diffuse [_Color] } Pass { SetTexture [_MainTex] {Combine texture * primary Double} } } }