GLSL(OpenGL Shading Language)是一种用于编写着色器代码的高级编程语言,主要用于实现图形渲染管线中的着色器功能。GLSL提供了许多内置函数,用于执行各种常见的数学运算、图形处理和纹理操作。下面是GLSL常用的内置函数的汇总。 一、数学函数 1. sin(x): 返回角度x的正弦值。 2. cos(x): 返回角度x的余弦值。 3....
一、正弦余弦 正弦运动:y = sin(x) 余弦运动:y = cos(x) 动画演示: 通过给sin()和cos()添加一些处理,可以制作出更多有趣的效果: 二、smoothstep 在两个值之间取埃尔米特插值(Hermite interpolation)link,它的值永远是 0~1。 描述:在edge0和edge1之间取一个平缓的差值,在我们需要一个平滑的渐变的时候特别...
radians 角度制转孤度制 degrees 弧度制转角度制 三角函数 sin 正弦 cos 余弦 tan 正切 asin 反正弦 acos 反余弦 atan 反正切 指数函数 pow 开方 exp 自然指数 log 自然对数 exp2 2的x方 log2 以2为底对数 sqrt 开平方 inversesqrt 平开方的倒数 通用函数 abs 绝对值 min 最小值 max 最大值 mod 取余...
sin 正弦 cos 余弦 tan 正切 asin 反正弦 acos 反余弦 atan 反正切 指数函数 pow 开方 exp 自然指数 log 自然对数 exp2 2的x方 log2 以2为底对数 sqrt 开平方 inversesqrt 平开方的倒数 通用函数 abs 绝对值 min 最小值 max 最大值 mod 取余数 sign 取下负号 floor 向下取整 ceil 向上取整 clamp 限...
通过给sin()和cos()添加一些处理,可以制作出更多有趣的效果: 二、smoothstep 在两个值之间取埃尔米特插值(Hermite interpolation)link,它的值永远是 0~1。 描述:在edge0和edge1之间取一个平缓的差值,在我们需要一个平滑的渐变的时候...
r = vec2(cos(uv.y * i0 - i4 + time / i1), sin(uv.x * i0 - i4 + time / i1)) / i2; r += vec2(-r.y, r.x) * 0.3; uv.xy += r; i0 *= 1.93; i1 *= 1.15; i2 *= 1.7; i4 += 0.05 + 0.1 * time * i1; } 3.2 控制语句 GLSL语言可使用if/else语句进...
genType有点像面向对象中泛型,即如果genType是float型的,那么 genType pow (genType x, genType y) 就变成了: float pow (float x, float y) 同理,如果genType是int型的,那么就变成了: int pow (int x, int y); 2. sin, cos, tan都是标准的三角函数。asin, acos, atan是反三角函数...
sin(preferredRotation), cos(preferredRotation), 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); gl_Position = position * rotationMatrix; texCoordVarying = texCoord; } 3.varying变量 varying变量是vertex和fragment shader之间做数据传递用的。一般vertex shader修改varying变量的值,然后fragment sha...
radian函数是将角度转换为弧度,degrees函数是将弧度转换为角度。sin, cos, tan都是标准的三角函数。asin, acos, atan是反三角函数。genType有点像面向对象中泛型,即如果genType是float型的,那么 genType pow (genType x, genType y) 就变成了: float pow (float x, float y) ...
这些三角函数包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、反正弦函数(asin)、反余弦函数(acos)和反正切函数(atan)。这些函数允许我们在图形渲染的过程中进行各种角度和距离的计算。 首先,让我们来看看正弦函数(sin)。正弦函数接受一个角度作为参数,并返回对应的正弦值。例如,sin(30)的返回值是0.5,表示30...