您的位置:首页 > 移动开发 > Unity3D

Unity3D Shader_vertex and fragment shader实例(一)

2016-09-18 13:34 537 查看
1、显示颜色和一张贴图

 


 

Shader "Example/VFBase" {

Properties {

_MainTex("Base(RGB)",2D) = "white"{}

_Color("MainColor(RGB)",Color) = (1,1,1,1)

}

SubShader {

Pass

{

CGPROGRAM

#pragma vertex vert

#pragma fragment frag

#include "UnityCG.cginc"

float4 _Color;

sampler2D  _MainTex;

float4 _MainTex_ST;

struct v2f {

float4  pos : SV_POSITION;

float2 uv : TEXCOORD0;

} ;

v2f vert (appdata_base v)

{

v2f o;

o.pos = mul(UNITY_MATRIX_MVP,v.vertex); //把顶点的位置和Unity提前定义的一个矩阵相乘,从而把顶点位置从model space转换到clip space

o.uv = TRANSFORM_TEX(v.texcoord,_MainTex); //TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的tiling和offset作运算

return o;

}

float4 frag (v2f i) : COLOR

{

float4 texCol = tex2D(_MainTex,i.uv);

float4 outp = _Color*texCol;

return outp; 

}

ENDCG

}



FallBack "Diffuse"

}

点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: