問題タブ [heightmap]
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.
shader - ディフューズ ライトの HLSL ハイトマップ テレイン法線の再計算
高さマップ ベースの地形に拡散光を適用する必要がありますが、法線を再計算する方法がわかりません。シェーダー コード: http://pastebin.com/S8hQm67D
java - Lwjgl高さマップを単純化してより高いfpsを得る方法は?
ゲームの fps に少しがっかりしています。私はまだゲーム開発の初期段階にいます。最初にゲームを開始したときは、約 350 fps でした。高さマップとさらにコードをプログラムに追加した後、fps が低下するのは当然のことです。これで 39 fps になりました。私はまだ始めたばかりで、fps はすでに低くなっています。プロジェクトが終わったらどうなるのだろう、イライラするほどfpsが低くなると思います。私はプログラムの多くを求めていることを知っています.ハイトマップは大きな問題です. マップには 200 * 200 頂点の領域があり、各頂点には高さがあります。200 * 200 = 40000 頂点、各フレーム。地図を簡略化しようと考えていました。私の考えは、ハイトマップ全体を単純化するメソッドを作成することです。4 つの頂点はそれぞれクワッドに属します。各頂点の高さが同じである 2 つ以上の四角形が隣り合っている場合、それらを 1 つの四角形にマージできます。ポイントは、頂点を少なくすることです。(おもう)
ハイトマップのコード例をいくつか示します。
誰もこれを経験していますか?アイデアや改善点はありますか、それは正しい方法ですか? 前もって感謝します。
heightmap - 標高データに基づいて C# で高さマップを作成する
最近、あるサイトに出会いました http://www.daftlogic.com/sandbox-google-maps-find-altitude.htm
これにより、地球の任意の場所の各ポイントの標高データが得られます。ここで、Google マップ API などを使用して C# でデスクトップ アプリケーションを構築したいと考えています。ユーザーは場所を検索し、その場所の画像が表示され、ユーザーはズームインまたはズームアウトして必要な領域を選択できます。選択後、ツールは選択したエリア内のすべてのポイントの標高データを取得し、そのポイントにそれぞれの色を作成します。そのため、最高点は白、最低点は黒になり、データが画像に変換されます。フォーマット。これができれば、基本的に数秒でハイトマップを作成できます。
これを達成する方法を誰か教えてもらえますか? 選択した地域のすべてのポイントの標高データを取得する方法、およびそのデータからカラー画像を計算して作成する方法についてはわかりません。
ありがとう。
c++ - 高さマップ ベースの地形での奇妙な法線生成
libnoise と OpenGL を使用して地形生成に取り組んでいます。見た目のように、やや複雑な通常の生成アルゴリズムを作成しました。
ご覧のとおり、周囲の 6 つの面の法線を平均化して法線を生成し、滑らかなシェーディングを実現しています。問題は、一部の部分 (特に地形の低い部分) で、ビットが黒っぽいままで、奇妙に陰影が付けられていることです。ここに写真があります:
私の通常の世代の仕組み:
ノート!!!!Yを描いたのはZのことでした、ごめんなさい!
画像は次のとおりです。
緑は最初の頂点です。
赤は 2 番目の頂点 (x 軸上の最初の + 1)
です。黄色は隣接する三角形の点です。
X は外側のループです。
Z は内側のループです。
を使用しているのでGL_TRIANGLE_STRIP
、次の反復で三角形を作成するために必要なのは 2 つの頂点だけです。
したがって...各三角形が構築されます:
p1 = (x, 画像の高さ, z)
p2 = (x + 1, 画像の高さ, z)
そして次の反復 (z++)
p3 = (x、像高、z + 1)
p4 = (x + 1、像高、z + 1)
...等。
3d - 手続き的に生成された 2 つのランドスケープ ピースを接続する
私は連続世界の手続き型生成に取り組んでいます。
最近、高さマップの組み合わせを使用して、風景にいくつかの制約を適用する ようにアドバイスされました。
次のステップでは、プロシージャルに生成された 2 つのピースを互いに接続して、遷移がスムーズになるようにします。
より正確には、前のピースに基づいて次のピースを生成することがすべてです。それを行うための最良の方法は何だろうと思っています(高さマップを組み合わせたり、他の方法で)。
高さを生成するために、Diamond Square または Mid Displacement または囲んでいるポイント ベースのアルゴリズムを使用していた場合、最初のピースのエッジ値を 2 番目のピースのエッジに割り当て、これらのポイントの「ランダムな」値として使用することを考えます。この方法では、2 番目のピースの残りのすべてのポイントが、最初のピースから取得されたエッジ ポイントをすでに考慮に入れているため、移行はスムーズになります。
残念ながら (または幸いなことに)、高さを生成するためにシンプレックス ノイズ アルゴリズムを使用しています。これは勾配ベースのアルゴリズムです。
それで、あなたは何をお勧めしますか?
mapping - ハイトマップを四角形の球面立方体の「チャンク」にマッピング
私は手続き型の惑星ジェネレーターを開発中であり、私のセットアップでは、キューブの 6 つの面を小さくて扱いやすいクワッドに分割するクワッドツリーをセットアップしています。カメラが地形に近づくと、これらのクワッドが分割され、カメラが遠ざかると、テレイン クワッドは「崩壊」します - 他のクワッドツリー テレイン システムと同様です。問題は、現時点では、地形の頂点を移動するために、3D 隆起マルチフラクタルを使用して頂点の高さを計算し、アルゴリズムの出力を使用して頂点を直接移動する必要があることです。代わりに、より高い解像度で高さマップを生成したい四分木リーフノードの頂点のそれよりも。つまり、高さマップには、惑星のクワッドにある頂点よりも多くのテクセルが必要です。各クワッドの頂点密度は 17x17 (合計 289 頂点) ですが、高さマップ テクスチャの解像度は 192x192 テクセル (合計 36,864 テクセル) です。どの頂点にもマッピングされないテクセルの色を生成するために、リッジド マルチ フラクタル アルゴリズムにどの位置をプラグインするかさえわかりません (頂点位置をプラグインしてすべての高さを生成するため)。ましてや、高さが頂点に適切にマッピングされるように高さマップを読み取る方法がよくわかりません。ハイトマップをこれほど高い解像度にする必要がある唯一の理由は、それらを法線マッピングにも使用するためです。