Simply Lit

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(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 blends your texture map with Ambient and Diffuse lighting. There are three versions, which clamp the brightness of the texture at 1x, 2x, or 4x brightness, no matter how intense the lights shine on them.
+
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 lighting you like.  
+
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.)
  
[[Media:Simply Lit.zip|Click here for a zip file that includes these three shaders.]]
 
  
==ShaderLab - Texture Only.shader==
+
[[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) = ""
_MainTex ("Base (RGB)", 2D) = ""
+
 
}
 
}
  
SubShader
+
SubShader {
{
+
 
Lighting On
 
Lighting On
+
Material {
Material
+
Ambient [_Color]
{
+
Diffuse [_Color]
Ambient (2,2,2)
+
Diffuse (1,1,1)
+
 
}
 
}
 
 
Pass
+
Pass {
{
+
SetTexture [_MainTex] {Combine texture * primary Double}
SetTexture [_MainTex]
+
{
+
combine texture * primary
+
}  
+
 
}
 
}
 
}
 
}
  
}</shaderlab>
+
}</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}
	}
}

}
Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox