shader技巧

  • 数学函数:
    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%E7%AE%97%E6%B3%95
  • 随机函数,输入uv
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/307513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cesium笔记 viewer控件隐藏

Cesium初始化后,场景中会有时间轴,动画,home等控件显示,需要将这些控件隐藏,如下: init() {let viewer new Cesium.Viewer("cesiumContainer", {fullscreenButton: false, // 隐藏界面右下角全…

PLECS如何下载第三方库并导入MOSFET 的xml文件,xml库路径添加方法及相关问题

1. 首先xml库的下载,PLECS提供了一个跳转的链接。 https://www.plexim.com/download/thermal_models 2. 下载一个库(以最后一个Wolfspeed为例,属于CREE的SiC MOSFET) 下载这个就行,都包含了。不信自己可以试试再下载…

arthas 内存占用过大排查

使用经验分享 线上故障排查思路: 1、紧急处理,优先保障服务可用(如切换vip,主备容灾) 2、保留第一现场,通过jstack -l {pid} > jvmtmp.txt ,打印栈信息 (后续可以在gceasy官网上…

vagrant 用户名密码登录

正常登录后 sudo -i 切换到root权限 vim /etc/ssh/vim sshd_config 将PasswordAuthentication no设置 为yes 重启sshd.service服务 systemctl restart sshd.service

Apache Doris (六十二): Spark Doris Connector - (2)-使用

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. 将编译jar包加入本地Maven仓库

Vue3:使用解构赋值来读取对象里的键-值对(值也是对象)

一、前言 在Vue3中,想要读取一个对象的“键—值”对(值也是一个对象),数据格式如下: {1:{courseName: 课程1, study: 951526, visit: 3785553},2:{courseName: 课程2, study: 181630, visit: 380830}&…

goland报错:The selected directory is not a valid home for Go SDK

原因: IDEA / goland无法识别到GO语言SDK版本 解决办法: 打开GO的安装目录下的src\runtime\internal\sys\zversion.go文件,添加一行(我的go版本是1.18.10) const TheVersion go1.18.10 重启goland再选择试试 最后…

基于大数据机器学习TF-IDF 算法+SnowNLP的智慧旅游数据分析可视化推荐系统

文章目录 基于大数据机器学习TF-IDF 算法SnowNLP的智慧旅游数据分析可视化推荐系统一、项目概述二、机器学习TF-IDF 算法什么是TF-IDF?TF-IDF介绍名词解释和数学算法 三、SnowNLP四、数据爬虫分析五、项目架构思维导图六、项目UI系统注册登录界面各省份热门城市分析…

光缆通信有什么特点?

光缆由一个或多个光纤组成,每个光纤由一个非常纤细的玻璃或塑料纤维组成,可以传输光信号的高速数据。光缆通信具有以下特点: 1. 高带宽:光缆通信可以提供非常高的带宽,远远超过传统的铜缆通信。光纤的宽带特性使其能够…

echarts使用之柱状图

一、引入Echarts npm install eacharts --save 二、选择一个Echarts图 选择创建一个柱状图 option { // x轴参数的基本配置xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun] //X轴数据}, // y轴参数的基本配置yAxis: {type: value}, // series:[{data: …

第一次面试总结 - 迈瑞医疗 - 软件测试

🧸欢迎来到dream_ready的博客,📜相信您对专栏 “本人真实面经” 很感兴趣o (ˉ▽ˉ;) 专栏 —— 本人真实面经,更多真实面试经验,中大厂面试总结等您挖掘 注:此次面经全靠小嘴八八,没…

golang并发安全-select

前面说了golang的channel, 今天我们看看golang select 是怎么实现的。 数据结构 type scase struct {c *hchan // chanelem unsafe.Pointer // 数据 } select 非默认的case 中都是处理channel 的 接受和发送,所有scase 结构体中c是用来存储…

在AWS云上面创建Developers用户组

问题 需要给开发人员创建一个专门的Developers用户组,保证开发人员只能够尽兴相关操作。注意,我这里使用的AWS国际版。 创建Developers用户组 打开用户组页面,点击用户组,创建组,进行用户组创建,如下图&…

哪种台灯适合备考用?2024值得入手的护眼台灯推荐

现在孩子的近视率越来越高了,也有很多家长开始意识到孩子用眼健康的重要性。而台灯作为守护孩子用眼环境的必备用品,很多家长想给孩子购置一款护眼灯,却看见市面琳琅满目的款式根本不知道怎么购买,害怕买到劣质的护眼台灯&#xf…

SpringBoot+SSM项目实战 苍穹外卖(09) day9作业

继续上一节的内容,本节是作业课,要求独立完成:用户端历史订单模块、商家端订单管理模块相关业务新功能开发和已有功能优化。 目录 作业要求用户端历史订单模块查询历史订单查询订单详情取消订单再来一单 商家端订单管理模块订单搜索各个状态的…

每天刷两道题——第十一天

1.1滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出&…

爆肝整理,性能测试-场景设计/性能调优总结,一篇概全...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、性能测试场景设…

密钥管理机制如何进行工作

密钥管理机制是信息安全领域中一个至关重要的环节,其目标是确保密钥的安全传输、存储和使用,从而保障整个系统的安全性和可靠性。在实际工作中,密钥管理机制涉及到多个方面的技术和方法,下面将详细介绍其工作原理和过程。 密钥管理…

Navicat迁移局域网内其他PC机的MySQL数据库

迁移局域网内其他PC机的MySQL数据库到本机 查看局域网IP 设置可远程连接的账号 开放本机防火墙的3306端口 连接PC机的MySQL 利用Navicat迁移数据库 刚换了个电脑,旧电脑的MySQL数据库太多了,转成.sql文件,再传输到新电脑上运行&#xff…