Unity 内置Shader变量、辅助函数等
一:标准库里的常用.cginc文件
HLSLSupport.cginc- (automatically included) Helper macros and definitions for cross-platform shader compilation.
HLSLSupport.cginc :(自动包含)跨平台着色器编译帮助宏和定义UnityCG.cginc- commonly used global variables and helper functions.
UnityCG.cginc :常用的全局变量和辅助函数AutoLight.cginc- lighting & shadowing functionality, e.g. surface shaders use this file internally.
AutoLight.cginc :灯光和阴影功能,例如surface shaders 内在地使用此文件。Lighting.cginc- standard surface shader lighting models; automatically included when you're writing surface shaders.
Lighting.cginc :标准surface shader 灯光模型,当你写表面着色器时自动包含。TerrainEngine.cginc- helper functions for Terrain & Vegetation shaders.
TerrainEngine.cginc : 地形和植被着色器的辅助函数。
二:辅助函数
Generic helper functions in UnityCG.cginc 在UnityCG.cginc中的通用辅助函数
float3 WorldSpaceViewDir (float4 v)- returns world space direction (not normalized) from given object space vertex position towards the camera.
float3 WorldSpaceViewDir (float4 v):根据给定的局部空间顶点位置到相机返回世界空间的方向(非规范化的)float3 ObjSpaceViewDir (float4 v)- returns object space direction (not normalized) from given object space vertex position towards the camera.
float3 ObjSpaceViewDir (float4 v):根据给定的局部空间顶点位置到相机返回局部空间的方向(非规范化的)float2 ParallaxOffset (half h, half height, half3 viewDir)- calculates UV offset for parallax normal mapping.
float2 ParallaxOffset (half h, half height, half3 viewDir):为视差法线贴图计算UV偏移fixed Luminance (fixed3 c)- converts color to luminance (grayscale).
fixed Luminance (fixed3 c):将颜色转换为亮度(灰度)fixed3 DecodeLightmap (fixed4 color)- decodes color from Unity lightmap (RGBM or dLDR depending on platform).
fixed3 DecodeLightmap (fixed4 color):从Unity光照贴图解码颜色(基于平台为RGBM 或dLDR)float4 EncodeFloatRGBA (float v)- encodes [0..1) range float into RGBA color, for storage in low precision render target.
float4 EncodeFloatRGBA (float v):为储存低精度的渲染目标,编码[0..1)范围的浮点数到RGBA颜色。float DecodeFloatRGBA (float4 enc)- decodes RGBA color into a float.
float DecodeFloatRGBA (float4 enc):解码RGBA颜色到float。- Similarly,
float2 EncodeFloatRG (float v)andfloat DecodeFloatRG (float2 enc)that use two color channels.
同样的,float2 EncodeFloatRG (float v) 和float DecodeFloatRG (float2 enc)使用的是两个颜色通道。 float2 EncodeViewNormalStereo (float3 n)- encodes view space normal into two numbers in 0..1 range.
float2 EncodeViewNormalStereo (float3 n):编码视图空间法线到在0到1范围的两个数。float3 DecodeViewNormalStereo (float4 enc4)- decodes view space normal from enc4.xy.
float3 DecodeViewNormalStereo (float4 enc4):从enc4.xy解码视图空间法线
Forward rendering helper functions in UnityCG.cginc
UnityCG.cginc正向渲染辅助函数
These functions are only useful when using forward rendering (ForwardBase or ForwardAdd pass types).
这些函数只有当使用forward rendering(ForwardBase 或 ForwardAdd通道类型)时才有效。
float3 WorldSpaceLightDir (float4 v)- computes world space direction (not normalized) to light, given object space vertex position.
根据局部空间顶点位置计算世界空间灯光方向(非规范化的)。float3 ObjSpaceLightDir (float4 v)- computes object space direction (not normalized) to light, given object space vertex position.
根据局部空间顶点位置计算局部空间灯光方向(非规范化的)。float3 Shade4PointLights (...)- computes illumination from four point lights, with light data tightly packed into vectors. Forward rendering uses this to compute per-vertex lighting.
从4个点光源计算亮度,来将光照数据牢固的装入向量中。正向渲染使用此来计算逐顶点光照。
Vertex-lit helper functions in UnityCG.cginc
UnityCG.cginc中的顶点光照辅助函数
These functions are only useful when using per-vertex lit shaders ("Vertex" pass type).
这些函数只在当使用逐顶点光照着色器(“顶点”通道类型)时才有效。
float3 ShadeVertexLights (float4 vertex, float3 normal)- computes illumination from four per-vertex lights and ambient, given object space position & normal.
根据局部空间位置和法线,从4个逐顶点灯光和环境光计算亮度。
三:内置变量 http://docs.unity3d.com/Manual/SL-UnityShaderVariables.html
unity_SpecCube0,unity_SpecCube0_HDRfrom the built-in shader variables. unity_SpecCube0 contains data for the active reflection probe. //unity_SpecCube0包含了现在激活的反射探头, unity_SpecCube0_HDR是其HDR颜色数据。
Unity 内置Shader变量、辅助函数等的更多相关文章
- unity 内置shader
几个有用的Unity 内置shader: (一)Standard RenderingMode:Opaque为实体渲染,更改Color的透明通道不会有影响:Cutout会把图片的透明通道显示出来,非严格 ...
- Unity内置shader 下载
Unity内置shader 4.3.1 版本的 其他版本可以自己修改名称 下载地址 http://download.unity3d.com/download_unity/builtin_shade ...
- osg内置shader变量
uniform int osg_FrameNumber:当前OSG程序运行的帧数: uniform float osg_FrameTime:当前OSG程序的运行总时间: uniform float o ...
- CESIUM内置shader变量和函数[转]
cesium中内置了一些常量.变量和函数,在vs和fs中可直接使用. 内置uniform 内置uniform主要置于AutomaticUniforms类里面,该类私有未开放文档. czm_backgr ...
- unity, 内置shader下载地址
在unity的download页面上能找到Built in shaders的下载连接.
- 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件
本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...
- Unity内置的shader include files
Unity内置的shader include files:这些文件都以.cninc结尾, HLSLSupport.cginc:自动包含,一些跨平台编译相关的宏和定义. UnityShaderVaria ...
- unity, 查看内置shader源码
1,建一个球体. 2,建一个材质,将材质拖到球体上. 3,在材质的shader下拉列表中选择想查看的内置shader,点材质栏右上设置按钮->Select Shader 进入shader面板. ...
- GLSL语言内置的变量详解
GLSL语言内置的变量,包括内置的顶点属性(attribute).一致变量(uniform).易变变量(varying)以及常量(const),一方面加深印象,另一方面今天的文章可以为以后的编程做查询 ...
随机推荐
- 【codeforces 810C】Do you want a date?
[题目链接]:http://codeforces.com/contest/810/problem/C [题意] 给你一个集合,它包含a[1],a[2]..a[n]这n个整数 让你求出这个集合的所有子集 ...
- Crazyflie 2.0 System Architecture
Crazyflie 2.0架构包含两个微控制器: A NRF51, Cortex-M0, 用于实现无线通信和电源管理: (1)按键开关逻辑(ON/OFF logic) (2)控制给其它系统供电(STM ...
- 《从零開始学Swift》学习笔记(Day 46)——下标重写
原创文章.欢迎转载.转载请注明:关东升的博客 下标是一种特殊属性. 子类属性重写是重写属性的getter和setter訪问器,对下标的重写也是重写下标的getter和setter訪问器. 以下看一个演 ...
- Knockout源代码精析-怎样解析demo元素,获取到bindings(二)?
接上文这里開始分析applyBindingsToNodeInternal.applyBindingsToNodeInternal方法例如以下: function applyBindingsToNode ...
- Post请求方式长度參数过长导致參数为空
Post提交方式本身对于參数的长度没有限制,HTTP协议也没有限制. 可是今天在做一个web项目的时候碰到一个问题,当要提交的表单内容达到一定大小时,发现后台代码接收到的參数为空. 查询了一下.发现是 ...
- httputil用http获取请求的工具类
package com.xiaocan.demo.util; import java.io.IOException; import java.io.InputStream; import java.u ...
- [JZOJ 5885] [NOIP2018模拟9.27] 物理实验 解题报告 (思维)
题目链接: https://jzoj.net/senior/#main/show/5885 题目: 题解: 把$a$数组按升序排序 我们可以枚举$x$,发现对于任意$x$,最优情况下$y$一定等于$x ...
- hexo创建的tags和categories页面为空的解决办法
title: hexo创建的tags和categories页面为空的解决办法 toc: false date: 2018-04-16 02:26:10 主题:landscape 添加type以及men ...
- C++之const关键字
本文引自http://www.cnblogs.com/lichkingct/archive/2009/04/21/1440848.html ,略有增删 const关键字在c++中用法有很多,总结如下: ...
- 【原创】VSFTP: Login failure: 530 Login incorrect的解决办法
1.修改/etc/vsftpd/ftpusers和/etc/vsftpd/user_list中关于root的行,注释掉即可: 2.关闭SELinux:如果不想关闭的话,可以打开home项的布林值:se ...