はい。私に説明させてください。 (エッセイを書いて申し訳ありません)
通常、頂点と法線の両方は浮動小数点3Dベクトルとして表されますが、その性質上、それらは異なるものになります。
座標空間は、起点ジオメトリをどの相対座標で測定したかを比較したものに過ぎません。
たとえば、1x1x1のサイズの2つのキューブを定義します。 8つの頂点すべてが定義されている起点は、その中心にあります。したがって、頂点座標は(+ -0.5、+ -0.5、+ -0.5)のすべての可能な組み合わせです。
これらのキューブは同じような座標を持つように見えるかもしれませんが、これまではそれらを単独でオブジェクトとしてみなしてきました。それらをシーンに配置するには、そのシーン内の位置、向き、サイズを定義する変換を定義する必要があります。私は両方のキューブに恒等変換を適用した場合
、私は今両方キューブのすべて頂点の座標が定義されていることにより、起源は今と同じであるので、彼らは、同じ座標空間にあると言うことができます。
いずれかまたは両方の変換をいずれかの変換に変更するかどうかは関係ありません。各立方体の座標に変換が適用された後、各立方体のすべての頂点の座標が同じ原点を基準にして測定され、同じ座標空間にあると言うことができます。
どのようにこの写真に法線が当てはまりますか?
ここでは、法線ベクトルと法線ベクトルとを区別します。サーフェス法線は、モデルのサーフェス上の特定の点に直交する正規化されたベクトルを表す数学的概念です。法線ベクトルは、既知の点でこのサーフェス法線の特定の値です。法線ベクトルは、頂点の座標と一緒にメモリに保存するものです。
一部の変換は、モデルのサーフェス法線を変更することがあります。他はしません。私が前に定義した立方体のいずれかを平行移動すると、立方体の各面の方向も変わらない。したがって、サーフェスの法線は、サーフェス上で選択したポイントとまったく同じです。キューブを拡大/縮小する場合も同様です。
ただし、キューブを回転すると、キューブの一部またはすべてのサーフェスの向きが変わります。これは、表面法線が変化することを意味します。したがって、メモリ内の頂点仕様の一部として格納された法線ベクトルは、古いものであり、サーフェス法線と一貫性を持たせるためにも回転させる必要があります。
したがって、法線ベクトルは表面法線に依存していると言えます。法線ベクトルは、頂点(またはモデル表面の任意の点)で行われる変換に依存します。したがって、ある座標空間から別の座標空間に変換を適用して頂点に変換を適用すると、法線ベクトルはスーツに従います。
表面ノーマルが技術的にモデルに適用された変換(翻訳を参照)の影響を常に受けるわけではない場合でも、ある座標空間から別の座標空間への変換は、以前に示したようにアイデンティティ変換のみを含むことができます。
あなたの質問に答える:はい、潜在的に異なる座標のセットに一連の潜在的に異なる変換を適用すると、それらを同じ座標空間に変換する可能性がありますが、それらは同じ座標にあるとはみなされません空間をモデルの表面上の頂点/点として定義する。
はい、あなたはそれを言うことができます。しかし、私はただの答え以上の答えを書く方法を知らないだろう。 – BDL
違いは、法線ベクトルは原点が '(0,0,0)'に設定されているため、ベクトル変換に理想的な位置ではない方向のみを変換することです(変換されたベクトルは同じサイズですが方向が異なります)。 modelview_matrixそれは私たちが照明のために必要なものではないベクトルの代わりに位置として扱われます – Spektre