Unity Shader学习笔记(一) shader的基础结构
2016-12-20 13:40
295 查看
Shader "Unlit/Shader_1" //shader 路径 { Properties //在这里写的东西都会呈现在Unity检视面板中,可在外部调节 格式:_Name("显示名称",Type) = defaultValue { _MainTex ("Texture", 2D) = "white" {} } //一个Shader中可以有多个SubShader ,但是unity会选择第一个可以在相应显卡执行的SubShader来执行,其后面的就会跳过 //渲染状态设置 CullBack 背部剔除 当背部面向摄像机的时候就不会显示 //Cull Front 前面剔除 当正面面向摄像机的时候就不会显示 //Cull Off 剔除关闭 关闭剔除功能 //Ztest Less Greater/LEqual/GEqual/Equal/Always 根据像素在Z轴上的位置来进行处理 //Zwrite On/Off 摄像机近处物体遮挡远处物体 SubShader { //设置标签 //Queue 渲染顺序指定 //RenderType 着色器分类 //DisableBatching 批处理开关 //ForceNoShadowCasting 阴影投射 //IgnoreProjector 用于半透明物体不受投射 //CanUseSpriteAtlas 用于2D精灵 //PreviewType Untiy预览用模型 Tags { "RenderType"="Opaque" } LOD 100 //SubShader中可能有多个Pass,但每个Pass会依次被执行 //也可以调用其他Shader中的Pass 用法:UsePass"MyShader/MYPASS" 调用的pass名必须大写 //Pass中的Tags LightMode 指定Unity中的渲染途径 // RequireOptions 渲染这个Pass需要的条件,如果条件不够则不被渲染 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag // make fog work #pragma multi_compile_fog #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; }; sampler2D _MainTex; float4 _MainTex_ST; v2f vert (appdata v) { v2f o; o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); UNITY_TRANSFER_FOG(o,o.vertex); return o; } fixed4 frag (v2f i) : SV_Target { // sample the texture fixed4 col = tex2D(_MainTex, i.uv); // apply fog UNITY_APPLY_FOG(i.fogCoord, col); return col; } ENDCG } } //FallBack是本shader 中的内容不被支持时,选用那种低级的Shader替换 FallBack“ShaderName” }https://onevcat.com/2013/07/shader-tutorial-1/
相关文章推荐
- Unity Shader基础( 四)Shader概述以及结构
- Unity Shader基础(2)--shader的结构解析
- unity shader学习笔记(1) shader基础结构以及Properties面板
- 面向对象的基础结构设计
- [导入]面向对象的基础结构设计
- OpenGL基础图形编程 - OpenGL基本程序结构
- 数据结构基础 - 链表的遍历 zz
- 面向对象的基础结构设计
- Multi-Tier结构程序开发基础教程 (一)
- Java(JVM)虚拟机结构基础(转自Java研究组织)
- HTML基础-HTML文档基本结构
- 因特网的三层基础结构
- 不断蔓延的软件测试基础结构的危险
- 学习STL map, STL set之数据结构基础
- 不断蔓延的软件测试基础结构的危险
- 1. Servlet的基础结构
- 游戏的基础结构。
- 计算机体系结构的一些基础知识
- Windows 2000 公钥基础结构详解 (ZT)
- 1.文档基础:为HTML文档提供基本结构的标记。