問題タブ [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.

0 投票する
2 に答える
4507 参照

glsl - GLSL - プロシージャル 3D ノイズの代わりに 3D パーリン ノイズに 2D テクスチャを使用する

ashima/webgl-noisesimplexからのノイズを使用する太陽面のシェーダーを実装しました。しかし、特にモバイル デバイスで使用する場合は、GPU 時間がかかりすぎます。同じ効果を行う必要がありますが、ノイズ テクスチャを使用します。私のフラグメントシェーダーは以下の通りです:

このシェーダをノイズ テクスチャで動作するように修正するにはどうすればよいですか? また、テクスチャはどのように見えるべきですか?

私の知る限り、OpenGL ES 2.03D テクスチャはサポートされていません。また、3D テクスチャの作成方法がわかりません。

0 投票する
0 に答える
415 参照

unity3d - シンプレックス ノイズでの CG シェーダーのビジュアル アーティファクト

私は現在、ユニティのために CG シェーダーで 3D シンプレックス ノイズの実装を作成しようとしています。もともと C++ で書かれたこの実装を使用し、CG に移植することにしました。これらは類似しているためです。

コードで簡単に使用できるように、順列と勾配ベクトルをテクスチャとして提供することにしました。各シンプレックスの端にある場所を除いて、すべて正常に動作します。これは、私が修正したい容認できない視覚的アーティファクトにつながります.

アーティファクト

テクスチャ上の点線に注目してください。丸め/床に問題があるのではないかと思いましたが、どの操作がこれを引き起こしているのかわかりません。フローリングで遊んでみましたが、何も役に立ちません。

ここに私のシェーダーコードがあります:

そして、シェーダーで定数データを模倣する画像は次のとおりです。

グラディネット Grad3

順列 ベクター

それらをシェーダーの適切なプロパティに割り当てることを忘れないでください。

0 投票する
1 に答える
1065 参照

java - 2D シンプレックス ノイズを 1D に変換しますか?

わかりました、私はここ Java で小さなゲームに取り組んでおり、オンラインで見つけたこのシンプレックス ノイズ ジェネレーターを使用しています。私が直面している問題はこれです:私は自分のゲームの世界を次のように生成しています:

明らかに 2D ノイズが発生します。最終結果は次のようになります。 見る

私がノイズを理解している限り、2D ノイズはトップダウン ゲーム用です。ただし、私が取り組んでいるのは横スクロール ゲーム (Terraria、Starbound、Crea など) です。ですから、地形の最上層を与えるにはテラゲンが必要です.Googleはそれが1Dノイズであると教えてくれます.ここで質問です.この2Dノイズを地形に見える1Dノイズに変換するにはどうすればよいですか?

0 投票する
1 に答える
1066 参照

directx-11 - 3D シンプレックス ノイズ 突然の高さ変化

3D ノイズの生成に問題があります。

DirectX11 を使用してすべてをレンダリングするフレームワークを作成しました。

Geo-sphere を生成し、3D シンプレックス ノイズ関数を使用して高さの値を変更します。

問題は、結果を見ると、まったくノイズではない高さの突然の変化が見られることです...

ここに画像の説明を入力

(写真中央の長方形)

Persistence を 0.1 に変更したので、エラーはここで簡単に確認できます...

ここに画像の説明を入力

急激な高さの変化の問題がわかりません。これはエラーですよね?

私は次のように高さを計算します...

また、関数のベース座標を変更しても、この奇妙な出力は取り除かれません。(0,0,0 から始まるのがどうにかしてめちゃくちゃだと思っている人のために)

ノイズの実装

float Noise::octavenoise3D( const float オクターブ、const float 持続性、const float スケール、const float x、const float y、const float z、int *perm、int *grad3 )

float Noise::rawnoise3D( const float x, const float y, const float z, int *perm, int *grad3 )

int Noise::fastfloor( const float x )

float Noise::dot( const int* g, const float x, const float y, const float z )

0 投票する
1 に答える
672 参照

perlin-noise - パーリンとシンプレックス ノイズの順列と勾配テーブルは実際にどのように機能しますか?

そこで、私はパーリンとシンプレックス ノイズがどのように機能するかについて少し調査を行ってきました。通常のパーリン ノイズの主要な原理は理解できましたが、順列と勾配テーブルがどのように機能するかについて少し混乱しています。

私の理解では、シードされた乱数ジェネレーターよりも優れたパフォーマンスを提供します。これは、すばやくアクセスできるように適切にインデックス化された事前計算済みの値のテーブルであるためです。

私が完全に理解していないのは、それらが実際にどのように機能するかです。次のように、0 ~ 255 のシャッフルされた値の配列として実装された順列テーブルを見てきました。

しかし、これの実際の目的が何であるかはわかりません。私が知りたいのは:

  • 格子点に関連して順列表はどのように使用されますか?
  • 勾配テーブルはどのように生成されますか?
  • 順列テーブルの値は勾配テーブルでどのように使用されますか? 順列値は勾配テーブルのインデックスに対応していますか?
0 投票する
1 に答える
616 参照

java - OpenSimplexNoise の結果を描画して取得する

OpenSimplexNoise でランダムな地形を生成したい。まず、結果を取得してウィンドウに描画したいだけです。

私の質問は次のとおりです: OpenSimplexNoise の正しい出力を取得するにはどうすればよいですか (多くの方法があり、どれが正しいかがわからないため)、この結果を描画する方法。

次のようになります。 ここに画像の説明を入力

これは私が持っている現在のコードです。

これが必要な人のための OpenSimplexNoise へのリンクです: https://gist.github.com/KdotJPG/b1270127455a94ac5d19

0 投票する
1 に答える
221 参照

java - 1D に SimplexNoise を使用する方法

私はシンプレックス ノイズで遊んでいます。しかし、私はまだそれを正しく使用する方法を知りません。私の目標は、Sidescroller ゲーム用の地形を取得することです。多角形スタイルの外観にする必要があります。

ここからSimplexNoiseのソースを入手しました

質問:

  • getNoise(int x, int y)それらがどのような値であるかのメソッド。彼らは何を変えますか?ネストされた for ループと do を使用している人を見てきましたgetNoise(i + x, j + z)

  • maximumFeature、persistance の値が変更できないのはなぜですか? 異なるバイオームを取得するには、複数の SimplexNoise クラスが必要ですか?