unity shader 内置变量

一、变换矩阵

UNITY_MATRIX_MVP  从object space转到 projection space(投影)

UNITY_MATRIX_MV    从object space转到camera space

UNITY_MATRIX_V       从world space转到camera space

UNITY_MATRIX_P       从camera space转到projection space

UNITY_MATRIX_VP   从world space转到projection space

UNITY_MATRIX_T_MV   UNITY_MATRIX_MV 的转置矩阵

UNITY_MATRIX_IT_MV  UNITY_MATRIX_MV的逆转置矩阵,法线的矩阵转换需要用变换矩阵的逆转置矩阵.

_Object2World    从object space转到world space

_World2Object    _Object2World的逆矩阵,从world space 到object space

二、Camera and screen


Name


Type


Value


_WorldSpaceCameraPos


float3


World space position of the camera.

相机的世界坐标


_ProjectionParams


float4


Xis 1.0 (or –1.0 if currently rendering with aflipped projection matrix),yis the camera’s near plane,zis the camera’s far plane andwis 1/FarPlane.

x 值是1.0或-1.0(当为反转的投影矩阵时)

y 近截面,z远截面,w 1/远截面


_ScreenParams


float4


xis the camera’s render target width in pixels,yis the camera’s render target height in pixels,zis 1.0 + 1.0/width andwis 1.0 + 1.0/height.

屏幕尺寸x宽,y高,z 1+1.0/width,w 1+1.0/height


_ZBufferParams


float4


Used to linearize Z buffer values.xis (1-far/near),yis (far/near),zis (x/far) andwis (y/far).

用于线性化zbuffer


unity_OrthoParams


float4


xis orthographic camera’s width,yis orthographic camera’s height,zis unused andwis 1.0 when camera is orthographic, 0.0 when perspective.

正交摄像机的相关参数,w值1时是正交投影,0时是透视投影


unity_CameraProjection


float4x4


Camera’s projection matrix.

摄像机的投影矩阵


unity_CameraInvProjection


float4x4


Inverse of camera’s projection matrix.

摄像机的投影矩阵的逆矩阵


unity_CameraWorldClipPlanes[6]


float4


Camera frustum plane world space equations, in this order: left, right, bottom, top, near, far.

视锥体的左右下上远近

三、Time


Name


Type


Value


_Time


float4


Time since level load (t/20, t, t*2, t*3), use to animate things inside the shaders.


_SinTime


float4


Sine of time: (t/8, t/4, t/2, t).


_CosTime


float4


Cosine of time: (t/8, t/4, t/2, t).


unity_DeltaTime


float4


Delta time: (dt, 1/dt, smoothDt, 1/smoothDt).

帧间隔时间

四、forward渲染的光照变量


Name


Type


Value


_LightColor0(declared in Lighting.cginc)


fixed4


Light color.

光线颜色


_WorldSpaceLightPos0


float4


Directional lights: (world space direction, 0). Other lights: (world space position, 1).

World space 光照位置,平行光的w值为0,其他光源的w值为1


_LightMatrix0(declared in AutoLight.cginc)


float4x4


World-to-light matrix. Used to sample cookie & attenuation textures.

World space转到light space矩阵


unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0


float4


(ForwardBase pass only)world space positions of first four non-important point lights.


unity_4LightAtten0


float4


(ForwardBase pass only)attenuation factors of first four non-important point lights.


unity_LightColor


half4[4]


(ForwardBase pass only)colors of of first four non-important point lights.

 

五、延迟光照相关变量


Name


Type


Value


_LightColor


float4


Light color.光照颜色


_LightMatrix0


float4x4


World-to-light matrix. Used to sample cookie & attenuation textures.

World space转到light space矩阵

六、顶点光照相关变量


Name


Type


Value


unity_LightColor


half4[8]


Light colors. 光照颜色


unity_LightPosition


float4[8]


View-space light positions. (-direction,0) for directional lights; (position,1) for point/spot lights.

View space光照位置,平行光的w值为0,其他光源的w值为1


unity_LightAtten


half4[8]


Light attenuation factors.xis cos(spotAngle/2) or –1 for non-spot lights;yis 1/cos(spotAngle/4) or 1 for non-spot lights;zis quadratic attenuation;wis squared light range.

光照衰减值


unity_SpotDirection


float4[8]


View-space spot light positions; (0,0,1,0) for non-spot lights.

View space聚光灯位置

时间: 2024-10-10 03:02:33

unity shader 内置变量的相关文章

shader内置变量和函数

1.uint CreateShader(enum type) : 创建空的shader object;   type: VERTEX_SHADER, 2.void ShaderSource(uint shader, sizeicount, const **string, const int *length):加载shader源码进shader object:可能多个字符串 3.void CompileShader(uint shader):编译shader object: shader obje

shader内置变量

内置一致变量 原文地址:https://www.cnblogs.com/airduce/p/10048912.html

shader的内置变量

gl_开头的变量都是glsl的内置变量: 定点位置的计算方法:gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex = ftransform();

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

Linux高级文本处理之gawk内置变量(一)

一.FS –输入字段分隔符 FS是awk内置变量,用来制定行分隔符,功能能-F一样,区别在于FS只能用在BEGIN语句块当中,命令格式如下: BEGIN{FS="SEPARATOR"} 实例1: [[email protected] ~]# awk 'BEGIN { FS=","; print "---------------------------\nName\tTitle\n------------------------"} {print 

17、内置变量、特殊变量、字符操作、声明变量 学习笔记

1.bash的内置变量 $PATH            环境变量路径 $HOSTNAME        系统主机名 $UID             系统当前用户ID $HISTFILE        历史文件存放路径 $HISTSIZE        系统可以保存的历史记录条目数 $HISTFILESIZE    历史文件可以保存的历史记录条目数 $HISTCONTROL     历史命令显示控制 $BASH            bash二进制程序文件的路径 $BASH_SUBSHELL 

shell--特殊位置参数变量及常用内置变量

1.shell中的特殊位置参数变量 $0:获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径 $n:获取当前执行的shell脚本的第n个参数,n=1..9,当n为0时表示脚本的文件名:如果n大于9,则用大括号括起来 比如${10},接的参数以空格隔开 $#:获取当前执行的shell脚本后面接的参数的总个数 $*:获取当前shell脚本所有传参的参数,不加引号和[email protected]相同:如果给$*加上双引号,如"$*",则表示把所有的参数视 为

(9)Powershell中的内置变量

上一节主要介绍了Powershell中变量的定义和使用,以及在变量中包含特殊字符,或是变量在输出时的一些技巧,详细内容参考这里. 本节介绍Powershell中的内置变量,或是称为自动变量. 在Powershell命令行中,可以输入 Get-Variable 命令查看Powershell中的所有内置变量 PS C:\> Get-Variable Name                           Value ----                           ----- $ 

awk内置变量 awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。

ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数 NR 已读的记录数 OFS 输出域分隔符 ORS 输出记录分隔符 RS 控制记录分隔符 此外,$0变量是指整条记录.$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推. 统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行