答えて
実際に「意味」はありません。シェーダを使用している場合は、必要な意味を割り当てることができます。
たとえば、私たちのゲームでは、実際のテクスチャにはxyを使用し、サンプルにはテクスチャを使用し、輝度を制御するにはw(第4コンポーネント)を使用しました。
3Dと4Dのテクスチャのように、それぞれ実際に3と4のテクスチャが必要なことがありますが、それはその意味であると思います。
これらの主な理由は、グラフィックスカードが4つのコンポーネントベクトルで動作するためです。 2Dテクスチャコードを渡すと、それはまだ舞台裏では4ベクトルです(他のrとq成分は設定されていません)。 OpenGLは、必要になる可能性のある機会に、それらを使用する機能を提供します。
rコンポーネントは、3D(ボリューム)テクスチャの深さまたは2Dテクスチャ配列のレイヤのいずれかを指定するために使用されます。
Q成分は、頂点位置ワット要素と同様、同じ役割を果たしている:それは、透視テクスチャ投影における透視分割をスケーリングするために使用されます。
これは、4番目の座標がちょうど4番目のテクスチャの次元であることを意味しますか? – Lu4
@ Lu4:そうではありません。技術的にはちょうど別の番号です。しかし、少し知られている事実 - 同質の座標分割は、固定機能パイプラインのデフォルトでテクスチャ座標に適用されます(テクスチャマトリックスBTWによって変換されます)。テクスチャ座標からサンプリング座標への実際のマッピングは、アクティブなテクスチャターゲットと、使用されるサンプリング関数上のサンプラの場合によって異なります。効果的に、テクスチャ座標のサンプリング座標への全体マッピングは、頂点から正規化されたデバイス(=ウィンドウ)座標への変換プロセスに似ている。 – datenwolf
4次元テクスチャなどはありません。少なくとも、拡張機能がないわけではありません。
glTexCoord4D
が存在する理由は、4つの値を渡すことです。現代のシェーダベースのレンダリングの世界では、「テクスチャ座標」はテクスチャ座標である必要は全くありません。シェーダは、それが何をしても何のためにも使う値です。
シェーダのtexture lookup functionsの多くは、実際のテクスチャの次元数よりも多くのテクスチャ座標次元を使用します。 shadow
テクスチャのすべてのテクスチャ関数は、比較値を表す余分な座標をとります。 Proj
テクスチャ関数はすべて、homogeneous coordinate systemの同次座標を表す余分な座標を取ります。
固定機能ランドでは、3Dテクスチャの投影テクスチャに4Dテクスチャ座標を使用できます。したがって、4D座標はhomogeneous coordinate systemにあります。
- 1. データベースから4次元配列を作成する方法
- 2. 3次元1次元配列からタプルを作成する
- 3. 2次元配列を2次元配列で作成する
- 4. 1次元リストから多次元リストを作成する
- 5. 4-D ndarrayを2次元配列に再構成する
- 6. 2次元または3次元辞書をPythonで作成
- 7. 同じ「テクスチャメモリ」を異なる次元のテクスチャにバインドする
- 8. 1次元ダイナミックアレイを作成する
- 9. Unityテクスチャと2次元配列
- 10. PHP作成多次元JSON
- 11. ATSに2次元配列を作成するには?
- 12. Jinja2:多次元のjavascript配列を作成するには?
- 13. jQueryで多次元配列を作成するには?
- 14. XMLから多次元配列テーブルを作成するには?
- 15. 多次元テンソルを作成するには?
- 16. PHPで多次元配列を作成するには?
- 17. Javascriptで多次元配列を作成するには?
- 18. 2次元配列を作成するには
- 19. 2次元マトリックスを複製して3次元配列を作成する(R)
- 20. 多次元配列を持つ多次元オブジェクトを作成する
- 21. ArrayIndexOutOfBoundsException:4 2次元配列
- 22. OpenGL ES 2.0で3dテクスチャデータを2次元テクスチャでレンダリングするには?
- 23. 多次元配列を作成
- 24. MATLABで多次元乱数を作成
- 25. 二次元STDを作成::ベクトル
- 26. Java - 一意のオブジェクトタプル(n次元)を作成する方法は?
- 27. リストから多次元配列を作成する方法は?
- 28. Javaスクリプトで多次元配列を作成する方法は?
- 29. 多次元モードでSSASサーバーを作成する方法は?
- 30. クエリから2次元配列を作成する方法は?
私はOpenGLの背後にある数学を理解しています。応用数学で学位を取得しています.4番目の引数が4番目のテクスチャ次元かどうかを尋ねています。それでは、どのようにして4次元テクスチャを作成しますか? – Lu4
私が言おうとしていることは、あなたが望むものであれば(シェーダを使用している場合)何でもできることです。 4次元テクスチャからサンプリングした場合、それは4番目のテクスチャディメンションです。私はそれがどれほど広くサポートされているのかよくわからないが、これを使う:http://www.opengl.org/registry/specs/SGIS/texture4D.txt – Hannesh