2017-12-25 19 views
3

WebGL reference cardには、ベクターコンポーネントに関するドキュメントがあります。ベクトルコンポーネントのs、t、p、qの意味は?

私は{x、y、z、w}も使うことができると思われますが、{s、t、p、q}をテクスチャから読み込む際に必須かどうかはわかりません。

使用テクスチャが

{S、T、P、Q}の文字の意味は何であるの?座標を表すベクトルにアクセス読めるコードのためのコンベンションの問題に過ぎないのですか、それとも何か不足していることがありますか?

答えて

4

WebGL Specification Vesion 1.0参照:

4.3はGLSL構築が

WebGLの実装が唯一のOpenGL ESシェーディング言語、バージョン1.00に準拠してシェーダを受け入れなければならないサポートされている...

を参照してください。 OpenGL ES Shading Language 1.00 Specification

5.5ベクトルコンポーネント

ベクトルまたはスカラーのコンポーネントの名前は、単一の文字で示されます。表記上の便宜のために、位置、色またはテクスチャ座標ベクトルの一般的な使用に基づいて、いくつかの文字が各コンポーネントに関連付けられています。ピリオド(。)を含む変数 の名前に続いてコンポーネント名を指定すると、個々のコンポーネントを選択できます。

サポートコンポーネント名は以下のとおり

有用
  • {x, y, z, w}

  • {s, t, p, q}有用アクセス表すベクトルにアクセスする際に有用な点又は法線

  • {r, g, b, a}を表すベクトルにアクセステクスチャ座標を表すベクトル

コンポーネント名x,rおよびは、たとえば、ベクトルの同じ(最初の)コンポーネントの同義語です。 OpenGL ESのテクスチャ座標セットの第3コンポーネント(r)が、r(赤色)と混同しないように、pに変更されています。


これはv.stpqv.xyzwまたはv.rgbaと全く同じである、vec4 v;するための手段。


S、Tの命名は、フォームR = R0 + S V + T W.(RおよびR0の全ての点のセットポイントであるように計画はパラメトリックに記述することができるPlane (geometry)、から来ています、VとWはベクトル、sとtは実数です

+2

完全性のために、あなたは 'v [0]'、 'v [1]'、 'v [2]'、 'v [3]' vec4の個々のメンバーにアクセスするには – gman

+0

あなたのお時間をいただきありがとうございます。引用符で囲まれたリファレンスを説明していただけますか?例えば: 'r'は' red'の略語です。何かの省略形?テクスチャの場合、pとqは常にゼロでなければなりません。あるいは、これらの要素の中に必要なものを置くことができます。だからそれはちょうどvec4なのですか? – deblocker

+0

一般的なテクスチャ座標には、u、vまたはs、t、rという名前が付けられます。これは 'TEXTURE_WRAP_R'、' TEXTURE_WRAP_S'、 'TEXTURE_WRAP_T'に対応します。 OpenGL ESのテクスチャ座標セットの3番目のコンポーネントは、r(赤色)との混乱を避けるためにpに名前が変更されました。一般に、テクスチャは3次元であってもよい。なぜデカルト座標はx、y、zという名前ですか? 「OpenGLの文脈では「st」は何を意味するのですか?」(https://computergraphics.stackexchange.com/questions/4537/what-does-st-mean-in-the-context-of-opengl) – Rabbid76

関連する問題