纹理映射
纹理坐标(也称为u/v坐标,横坐标是u,纵坐标是v,长宽是1)
一般将纹理的颜色代替漫反射的颜色,这样就会看到图像,一般是片元函数处理
纹理的类型有
Normalmap 法线贴图
EditorGUI andLegacy 菜单栏图标
Sprite 2D图片和UI界面
Cubemap 立方体纹理,做环境盒子
cookie 制作阴影,使手电筒的光从圆形变成另一种形状,类似蝙蝠灯的中间阴影,
lightmap 光照贴图,使用避免实时计算
Advanced 自定义
如何使用纹理呢,代码如下
Shader "Custom/10-FirstShader" {
Properties{
//_Diffuse("Diffuse Color",Color) = (1,1,1,1)
_MainTex("Main Tex",2D) = "white"{}
_Color("Color",Color) = (1,1,1,1)
_Specular("Specular Color",Color) = (1,1,1,1)
_Gloss("Gloss",Range(10,200)) = 20
}
SubShader{
Pass{
Tags{ "LightMode" = "ForwardBase" }
CGPROGRAM
#include "Lighting.cginc"
#pragma vertex vert
#pragma fragment frag
//fixed4 _Diffuse;
fixed4 _Specular;
half _Gloss;
sampler2D _MainTex;
fixed4 _Color;
struct a2v {
float4 vertex:POSITION;
float3 normal:NORMAL;
float4 texcoord:TEXCOORD0;//获取纹理坐标点
};
struct v2f {
float4 svPos:SV_POSITION;
float3 worldNormal:TEXCOORD0;//世界空间下法线向量
float4 worldVertex:T