问题标签 [simplex-noise]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
glsl - GLSL - 将 2D 纹理用于 3D Perlin 噪声而不是程序 3D 噪声
我为太阳表面实现了一个着色器,它使用simplex
来自ashima/webgl-noise 的噪声。但是它花费了太多的 GPU 时间,特别是如果我要在移动设备上使用它。我需要做同样的效果,但使用噪声纹理。我的片段着色器如下:
如何更正此着色器以使用噪声纹理以及纹理应该是什么样子?
据我所知,OpenGL ES 2.0
不支持 3D 纹理。此外,我不知道如何创建 3D 纹理。
java - 为什么噪声算法使用 256 个排列值?
我已经看到了许多噪声实现,例如perlin
和simplex noise
to procedural terrain generation
,它们似乎都使用 256 个排列值。为什么是这样?使用超过 256 会有什么影响?
java - 将 2D 单纯形噪声转换为 1D?
好吧,我正在用 Java 开发一个小游戏,我正在使用我在网上找到的这个Simplex Noise 生成器。我面临的问题是:我正在生成我的游戏世界,如下所示:
据我了解噪音,2D噪音适用于自上而下的游戏。不过,我正在开发的是一款横向卷轴游戏(如泰拉瑞亚、星界边境、克雷亚等)。所以我需要一个 terragen 来给我地形的最顶层,谷歌告诉我那是一维噪声,所以这里的问题是:如何将这个二维噪声转换成一个类似于地形的一维噪声?
directx-11 - 3D 单纯形噪声突然高度变化
我在生成 3D 噪波时遇到问题。
我编写了一个使用 DirectX11 渲染所有内容的框架。
我生成一个 Geo-sphere 并使用 3D Simplex Noise 函数修改高度值。
问题是,当我看到结果时,我看到高度的突然变化根本不像噪音......
(图片中央的长方形)
我已将 Persistence 修改为 0.1,因此在这里很容易看到错误...
我无法弄清楚身高突然变化的问题。这是一个错误,对吧?
我用以下方法计算高度......
此外,更改函数的基坐标并不能消除这种奇怪的输出。(对于任何认为从 0,0,0 开始以某种方式搞砸的人)
噪声实施
float Noise::octavenoise3D( const float octaves, const float persistence, const float scale, const float x, const float y, const float z, int *perm, int *grad3 )
浮动噪声::rawnoise3D( 常量浮动 x, 常量浮动 y, 常量浮动 z, int *perm, int *grad3 )
int Noise::fastfloor( const float x )
浮动噪声::点(常量 int* g,常量浮动 x,常量浮动 y,常量浮动 z)
perlin-noise - Perlin 和 Simplex Noise 的排列和梯度表在实践中是如何工作的?
因此,我一直在研究 Perlin 和 Simplex 噪声的工作原理,虽然我了解了常规 Perlin 噪声的核心原理,但我对排列和梯度表的工作原理有点困惑。
据我了解,它们提供比种子随机数生成器更好的性能,因为它们是预先计算的值的表,可以很好地索引以便快速访问。
我不完全明白的是它们实际上是如何工作的。我已经看到一个排列表实现为从 0-255 的洗牌值的数组,如下所示:
但我不确定这样做的实际目的是什么。我想知道的是:
- 排列表是如何与网格点相关的?
- 梯度表是如何生成的?
- 排列表中的值如何与梯度表一起使用?排列值是否对应于梯度表中的索引?
algorithm - 使用另一种算法修复由 Perlin 噪声产生的方向性伪影
我最近看到 Simplex 噪声(3D 和更高维度)已获得专利......存在一种单纯形噪声的替代品来避免(只有律师可以告诉)专利部件,即 Opensimplex。但我不是律师,所以我不想冒任何风险......
回到旧的噪声算法,即 Perlin 噪声及其方向伪影。
谁能想到一种算法可以消除或至少减少 3D 中 Perlin 噪声生成的方向性伪影?即我需要一种算法来纠正 Perlin 噪声的最终生成结果。这个算法是否慢也没关系,因为一切都是在启动时生成的!:)
java - 绘制并获得 OpenSimplexNoise 结果
我想用 OpenSimplexNoise 生成一个随机地形。首先,我只想得到一个结果并将其绘制到一个窗口中。
我现在的问题是:如何获得 OpenSimplexNoise 的正确输出(因为有很多方法,我只是不知道哪个是正确的)以及如何绘制这个结果。
这是我得到的当前代码。
这是任何需要它的人的 OpenSimplexNoise 的链接: https ://gist.github.com/KdotJPG/b1270127455a94ac5d19
java - OpenSimplexNoise 更高的细节级别
我是世界生成和用于它们的算法的新手,所以我希望有人能给我一些有用的解释或代码或两者兼有,或链接到我在寻找解决方案时错过的一些资源。
如何使用 OpenSimplexNoise 获得更高的细节级别?
我知道在像 PerlinNoise 这样的算法中,它可以通过频率和相加倍频来完成。那么如何使用 OpenSimplexNoise 实现这样的目标呢?
这是我已经得到的:
我怎样才能实现它以获得更平坦的森林等结果?
java - 如何将 SimplexNoise 用于 1D
我一直在玩 Simplex Noise。但我仍然不知道我应该如何正确使用它。我的目标是为 Sidescroller 游戏获取地形。它应该具有多边形风格的外观。
问题:
方法
getNoise(int x, int y)
它们的值是什么。他们改变了什么?我见过人们使用嵌套的 for 循环和 dogetNoise(i + x, j + z)
。为什么值最大特征,持久性不变?我应该有超过 1 个 SimplexNoise 类来获得不同的生物群落吗?