1.unity中有两个渲染相关的组件:
mesh Filter用来存储一个网格mesh,网格是由三角面组成的,其中存储了三角面的一些顶点信息。
mesh renderer 用来渲染外观,这个必须要有的,可以指定材质(shader+贴图),贴图不是必要的。
2.shader是通过openGL,directX来进行编译运行的。openGL使用GLSL来编写shader,dx使用HLSL来编写shader。但是英伟达的CG实现了跨平台,所以unity对CG进行了封装,封装成了shaderLab。
3.三种着色器:
表面着色器:Surface Shader(比较简单,是封装好的,适用于多光源的处理)
顶点/片元着色器:Vertex/Fragment Shader(基础底层,其他两种都是在它基础上进行封装,可以实现更多的功能)
固定函数着色器:Fixed Function Shader(老一代显卡,几乎不使用)
4.shader的基本框架
Shader "myshader"{
Properties{
_Color("Color",Color)=(1,1,1,1)
_Vector("Vector",Vector)=(1,1,1,1)
_Int("Int",Int)=4
_Float("Float",Float)=4.4
_Range("Range",Range(1,11))=6
_Cube("Cube",Cube)="white"{}
_2D("Textur