Unity内置的shader include files
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的更多相关文章
- 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件
本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...
- unity 内置shader
几个有用的Unity 内置shader: (一)Standard RenderingMode:Opaque为实体渲染,更改Color的透明通道不会有影响:Cutout会把图片的透明通道显示出来,非严格 ...
- Unity内置shader 下载
Unity内置shader 4.3.1 版本的 其他版本可以自己修改名称 下载地址 http://download.unity3d.com/download_unity/builtin_shade ...
- Unity 内置着色器(转)
Unity包括超过40种内置的shader. 标准着色器家族 Normal Shader Family 这些着色器都是Unity基本的着色器.适用于大多数的不透明物体,如果想要物体有透明.发光效果等, ...
- Unity苹果(iOS)内购接入(Unity内置IAP)
https://www.jianshu.com/p/4045ebf81a1c Unity苹果(iOS)内购接入(Unity内置IAP) Kakarottog ...
- Unity 内置Shader变量、辅助函数等
一:标准库里的常用.cginc文件 HLSLSupport.cginc - (automatically included) Helper macros and definitions for cro ...
- 【Unity】8.1 Unity内置的UI控件
分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 Unity 5.x内置了-套完整的GUI系统,提供了从布局.控件到皮肤的-整套GUI解决方案,因此可直接利用它做出各种风 ...
- unity 内置的CG结构解析
一.Cg顶点程序必须在结构中传递顶点数据.几种常用的顶点结构定义在文件UnityCG.cginc中.在大部分情况下仅仅使用它们就够了.结构如下: 1.appdata_base: 包含顶点位置,法线和一 ...
- unity, 内置shader下载地址
在unity的download页面上能找到Built in shaders的下载连接.
随机推荐
- ServiceMix in daemon mode
For development simplicity, we can start Karaf in daemon mode by executing 'bin\admin.bat start root ...
- Alice and Bob(2013年山东省第四届ACM大学生程序设计竞赛)
Alice and Bob Time Limit: 1000ms Memory limit: 65536K 题目描述 Alice and Bob like playing games very m ...
- P1907飞扬的小鸟
P1907飞扬的小鸟 描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或 ...
- 【原创】JAVA并发编程——Callable和Future源码初探
JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...
- [XAF] Simplifying integration of custom controls bound to data from XAF application database
ASP.NET: http://www.screencast.com/t/OHhcHD9vy WinForms: http://www.screencast.com/t/8M8K4eskkYO9
- iBatis简单介绍
1. Ibatis是开源软件组织Apache推出的一种轻量级的对象关系映射(ORM)框架,和Hibernate.Toplink等在java编程的对象持久化方面深受开发人员欢迎. 对象关系映 ...
- Swift编程语言(中文版)官方手册翻译(进度8.8%)
翻译着玩,进度会比较慢. 等不及的可以看CocoaChina翻译小组,他们正在组织翻译,而且人手众多,相信会提前很多完成翻译. 原文可以在iTunes免费下载 目前进度 7 JUN 2014: 8.8 ...
- 【腾讯Bugly干货分享】移动互联网测试到质量的转变
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ee0934b690d84c3188d7c7 Dev Club 是一个交流移动 ...
- 旺信UWP倒计时
Bug数量: 2016/3/8: 34 2016/3/9: 40(一堆新Bug到来) 2016/3/10: 21(邀请用户内测,一大波虫子即将到来) 2016/3/11: 10(预期的一大波Bug还没 ...
- 【C语言学习】《C Primer Plus》第6章 C控制语句:循环
学习总结 1.循环的语法跟其他语言的没差多少,可能大多数语言都在C的基础上发展出来的,所以大同小异不奇怪. 2.在判断表达式里,C语言只有0被认为是假,所有非零值正整数都被认为真. #include ...