- 博客(7)
- 收藏
- 关注
原创 Unity顶点着色器和片段着色器
顶点着色器和片段着色器的处理流程: 3d模型—>Vertex shader and flagment shader(—>vertex data inputs结构体—>vertex function—>Vertex shader outputs and fragment shader inputs结构体—>flagment function)—>color 理解:首先,几何点被送到顶点处理单元,得
2017-05-29 17:28:01 1295
原创 Unity shader 编译指令
程序片段被写在CGPROGRAM和ENDCG之间;在程序片段被编译之前需要个程序加上预编译(#pragma)。一、顶点着色器和片段着色器的编译指令1、#pragma vertex name:编译name函数为顶点着色器 2、#pragma fragment name:编译name函数为片段着色器 3、#pragma geometry name:编译name函数为DX10的几何着色器,会自动开启#
2017-05-28 19:00:31 979 1
原创 ShaderLab基础语法
一、ShaderLab介Shader "主色器名称"{ Propertes{} //属性定义 SubShader{} //子主色器 SubShader{} //子主色器2 ………… FallBack "备用着色器名称" //如果所有子着色器不能运行,则使用备用着色器}1、properties属性定义用来定义主色器中使用的贴图资源或者数值参数等。这些属性会在i
2017-05-27 19:44:28 3138
原创 光照模型
内容简介光照模型有:ambient,diffuse,specular,emittion,即: vertex color=ambient+diffuse+specular+emittion; 物体的最终颜色有多个结果叠加而成;Anbient light(环境光)Diffuse light(漫反射光)Specular light(高光)Emittion light(自发光)一、Anbien
2017-05-27 10:18:08 625
原创 Unity 表面主色器组成及编译指令
内容简介surface shader 重组成部分:两个结构体以及编译指令一、两个结构体(Input和SurfaceOutput)二、编译指令三、渲染管线中的流程(两个结构体和四个函数)一、两个结构体(Input和SurfaceOutput)1、Input结构体(1)允许我们自定义(2)内置变量:a:float3 viewDir 定义视角方向b:float4 screenPos 屏幕坐标位置
2017-05-26 22:44:56 250
转载 接口与抽象类
内容简介抽象类接口抽象类与接口的区别一、接口1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员); 4、接口除了可以包含方法之外,还可以包含属性、索引器、事件,而且这些成员都被定义为公有的。除此之外,不能包含任何其他的成员,例如:常量、域、构造函数、析构函数、静态成员。一个类可以直接继承多个接口,但只
2017-05-03 20:46:36 236
原创 C++中*与&的区别
一、*运算符1、在定义时,* 是一个标识符,声明该变量是一个指针 例1:int *p; a=5;p=&a;定义一个int类型的指针变量p,通过取值地址符&获取存储5的变量a地址,将他赋值给p,即指针p存储的是变量a的地址2、在调用是,*是一个取值运算符,指向指针存储的地址的变量例2:在例1的基础上获取指针p指向地址存储的值,int b=*p;二、&运算符1、取地址运算
2017-05-03 20:10:46 1125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人