shader技巧(持续更新)

2024-01-11 10:31:35 浏览数 (3)

  • 数学函数: abs():绝对值函数。 acos():反余弦函数。 asin():反正弦函数。 atan():反正切函数。 ceil():向上取整函数。 cos():余弦函数。 cross():向量叉积函数。 distance():距离函数。 exp():指数函数。 floor():向下取整函数。 frac():小数部分函数。 length():向量长度函数。 log():自然对数函数。 max():最大值函数。 min():最小值函数。 pow():幂函数。 sin():正弦函数。 sqrt():平方根函数。 tan():正切函数。

  • 几何函数: normalize():向量归一化函数。 reflect():向量反射函数。 rotate():向量旋转函数。 scale():向量缩放函数。 translate():向量平移函数。
  • 纹理函数: texture2D():2D 纹理采样函数,输入sample和vec2,输出某个点的vec4向量 textureCube():立方体纹理采样函数,输入sample和vec2,输出某个点vec4向量
  • 高度计算 图像转为灰度图,灰度值表示点的高度 参考:https://search.bilibili.com/article?vt=12550451&keyword=shader算法
  • 随机函数,输入uv
代码语言:javascript复制
float random (vec2 st) {
   return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123);
}
void main(){
   vec2 uv = gl_FragCoord.xy/iResolution.xy;
   gl_FragColor = vec4(vec3(random(uv)),1.0);
}

参考:https://blog.csdn.net/a_codecat/article/details/127563784

0 人点赞