glsl lowp 随机数生成(用于图形)的好算法是什么?

2024-01-22

我需要一个随机数生成器来创建一些图形静态。我不是在寻找噪声算法 - 我只是想要白噪声。我所需要的只是 glsl 中的随机数生成器。具体来说,随着时间的推移,我将使用它为每个片段创建随机亮度偏移。

要求:

  • 生成 0.0 到 1.0 之间的数字(不关心是否包含/不包含)
  • 这不必是that随机的。这不会用于任何安全目的,它只需要肉眼看来是“随机的”。
  • 它需要可以计算lowp只漂浮! (适用于移动设备)
  • 仅具有fragment_x、fragment_y 和time_mod_ten_pi 作为输入(time_mod_ten_pi 正是它听起来的样子;自游戏开始以来的时间(以秒为单位),mod (10*3.1415) 作为浮点数传入,以允许轻松、连续的振荡而无需担心关于精度问题。30 秒对于人类不会注意到重复的噪音来说已经足够了)
  • 当显示在fragment_x *fragment_y网格上时,我不需要任何可见的图案(静态或运动)
  • 越简单/越快越好!

想在这里重申一下——只需要使用 lowp 浮点数即可运行。互联网上流传的那句话 (fract(sin(dot(...)))) 确实not满足这个条件! (至少,我认为问题在于低浮点数......也可能是真正微弱的罪恶实施......所以如果你也可以避免高数字的罪恶?奖金?)


这是我能想到的最好的,但我仍然不是 100% 满意(如果你仔细观察,你仍然可以看到一个小的万花筒般的效果......

float rand(float frag_x, float frag_y, float t)
{
  float r = t*7.924;
  return fract(sin(frag_y+frag_x)*r+sin(frag_y-frag_x)*r*.7);
}

(7.924 和 .7 是我在键盘上混搭的——仅此而已)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

glsl lowp 随机数生成(用于图形)的好算法是什么? 的相关文章

  • OpenGL:伽玛校正图像看起来不线性

    我使用 OpenGL 进行渲染 当我将线性值写入默认帧缓冲区 没有任何伽玛校正 时 它们在我的显示器上显示为线性 这违背了我认为我所知道的关于伽马校正的一切 如下所述 http gamedevelopment tutsplus com ar
  • 在三角域内生成随机位置

    我想生成x and y具有均匀分布且受限于 xmin xmax and ymin ymax 点 x y 应位于三角形内 我该如何解决这样的问题 下面是一些在平面中的任意三角形上均匀生成点的代码 import random def point
  • SSBO 是更大的 UBO?

    我目前正在 OpenGL 4 3 中使用 UBO 进行渲染 以将所有常量数据存储在 GPU 上 诸如材料描述 矩阵等内容 它可以工作 但是 UBO 的小尺寸 我的实现为 64kB 迫使我多次切换缓冲区 减慢渲染速度 我正在寻找类似的方法来存
  • 随机打乱 C++ 数组(每次都不同)

    我想在C 中对数组进行洗牌 并且每次运行程序时 我想要进行不同的随机洗牌 我有myArray的长度 目前我正在使用 random shuffle myArray myArray N 但这每次都会产生相同的洗牌 为了包含随机数 我尝试过 ra
  • 基于 2 个输入的伪随机数生成器 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要根据 2 个输入值 X 和 Y 生成一个伪随机数 给定相同的 X 和 Y 值 我需要得到相同的结果 结果应介于 0 和 1 之间 含
  • shell中如何从数组中随机选择一个项目

    我正在 Shell 脚本中创建一个机器人 Array with expressions expressions Ploink Poink I Need Oil Some Bytes are Missing Poink Poink Piiii
  • 在 iOS 上使用 OpenGL ES 2.0 进行实例化绘制

    简而言之 谁能确认是否可以使用内置变量gl InstanceID or gl InstanceIDEXT 在 iOS 上使用 OpenGL ES 2 0 的顶点着色器中GL EXT draw instanced启用 Longer 我想使用绘
  • RNG 技术的可移植性和可重复性

    我可以使用两种方法之一来创建一个伪随机数序列 该序列具有两个重要特征 1 它可以在不同的机器上重现 2 该序列永远不会重复范围内的数字 直到所有数字都被发出 我的问题是 这两种方法在可移植性 操作系统 Python 版本等 方面是否存在潜在
  • 为什么我在这段代码中不断得到两个相同的随机值? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我的随机数生成器在 C 中不是随机的 https stackoverflow com questions 932520 why does it appear that my random num
  • GLSL 中统一浮点行为和常量浮点行为的不同

    我正在尝试在 GLSL 中实现模拟双精度 并且观察到一种奇怪的行为差异 导致 GLSL 中出现细微的浮点错误 考虑以下片段着色器 写入 4 浮点纹理以打印输出 layout location 0 out vec4 Output unifor
  • 从某个文件夹启动随机批处理文件

    问题是这样的 我有一个名为 abc 的文件夹 其中包含几个批处理文件 它们的命名如下 abc1 batabc2 batabc3 batabc4 bat 等等 我需要一个脚本 当我单击它时 它会随机启动其中一个批处理文件 我需要的脚本将存储在
  • 枚举上的 random.choice

    我想用random choice on an Enum I tried class Foo Enum a 0 b 1 c 2 bar random choice Foo 但是这段代码失败了KeyError 我怎样才能随机选择一个成员Enum
  • 是否可以证明序列是否是随机的?

    考虑以下输入 1 1 2 3 5 8 这不是随机的 2 4 8 16 32 这都不是 4 1 2 11 5 9 这个看起来像随机序列 我想问是否有这样的算法来证明输入是否是随机的 不 没有这样的证明 如果你有完全随机的数字 则每个长度为 n
  • 如何在C++11中让每个线程使用自己的RNG

    我正在 C 11 中使用新的随机数生成器 虽然有不同的看法 但由此看来thread https stackoverflow com questions 8813592 c11 thread safety of random number g
  • sklearn.model_selection.train_test_split 示例中的“随机状态”是什么? [复制]

    这个问题在这里已经有答案了 有人能给我解释一下吗random state在下面的例子中意味着什么 import numpy as np from sklearn model selection import train test split
  • 固定长度的随机数

    我想生成一个 0 9 数字且长度 5 的随机整数 我尝试这样做 function genRand min max for var i 1 i lt 5 i var range max min 1 return Math floor Math
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 从上下文无关语法生成 n 个语句

    因此 不是为了重新发明轮子 我想知道从上下文无关语言生成随机语句 如 yacc 等生成的语句 已经做了哪些工作 这些语法主要用于解析 但也许有人已经做了一些生成来测试解析器 谢谢 查看这篇博文 http eli thegreenplace
  • 如何在 Swift 中生成随机数?

    我意识到 Swift 书提供了随机数生成器的实现 最佳实践是复制并粘贴此实现吗 或者有一个库可以做到这一点 我们现在可以使用吗 斯威夫特 4 2 Xcode 10 附带的 Swift 4 2 为许多数据类型引入了新的易于使用的随机函数 您只
  • 如何生成泊松过程?

    原问题 我想生成一个泊松过程 如果按时间到达的人数t is N t 我有一个带有参数的泊松分布 我如何生成N t 我将如何在 C 中做到这一点 澄清 我最初想使用泊松分布生成过程 但是 我对我需要的过程参数感到困惑 我以为我可以用N t 但

随机推荐

  • 如何在 R 中保存二值图像的 XY 坐标?

    I am trying to save the XY coordinates of a binary image in R similarly to the save Save XY Coordinates function in Imag
  • 加载前检查文件是否存在

    我想要做的是在 Material Widget 中加载图像以在 ListTile 中使用它 但该资源可能不存在 class MyImage extends StatelessWidget final imagePath MyIcon Str
  • 如何判断多面体是否是凸多面体?

    我正在寻找一种有效的算法来确定多面体是否是凸的 我首先检查欧拉特征是否为 2 我还检查每个面是否都是凸面 但这仍然没有抓住很多案例 看一下这个 http liam flookes com cs geo http liam flookes c
  • 关于 C# RFID 线程的问题

    我的问题是寻求反馈 以确保我采取正确的方法并正确处理线程 我有一种感觉 我可能需要设置一些我自己的线程 所以欢迎所有反馈 我遇到的问题是从零个或多个 RFID 阅读器读取 RFID 标签 我可以毫无问题地为单个读者阅读 因此从多个读者那里阅
  • Django 表单和标题属性

    我需要使用属性 title 来渲染我的表单以进行 jquery 验证 以这种方式渲染我的表单怎么办
  • 自己编码的聊天中的 ListView Rowlayout

    我正在尝试做什么 我正在尝试创建一个必须不同行的聊天 对于每一行我都制作了一个自己的布局文件 但问题是其中一行的布局文件不适合屏幕 Question 我需要在行布局中更改哪些内容才能使其适合应有的效果 您会找到代码以及我正在尝试的打印屏幕
  • 为什么这个函数会多次触发?

    我正在填写这个清单 ul ul 使用 jquery 生成文件夹列表 生成以下 HTML ul li Item 1 li li Item 2 li li Item 3 ul li Sub Item li ul li ul
  • 如何在Jackson ObjectMapper的序列化中添加@JsonIgnore注释字段

    我需要添加 JsonIgnore序列化对象时带注释的字段Jackson ObjectMapper 我知道您可能会建议我删除 JsonIgnore我的类中的注释 但我需要它们在我的应用程序的某些部分可以忽略 在我的应用程序的另一部分我需要那些
  • 滥用比赛?

    您是否会考虑以下代码块匹配滥用 如果是这样 在没有大的 if else if 块的情况下 有什么更优雅的方法可以做到这一点 def sum base Int xs List Int Int base match case 0 gt 1 ca
  • “模糊引用”错误两次指向同一方法

    I used 这个绝妙的解决方案 https stackoverflow com questions 3509290 how to convert a linq result to datatable 3767520 3767520将 li
  • Enterprise Library 5.0安装错误

    此应用程序需要 NET Framework 3 5 SP1 请安装 net Framework 然后再次运行此安装程序 但系统已经安装了 net Framework 4 0 在添加删除程序中我可以看到以下两个条目 1 Microsoft N
  • Angular2:从javascript函数调用组件方法[重复]

    这个问题在这里已经有答案了 目前我正在尝试实现引导日期选择器 它使用jQuery 以及我的 Angular2 项目 这是我到目前为止所拥有的 import Component AfterViewInit Injector Inject fr
  • .ContextMenu 和 .ContextMenuStrip 之间的差异

    两者有什么区别 ContextMenu and ContextMenuStrip在 Windows 窗体中 我已经知道什么是ContextMenu是 但是怎么样ContextMenuStrip不同于ContextMenu 您可能想知道为什么
  • 如何将三角形标记添加到 SpreadsheetGear 网格的任何单元格角?

    这是 SpreadsheetGear Grid 的特定问题 我知道您可以向单元格添加注释 单元格会自动在右上角获得红色三角形标记 但我需要在任何单元格角落添加一个小三角形 不同颜色 来指示一些特殊的东西 有可能做到吗 更新 这是我根据丹尼尔
  • Linux 中 `cd //` 中的双斜杠 // 是什么意思? [复制]

    这个问题在这里已经有答案了 我输入了一个命令cd 代替cd 错误地 而不是像我期望的那样收到错误 shell Bash 显示了一个提示 就像我在 目录
  • 如何在 Keras 中实现 L2-norm pooling?

    我想向我的 CNN 添加一个全局时间池层 它具有三种不同的池函数 均值 最大值和 L2 范数 Keras 有平均池化函数和最大池化函数 但我还没有找到用于 L2 的池化函数 我自己该如何实现呢 我也在寻找这个 keras 中没有这样的开箱即
  • Tensorflow 中的多个会话和图形(在同一进程中)

    我正在训练一个模型 其中输入向量是另一个模型的输出 这涉及从检查点文件恢复第一个模型 同时从头开始初始化第二个模型 使用tf initialize variables 在同一过程中 有大量的代码和抽象 所以我只是将相关部分粘贴到此处 以下是
  • 如何让 Metro(React Native 打包器)忽略某些目录

    Problem 我的项目有一个 providesModule naming collision当试图跑步时react native run ios从命令行 它与自动生成的目录冲突dist 它是由另一个 npm 包 esdoc 创建的 我希望
  • XPath 如何处理 XML 命名空间?

    XPath 如何处理 XML 命名空间 If I use IntuitResponse QueryResponse Bill Id 为了解析下面的 XML 文档 我返回了 0 个节点
  • glsl lowp 随机数生成(用于图形)的好算法是什么?

    我需要一个随机数生成器来创建一些图形静态 我不是在寻找噪声算法 我只是想要白噪声 我所需要的只是 glsl 中的随机数生成器 具体来说 随着时间的推移 我将使用它为每个片段创建随机亮度偏移 要求 生成 0 0 到 1 0 之间的数字 不关心