Unity内置的shader include files:这些文件都以.cninc结尾,
  HLSLSupport.cginc:自动包含,一些跨平台编译相关的宏和定义。

  UnityShaderVariables.cginc:自动包含,常用的全局变量。
  UnityCG.cginc:常用的全局变量和函数。
  AutoLight.cginc:光影相关帮助函数,surface shader内部使用此文件。
  Lighting.cginc:surface shader自动包含,定义了标准的光照模式。
  TerrainEngin.cginc:地形和植被shader相关的帮助函数。

UnityGC.cginc数据结构:
  appdata_base / appdata_tan / appdata_full / appdata_img

UnityGC.cginc通用帮助函数:
  float3 WorldSpaceViewDir (float4 v):
  返回从顶点位置到camera位置的世界空间(world space)的朝向,not normailzed。
  参数v:object space vertex position,即顶点的局部空间坐标。
  float3 ObjSpaceViewDir (float4 v):
  返回从顶点位置到camera位置的局部空间(object space)的朝向,not normailzed。
  参数v:object space vertex position,即顶点的局部空间坐标。
  float2 ParallaxOffset (half h, half height, half3 viewDir):
  parallax normal mapping时计算UV offset。
  fixed Luminance (fixed3 c):
  颜色转换亮度(灰度)。

  // Converts color to luminance (grayscale)
  inline fixed Luminance( fixed3 c )
  {
    return dot( c, fixed3(0.22, 0.707, 0.071) );
  }

  fixed3 DecodeLightmap (fixed4 color):
  解码lightmap颜色值,根据不同平台返回RGBM或dLDR。
  float4 EncodeFloatRGBA (float v)/float DecodeFloatRGBA (float4 enc):
  编码/解码[0, 1)float <--> 8bit/channel RGBA,注意1.0的编解码会有问题。
  EncodeFloatRG (float v)/DecodeFloatRG (float2 enc):
  编码/解码[0.0,1.0)float <--> 8bit/channel RG,注意1.0的编解码会有问题。
  float2 EncodeViewNormalStereo (float3 n):
  float3 DecodeViewNormalStereo (float4 enc4):
  编码/解码view space noramls <--> 2D 0..1 vector
  Decode函数是对nec4.xy进行解码。

UnityGC.cginc前向渲染帮助函数:(只有在前向渲染时有用,ForwardBase或ForwardAdd pass types)
  float3 WorldSpaceLightDir (float4 v):
  计算world空间光照方向,从顶点位置到光源位置,not normalized。
  float3 ObjSpaceLightDir (float4 v):
  计算object空间光照方向,从顶点位置到光源位置,not normalized。
  float3 Shade4PointLights (...):
  计算四个点光源的光照,前向渲染中会使用此函数来计算逐顶点光照。

UnityGC.cginc和vertex-lit相关的帮助函数:(只有在使用per-vertex lit时有用,Vertex pass types)
  float3 ShadeVertexLights (float4 vertex, float3 normal):
  计算顶点光照,来自4个per-vertex light和ambient。
  参数vertex和normal:局部空间的位置和法线。

UNITY_INITIALIZE_OUTPUT(Input,o);
  初始化输入参数,全部置为0
  #define UNITY_INITIALIZE_OUTPUT(type,name) name = (type)0;

Unity内置的shader include files的更多相关文章

  1. 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件

    本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...

  2. unity 内置shader

    几个有用的Unity 内置shader: (一)Standard RenderingMode:Opaque为实体渲染,更改Color的透明通道不会有影响:Cutout会把图片的透明通道显示出来,非严格 ...

  3. Unity内置shader 下载

    Unity内置shader  4.3.1 版本的  其他版本可以自己修改名称 下载地址 http://download.unity3d.com/download_unity/builtin_shade ...

  4. Unity 内置着色器(转)

    Unity包括超过40种内置的shader. 标准着色器家族 Normal Shader Family 这些着色器都是Unity基本的着色器.适用于大多数的不透明物体,如果想要物体有透明.发光效果等, ...

  5. Unity苹果(iOS)内购接入(Unity内置IAP)

    https://www.jianshu.com/p/4045ebf81a1c Unity苹果(iOS)内购接入(Unity内置IAP) Kakarottog                       ...

  6. Unity 内置Shader变量、辅助函数等

    一:标准库里的常用.cginc文件 HLSLSupport.cginc - (automatically included) Helper macros and definitions for cro ...

  7. 【Unity】8.1 Unity内置的UI控件

    分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 Unity 5.x内置了-套完整的GUI系统,提供了从布局.控件到皮肤的-整套GUI解决方案,因此可直接利用它做出各种风 ...

  8. unity 内置的CG结构解析

    一.Cg顶点程序必须在结构中传递顶点数据.几种常用的顶点结构定义在文件UnityCG.cginc中.在大部分情况下仅仅使用它们就够了.结构如下: 1.appdata_base: 包含顶点位置,法线和一 ...

  9. unity, 内置shader下载地址

    在unity的download页面上能找到Built in shaders的下载连接.

随机推荐

  1. velocity模板入门

    $!{velocityCount}  随机

  2. 【随记】Hello World小记

    今天装Python,如下: 突然想到,到现在,我已经数不清写过多少遍Hello World了. 最早是初一学VB的时候,用Label1在Form1上画一个,然后修改Caption属性为“Hello W ...

  3. [Java基础]java的main函数

    1.main函数详解 main在编程中的形式:public static void main(String[] args) { - } public : 公共的. 权限是最大,在任何情况下都可以访问. ...

  4. UEditor编辑器并不难

    1.背景:        其实学习UEditor本该在这之前就应该学习整合到自己的项目中的了,第一次接触UEditor是在暑假期间,当时做东西在师兄的代码中发现了这东西,心想:卧槽,竟然可以这样整合别 ...

  5. ecshop数据表说明

    ecshop数据表说明 数据库结构说明,以及自己在后台备份不需要备份的表(红色字体是不需要备份的表)备份文件在FTP或者服务器上网站根目录下data\sqldata下 数据库采用mysql,共78张表 ...

  6. GP调用arctoolbox 以Clip为例

    GP的功能非常强大,也是GIS建模的一个很重要的工具.在Arcengine中,实现Clip功能很多种方法,可以用IBasicGeoprocessor的clip方法,但是GP无疑是最简单的. publi ...

  7. 使用 CXF 做 webservice 简单例子

    Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...

  8. Microsoft .NET Native Developer Preview 内部初探(1)

    Microsoft .NET Native Developer Preview 内部初探(1) MS 前段时间发布了.NET Native Developer Preview,被广大人员赋予“C++的 ...

  9. 【C语言学习】《C Primer Plus》第6章 C控制语句:循环

    学习总结 1.循环的语法跟其他语言的没差多少,可能大多数语言都在C的基础上发展出来的,所以大同小异不奇怪. 2.在判断表达式里,C语言只有0被认为是假,所有非零值正整数都被认为真. #include ...

  10. 浏览器兼容性小记-DOM篇(二)

    1.DOM中的所有节点都继承自Node类型,IE9之前将DOM节点作为COM对象来实现:每个DOM节点都有一个nodeType属性来表明节点类型,总共有12个类型: Node.ELEMENT_NODE ...