問題タブ [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.
c++ - 高さマップのOpenGLテクスチャリング
高さマップから生成された地形を適切にテクスチャリングする方法に関するチュートリアルや情報が見つからないようです。
テクスチャ マッピングは問題ではありません。私が知りたいのは、異なるテクスチャを持つ異なる標高で地形全体をテクスチャ化する方法です。
私が思いついたのは、次のようなテクスチャを持つことでした。
三角形の高さに応じて、異なるテクスチャが割り当てられます。
結果:
私がやろうとしているのは、スカイリムのような環境を作成することです。テクスチャが常に繰り返される必要がない場合、説得力のある風景です!
問題は、次のようなものをどのように作成するかです。
テクスチャは、さまざまな高さでシームレスにブレンドされます! これはどのように行われますか?使われているテクニックは?
three.js - Three.js r60 高さマップ
したがって、十分に機能する高さマップシステムがありますが、THREE.js が r60 に更新されて Face4 オブジェクトが削除されたため、問題が発生しています。
私のコードは次のようなものです:
};
ピクセルが各顔を表すため、これはうまく機能します。面がすべて三角形化された今、これはどのように行われるのでしょうか?
同様に、モデルの配置にもイメージ マップを使用します。各ピクセルはそれぞれの Face4 に一致し、目的のメッシュがその重心に配置されます。これは今どのように達成できますか?
ライブラリを更新できるのが本当に恋しいですし、もう r59 で立ち往生したくありません =[
c++ - ハイトマップの通常の平均化
ハイトマップ法線を計算するための次のコードがあります
コードが三角形の3つの頂点を取得し、その法線を計算してから、それらを追加して正規化し、平均化された法線を取得することを理解しています。しかし、他の3つの可能性をどのように得ることができるかわかりません。私は次のようなことをしています:
しかし、私が望んでいた結果が得られるとは思いません。通常の平均化の概念は理解できますが、コードがわかりません。
c# - テクスチャからのビッグエンディアン変換
次のようなファイルから高さを抽出しようとしています: http://visibleearth.nasa.gov/view.php?id=73934
ピクセルは Int32 配列に読み込まれます
理由はわかりませんが、高さが正しくありません... ビッグ エンディアンの変換が間違っていると思います。
これが結果です。高さは予想よりも高くなっています... http://i.imgur.com/FukdmLF.png
編集:
これでよろしいですか?理由はわかりませんが、それでも間違っています...
c++ - 1281 を返す OpenGL glVertexPointer - 理由がわかりません
高さマップ ファイルから地形ポイントを読み込むクラスを作成しました。しかし、それらを描画するとクラッシュします。エラーを 1281 を返す glVertexPointer() 関数に絞り込みました (無効な値を信じるようになりました)。私は完全な 65k っぽいポイントを通過しましたが、問題が見つからないようです。レンダリング ループでこれより前に発生する唯一のことは、GL_PROJECTION と GL_MODELVIEW、および glClear() の設定です (そして、明らかにこの描画呼び出しの後のスワップ バッファ)。
c++ - OpenGL **時々** は 1 つのポイント (65,000 のうち) をレンダリングします
高さマップをロードし、一連の GL_POINTS として結果をレンダリングしようとしています。現在のコードは、画面の中央にある 1 つのポイントをレンダリングすることがあるためです (カメラがどこにあるかに関係なく)。それらが互いに積み重ねられているかどうかを確認するためにさらにポイントします)。Visual Studio を最小化して再度最大化すると、レンダリング中のポイントが停止または開始する可能性があります。次の行があることに気付くでしょう:
コメントアウト - これは、この行が「地形」のすべてのレンダリングを完全に停止するためです。レンダー ループの残りの部分は、PROJECTION と MODELVIEW マトリックスを設定し、clear() と swapbuffers() を呼び出すことだけで構成されています (本から情報を取得し、一般的な多色の三角形でテストしたため、これらはすべて正しく機能しています)。 .
地形クラス:
注: これが私の最後の質問に関連していることに気付く人もいるかもしれません。しかし、私の最後の質問は間違いであり、正しく答えられた (そして私はそのようにマークした) ため、スレッドはあまり注目されていません。非常に多くの意図しないスパム。
編集::私のレンダリングループの残り::
編集:私のコードのさらに多く:
メイン.CPP
エンジン.H: