2017-06-03 31 views
-2

現在、glTexImage3Dのようなものを使用して3Dテクスチャ上でレイキャスティングを学習しようとしています。私は最初からthis tutorialに従っていた。私の究極の目標は、このように働くことができるプログラムを作成することです:OpenGLでの3Dテクスチャサンプリング

This one

私の理解では、これはレイキャスティング法を使用してレンダリングされたモデルは、3Dテクスチャとしてインポートされていることです。レイキャスティングとテクスチャサンプリングのタスクは、フラグメントシェーダで実行されました。このプログラムを練習として再現できることを願っています。私の質問に親切に答えていただけますか?

  1. 3Dテクスチャの読み込みにはどのようなファイル形式を使用する必要がありますか?
  2. レイとテクスチャの距離を検出するのにどのglsl関数を使用する必要がありますか?
  3. 3Dテクスチャサンプリングとボリュームレンダリングの違いは何ですか?
  4. 私に従うオンラインチュートリアルはありますか?
  5. 独自の3Dテクスチャを作成するにはどうすればよいですか? (ブレンダーを使って作ることができますか?)

答えて

1

1. 3Dテクスチャをインポートするために使用するファイル形式は何ですか?

OpenGLはファイル形式を処理しません。

2.レイとテクスチャの距離を検出するのに、どのglsl関数を使用する必要がありますか?

「準備ができています」というレイキャスティング機能はありません。自分でレイキャスターを実装する必要があります。私。開始点と終了点の間で線(線)に沿ってテクスチャをサンプリングし、サンプルを最終的なカラー値まで積分する。

3. 3Dテクスチャサンプリングとボリュームレンダリングの違いは何ですか?

3Dテクスチャをサンプリングすることは、2D、1D、キューブマップ、またはテクスチャのトポロジをサンプリングすることとあまり変わりません。所与のベクトルAに対して、あるベクトルBが、すなわちA(最も近いサンプル)によって指し示された位置に最も近いサンプルの値または補間された値のいずれかである。

4.利用できるオンラインチュートリアルはありますか?

http://www.real-time-volume-graphics.org/?page_id=28

5.どのように私は自分の3Dテクスチャを生成することができますか? (ブレンダーを使って作ることはできますか?)

あなたは確かにBlenderを使うことができます。フォグ濃度のような容積測定データをベーキングすることによって、しかし、被験者全体が広すぎてここで十分にカバーすることはできません。

+0

ありがとうございます。質問1の場合、データの形式は何ですか?そのような形式にobjファイルを変換することは可能ですか? – FunnyFunkyBuggy

+0

@FunnyFunkyBuggy:基本的に3D画像です。スライスで構成された2D画像のスタックとして想像してみてください。 「メッシュ」またはジオメトリを容積データに「変換する」ことは、実際にジオメトリを容積画像にレンダリングすることによって可能性があります。しかし、それは問題の独自のシェアを持っています。どのように "内部"のものを定義するかのようです。あなたの典型的なメッシュは、無限に細い三角形で構成されています。メッシュが水密でない場合、または方向付け可能でない場合、ボリュームを「塗りつぶす」ことは不可能です。しかし、あなたが*その質問をするとXY問題があるようです。 – datenwolf

関連する問題