0

クワッド メッシュを描画できるように、4 つの VECTOR3D (3 つの float を含む) への 4 つのポインターを格納する struct QUAD があります。私が理解していることは、メッシュを描画するたびに、メッシュを適切にライト/シェーディングするために法線も必要であり、面ごとに法線を使用して、プレーン上にあるメッシュの場合は比較的簡単です。

XZ 座標上に配置された 2 x 2 のクワッド メッシュがあり、その中心 (0,0,0) を特定のポイント (0, 4, 0) だけ上げようとすると、実際の 3D 形状が形成され始めます。法線を再計算します。計算された法線がどうなるか、どうなるかを理解するのに苦労しています。予想どおり、3D 形状はまだフラット メッシュのようにシェーディングされるため、実際の形状を表すものではありません。説明の1つは、面ごとではなく頂点ごとに法線を計算する必要があると言っています。メッシュのすべてのコーナーの法線を計算する必要があるということですか? 法線を取得したら、どうすればよいですか? 私はまだ古い glBegin glEnd メソッドを使用していましたが、今は DrawArray メソッドを使用する必要があると感じています。私は非常に混乱しており、あまり音を立てていないと確信していますが、助けていただければ幸いです。

4

1 に答える 1

1

If you need flat looking surface then your normals will be normals to the quad plane. If you need "soft looking" surface you need to blend(read this and watch this cool simple video) normals - that will add sort of gradient.

于 2012-11-22T01:33:41.623 に答える