Texture Only

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
m (ShaderLab - Texture Only.shader)
m (ShaderLab - Texture Only.shader)
Line 15: Line 15:
 
==ShaderLab - Texture Only.shader==
 
==ShaderLab - Texture Only.shader==
 
<shaderlab>Shader "Texture Only" {
 
<shaderlab>Shader "Texture Only" {
+
 
 
Properties {
 
Properties {
 
_MainTex ("Texture", 2D) = ""
 
_MainTex ("Texture", 2D) = ""
 
}
 
}
  
SubShader {
+
SubShader {Pass { // iPhone 3GS and later
Pass {SetTexture[_MainTex]}
+
GLSLPROGRAM
}
+
varying lowp vec2 uv;
 +
 +
#ifdef VERTEX
 +
void main() {
 +
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
 +
uv = gl_MultiTexCoord0.xy;
 +
}
 +
#endif
 +
 +
#ifdef FRAGMENT
 +
uniform lowp sampler2D _MainTex;
 +
void main() {
 +
gl_FragColor = texture2D(_MainTex, uv);
 +
}
 +
#endif
 +
ENDGLSL
 +
}}
  
 +
SubShader {Pass { // pre-3GS devices, including the September 2009 8GB iPod touch
 +
SetTexture[_MainTex]
 +
}}
 +
 
}</shaderlab>
 
}</shaderlab>

Revision as of 22:16, 17 March 2011

Author: Jessy

Description

This is a seriously simple shader. It just textures your model with a single map, exactly how you painted it. No lights, no tinting; it's your job to make it look good in a painting app, when you use this!  :-D

Usage

Drag a single texture onto the material's only variable slot.


Click here for a zip file that includes this shader.

ShaderLab - Texture Only.shader

<shaderlab>Shader "Texture Only" {

Properties { _MainTex ("Texture", 2D) = "" }

SubShader {Pass { // iPhone 3GS and later GLSLPROGRAM varying lowp vec2 uv;

#ifdef VERTEX void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; uv = gl_MultiTexCoord0.xy; } #endif

#ifdef FRAGMENT uniform lowp sampler2D _MainTex; void main() { gl_FragColor = texture2D(_MainTex, uv); } #endif ENDGLSL }}

SubShader {Pass { // pre-3GS devices, including the September 2009 8GB iPod touch SetTexture[_MainTex] }}

}</shaderlab>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox