Learn ComputeShader 05 Using noise in the shader

news2024/11/14 20:55:32

首先实现一个简单的噪声效果

实现原理也很简单,只是在每个线程使用随机函数获得一个随机值

float random (float2 pt) {
    const float a = 12.9898;
    const float b = 78.233;
    const float c = 43758.543123;
    return frac(sin(dot(pt, float2(a, b))) * c );
}

[numthreads(8,8,1)]
void CSMain (uint3 id : SV_DispatchThreadID)
{
    float4 white = 1;
    Result[id.xy] = random(((float2)id.xy)/(float)texResolution) * white;

接着要实现变化的噪声,只需要加上时间对随机函数的影响,呈现出类似于老式电视屏幕上的噪音的效果

float random (float2 pt,float seed) {
    const float a = 12.9898;
    const float b = 78.233;
    const float c = 43758.543123;
    return frac(sin(dot(pt, float2(a, b))+seed) * c );
}

[numthreads(8,8,1)]
void CSMain (uint3 id : SV_DispatchThreadID)
{
    float4 white = 1;
    Result[id.xy] = random(((float2)id.xy)/(float)texResolution,time) * white;
}

另外在下面的链接里有很棒的噪声函数库

GitHub - ashima/webgl-noise: Procedural Noise Shader Routines compatible with WebGL

这里直接输出perlin噪声的结果看看

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32-USART时序与寄存器状态分析

一、时序分析 在UART(通用异步收发传输)通信中,信号线上的状态分为两种:逻辑1(高电平)和逻辑0(低电平)。在空闲状态下,数据线应保持逻辑高电平。UART协议中的各个信号位具…

拥抱变革:旗晟智能巡检机器人系统重塑高风险行业巡检模式

随着工业自动化的快速发展,特别是在石油、化工、煤矿等高风险行业中,传统的巡检方式已难以满足现代企业的需求。高频次、全天候、重复的人工巡检不仅效率低下,还面临着人身安全、数据准确性和运营成本等多方面的挑战。针对这些问题&#xff0…

大模型算力基础设施技术趋势、关键挑战与发展路径

文章目录 前言一、大模型技术发展趋势1.1 大语言模型1.2 多模态模型1.3 长序列模型1.4 混合专家模型二、大模型算力基础设施发展问题与挑战2.1 可用算力规模亟需算力利用效率提升2.2 集群性能提升依赖跨尺度、多层次互联三、大模型算力基础设施高质量发展路径总结前言 从大模型…

SpringCloud与SpringBoot之间的关系解析

Spring Cloud和Spring Boot是两个独立的项目,分别用于构建微服务架构和快速构建Java应用程序。它们之间有着密切的关系,可以相互配合使用。 Spring Boot简介 Spring Boot是一个用于快速构建Java应用程序的框架。它简化了Spring应用程序的开发过程&#x…

Redis,MongoDB,Memcached未授权访问漏洞(及其修复方法)

一. Redis Redis 默认情况下,会绑定在 0.0.0.0:6379 ,如果没有进⾏采⽤相关的策略,⽐如添加防 ⽕墙规则避免其他⾮信任来源 ip 访问等,这样将会将 Redis 服务暴露到公⽹上,如果在没有设 置密码认证(⼀般为空…

【haproxy】haproxy基本配置信息

一、负载均衡 LB: LoadBalancing(负载均衡)由多个主机组成,每个主机只承担一部分访问 负载均衡:Load Balance,简称LB,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、…

新书速览|Python数据可视化:科技图表绘制(送书)

《Python数据可视化:科技图表绘制》 本书内容 《Python数据可视化:科技图表绘制》结合编者多年的数据分析与科研绘图经验,详细讲解Python语言及包括Matplotlib在内的多种可视化包在数据分析与科研图表制作中的使用方法与技巧。《Python数据可视化:科技图表绘制》分为…

WWDg 正点原子版

窗口看门狗 超时时间计算如下 f1系列,wwdg的时钟源频率是36mhz,时钟频率➗(4096*分频系数)就是得到实际的频率,也就是一秒钟能计数好多次,那么频率的倒数也就是计数一次需要的时间,所以频率的倒…

【Linux】阻塞信号|信号原理

常见的信号术语 信号递达(Delivery): 信号实际被执行处理的过程;(当一个信号被递达给进程时,该信号的处理动作已经开始执行实际执行信号的处理动作); 信号未决(Pending): 信号从产生…

快速上手Spring Boot

快速上手Spring Boot (qq.com)

凡图公益行:以爱之名,凡图家庭教育专家入户指导,引领残疾儿童勇敢启航 !

凡图公益行:以爱之名,凡图家庭教育专家入户指导,引领残疾儿童勇敢启航 ! 在社会的各个角落,有一群特殊的孩子。 他们因身体的局限承受着常人难以想象的挑战。 这些挑战不仅体现在日常生活的琐碎之中,更深…

react使用Lodash 库实现根据数组内对象的某属性排序

一、描述 根据数组内的对象的某个属性进行排序操作是很常见的方法,但是如果自己写一个方法,有可能出现错误的情况,且耗费时间,这里介绍一个第三方的工具“Lodash ”库,用这个来实现根据数组内对象的某属性排序特别方法…

LVS原理详解及部署

目录 一、LVS原理 1.LVS简介 2.LVS结构 3.IP负载均衡技术 4.LVS相关术语 二、LVS负载均衡四种工作模式 1.LVS-DR模式 2.LVS-NAT模式 3.LVS-TUN模式(了解) 4.FULL-NAT模式(了解) 三、LVS负载均衡十种调度算法 四、LVS部…

Open3D 使用Jet颜色映射渲染点云

目录 一、概述 1.1Jet颜色映射的定义 1.2Jet颜色映射的应用 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2渲染后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新&am…

书生大模型实战营闯关记录----第六关:大语言模型微调实战,LoRA和QLoRA微调,理论+Xtuner微调实操

文章目录 大语言模型微调基础1 基本概念1.1 Finetune简介1.1.1 Finetune的两种范式 1.2 微调技术1.2.1 LoRA简介1.2.2 QLoRA简介 1 微调前置基础2 准备工作2.2 创建虚拟环境2.3 安装 XTuner2.4 模型准备 3 快速开始3.1 微调前的模型对话3.2 指令跟随微调3.2.1 准数据文件3.2.2 …

ELK架构介绍

一、ELK简介 ELK 是由三个开源软件组成的,分别是:Elasticsearch、Logstash和Kibana,这三个软件各自在日志管理和数据分析领域发挥着重要作用。Elasticsearch提供分布式存储和搜索能力;Logstash负责数据收集和处理,而K…

如何简单粗暴的下载m3u8视频并转换为mp4格式

m3u8文件介绍 M3U(Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator)这种文件格式是音视频文件的列表文件,是纯文本文件。你下载下来打开它,播放软件并不是播放它,而是根据它的记录找到网络地址…

react+taro的文字粘贴识别功能

效果图 <View className"components-page"><Textareastyle"font-size:12PX"className"textareaStyle"placeholderClass"placeholderStyle"placeholder"例&#xff1a;公司&#xff1a;xxxx公司, 电话:13*********, 地址…

MybatisPlus——service批量新增

Service接口 批量新增 批量插入10万条用户数据&#xff0c;并作出对比&#xff1a; 普通for循环插入IService的批量插入 Test void testSaveOneByOne() {long b System.currentTimeMillis();for (int i 1; i < 100000; i) {userService.save(buildUser(i));}long e Sy…

leetcode递归(LCR 024. 反转链表)

前言 经过前期的基础训练以及部分实战练习&#xff0c;粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给定单链表的头节点 head &#xff0c;请反转链表&#xff0c;并返回反转后的链表的头节点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&am…