問題タブ [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 - プロシージャル 3D ノイズの代わりに 3D パーリン ノイズに 2D テクスチャを使用する
ashima/webgl-noisesimplex
からのノイズを使用する太陽面のシェーダーを実装しました。しかし、特にモバイル デバイスで使用する場合は、GPU 時間がかかりすぎます。同じ効果を行う必要がありますが、ノイズ テクスチャを使用します。私のフラグメントシェーダーは以下の通りです:
このシェーダをノイズ テクスチャで動作するように修正するにはどうすればよいですか? また、テクスチャはどのように見えるべきですか?
私の知る限り、OpenGL ES 2.0
3D テクスチャはサポートされていません。また、3D テクスチャの作成方法がわかりません。
unity3d - シンプレックス ノイズでの CG シェーダーのビジュアル アーティファクト
私は現在、ユニティのために CG シェーダーで 3D シンプレックス ノイズの実装を作成しようとしています。もともと C++ で書かれたこの実装を使用し、CG に移植することにしました。これらは類似しているためです。
コードで簡単に使用できるように、順列と勾配ベクトルをテクスチャとして提供することにしました。各シンプレックスの端にある場所を除いて、すべて正常に動作します。これは、私が修正したい容認できない視覚的アーティファクトにつながります.
テクスチャ上の点線に注目してください。丸め/床に問題があるのではないかと思いましたが、どの操作がこれを引き起こしているのかわかりません。フローリングで遊んでみましたが、何も役に立ちません。
ここに私のシェーダーコードがあります:
そして、シェーダーで定数データを模倣する画像は次のとおりです。
それらをシェーダーの適切なプロパティに割り当てることを忘れないでください。
java - 2D シンプレックス ノイズを 1D に変換しますか?
わかりました、私はここ Java で小さなゲームに取り組んでおり、オンラインで見つけたこのシンプレックス ノイズ ジェネレーターを使用しています。私が直面している問題はこれです:私は自分のゲームの世界を次のように生成しています:
明らかに 2D ノイズが発生します。最終結果は次のようになります。
私がノイズを理解している限り、2D ノイズはトップダウン ゲーム用です。ただし、私が取り組んでいるのは横スクロール ゲーム (Terraria、Starbound、Crea など) です。ですから、地形の最上層を与えるにはテラゲンが必要です.Googleはそれが1Dノイズであると教えてくれます.ここで質問です.この2Dノイズを地形に見える1Dノイズに変換するにはどうすればよいですか?
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 )
perlin-noise - パーリンとシンプレックス ノイズの順列と勾配テーブルは実際にどのように機能しますか?
そこで、私はパーリンとシンプレックス ノイズがどのように機能するかについて少し調査を行ってきました。通常のパーリン ノイズの主要な原理は理解できましたが、順列と勾配テーブルがどのように機能するかについて少し混乱しています。
私の理解では、シードされた乱数ジェネレーターよりも優れたパフォーマンスを提供します。これは、すばやくアクセスできるように適切にインデックス化された事前計算済みの値のテーブルであるためです。
私が完全に理解していないのは、それらが実際にどのように機能するかです。次のように、0 ~ 255 のシャッフルされた値の配列として実装された順列テーブルを見てきました。
しかし、これの実際の目的が何であるかはわかりません。私が知りたいのは:
- 格子点に関連して順列表はどのように使用されますか?
- 勾配テーブルはどのように生成されますか?
- 順列テーブルの値は勾配テーブルでどのように使用されますか? 順列値は勾配テーブルのインデックスに対応していますか?
java - OpenSimplexNoise の結果を描画して取得する
OpenSimplexNoise でランダムな地形を生成したい。まず、結果を取得してウィンドウに描画したいだけです。
私の質問は次のとおりです: OpenSimplexNoise の正しい出力を取得するにはどうすればよいですか (多くの方法があり、どれが正しいかがわからないため)、この結果を描画する方法。
これは私が持っている現在のコードです。
これが必要な人のための OpenSimplexNoise へのリンクです: https://gist.github.com/KdotJPG/b1270127455a94ac5d19
java - 1D に SimplexNoise を使用する方法
私はシンプレックス ノイズで遊んでいます。しかし、私はまだそれを正しく使用する方法を知りません。私の目標は、Sidescroller ゲーム用の地形を取得することです。多角形スタイルの外観にする必要があります。
ここからSimplexNoiseのソースを入手しました
質問:
getNoise(int x, int y)
それらがどのような値であるかのメソッド。彼らは何を変えますか?ネストされた for ループと do を使用している人を見てきましたgetNoise(i + x, j + z)
。maximumFeature、persistance の値が変更できないのはなぜですか? 異なるバイオームを取得するには、複数の SimplexNoise クラスが必要ですか?