directx で地形をレンダリングする方法を知りたいです。
RAW ファイルを使用していると言う人もいれば、.x ファイルを使用していると言う人もいます。私たちのやり方は何ですか?なぜそれが良いのですか?
2 に答える
1
私のやり方は、ウェーブレット圧縮システムを使用して巨大なテクスチャ(128Kx128K)を圧縮し、約150:1の圧縮率を実現することです。次に、ディスクからテクスチャをチャンクロードします。つまり、世界は複数の256x256チャンクに分割されます(実際には、カメラからの距離に応じてミップマップされます)。私はカメラの位置を使用して、カメラの位置の周りにいくつかのチャンクをフォワードロードします。
次に、表示されているチャンクを計算して描画します。この目的のために、高さデータを頂点シェーダーに供給されるストリームとして直接使用します。次に、頂点の位置が高さストリームの高さの位置に対応するメッシュがあります。次に、yをハイトマップストリームから引き出して、シェーダーのy位置に配置します。
地形をレンダリングするのはかなり複雑な方法ですが、あなたは「あなた」がそれをどのように行うかを尋ねました;)
PS 128,000x128,000のボーナスは、メーターの精度で128kmの地形を取得できることです:D
于 2011-02-20T08:52:57.747 に答える
1
多くの 3D エンジンは、空間効率のために高さマップを使用して地形をレンダリングします (必要なラスター イメージは 1 つだけです)。
于 2011-02-19T10:17:52.547 に答える