reflect(I,N) 根据入射光方向向量,和顶点法向量N,计算反射光方向向量,其中I和N必须被归一化,需要注意的是:这个I是指向顶点的;函数只对三元向量有效; refract(I,N,eta) 计算折射向量,I为入射光线,N为法向量,eta为折射系数;其中I和N必须被归一化,如果I和N之间夹角太大,则返回(0,0,0),也就是没有折射光线...
四、 函数 abs(a):返回a的绝对值round(x):返回与x最近的整数sqrt(x):返回x的平方根pow(x,y):x的y次幂exp(x):返回e为底的指数函数log(x):返回e为底的对数函数ceil(x):返回>=x的最小整数floor(x):返回<=x的最大整数step(x,y):x<=y为1,否则为0saturate(x):返回将x钳制到0和1之间的值clamp...
Unity Shader中的数学函数涵盖了数学中的许多基本和高级概念。下面是一些常见的Unity Shader数学函数及其中文解释。 1. abs(x) 求x的绝对值。 求x的反正切函数值。返回值表示从0开始到x点之间的夹角。 3. ceil(x) 向上取整。 求x的余弦函数值(角度制)。 返回e的x次方的值。 6. floor(x) 求x除以y的余...
积和叉积函数有很大不同) exp(x) 计算ex的值,e= 2.71828182845904523536 exp2(x) 计算2x的值 floor(x) 对输入参数向下取整。例如floor(float(1.3)) 返回的值为 1.0;但是 floor(float(-1.3))返回的值为-2.0。 fmod(x,y) 返回x/y 的余数。如果 y 为 0 ,结果不可预料 frexp(x, out exp) 将浮点数...
Unity Shader常用Cg函数 常用Cg函数#数学函数#abs(x):绝对值// float类型的实现 float abs(float x) { return max(-a, a); } sin(x):正弦,输入为弧度// float类型的实现 float sin(float a) { /* C simulation gives a max absolute error of less than 1.8e-7 */ float4 c0 = float4( ...
今天给大家列出来shader中常用的一些函数,函数后面有释义,大家可以收藏保存,这样大家在写shader的时候可以方便调出来查询。 Cg提供了一系列内建的标准函数。这些函数用于执行数学上的通用计算或通用算法(纹理映射等), 有些函数直接和 GPU 指令相对应,所以执行效率非常高。
二、内置shader辅助函数定义在UnityCG.cginc文件中 顶点转换函数: 1、float4 UnityObjectToClipPos(float3 pos) 等价于:mul(UNITY_MATRIX_MVP, float4(pos, 1.0)) 把方向矢量从模型空间变化到世界空间中 2、float3 UnityObjectToViewPos(float3 pos) ...
Unity3D -- shader语法内置函数 该篇是Unity Shader中HLSL的内置函数,主要是一些数学方面的计算函数。在写Shader的时候可以直接使用。 abs//计算输入值的绝对值。acos//返回输入值反余弦值。all//测试非0值。any//测试输入值中的任何非零值。asin//返回输入值的反正弦值。atan//返回输入值的反正切值。atan2//...
Unity Shader基础篇-常用函数的使用与案例 一、前言 本篇文章和大家讲解下Cg的常用函数的使用案例,帮助巩固Cg语言的基础知识。这些函数都可以在Cg的教程里The Cg Tutorial找到示例代码和函数意义。本文讲解几个常用的函数,分别有: 1、Step(a,x):如果x或=a返回1 2、Clamp(x,a,...
floor(x) 向下取整 例如x为2.4 函数返回值为2 fmod(x, y) 返回x/y的余数 frexp(x, out exp) 将浮点值x分为尾数和指数 即x = m * 2^exp 返回m isfinite(x) 判断是否为有限数 isinf(x) 判断是否为无限数 isnan(x) 判断是否为非数值(NaN) ...