1

私はOpenGLプログラムを行っており、ユーザー定義の寸法クワッド メッシュを作成する必要があります。

これまでのところ、頂点の配列を使用して、実際にクワッド メッシュを形成するクワッドを描画していることがわかります。とても単純な概念ですが、理解するのに苦労しています。

ですから、私の理解が間違っていたら訂正してください。

したがって、ユーザーが 4x4 メッシュを実行したい場合、16 個のクワッドがすべて一緒になり、それらを配置するために 64 個の頂点が存在します。したがって、ユーザーがメッシュの解像度を定義すると (ちなみに、境界サイズは既に最初に指定されています)、それらの 64 個の頂点を作成します。

これまでのところ、私はそれを正しく理解していますか?

それらの四角形を操作して、形状を変更して山の形を形成します。

もちろん、そのようなものを適切に表示するには、おそらく32x32以上の解像度が必要です。

4

1 に答える 1

0

私があなたを正しく理解しているなら、あなたはクワッドのメッシュを作り、それが次に1つの大きなクワッドを作成したいと思います。

4x4の場合は次のようになります

 _ _ _ _
|_|_|_|_|
|_|_|_|_|
|_|_|_|_|
|_|_|_|_|

この場合、必要なのは(4 + 1)x(4 + 1)の頂点だけなので、25の頂点が必要です。各クワッドの4つの頂点を一意に指定できますが、メッシュに不要である(そしてメモリと速度を浪費する)ことを除けば、その「山」機能(私がいる地形のようなもの)を追加するのが難しくなる可能性があります。推測)。メッシュの中央で頂点を移動する場合は、その頂点を使用する4つのクワッドすべてに対して頂点を移動する必要があります。クワッドが頂点を共有している場合(メッシュの場合のように)、1つのポイントを移動すると、そのポイントを使用するすべてのクワッドが変更されます。

基本的に、すべての一意の頂点を指定し、それらを四角形として接続します。冗長性は避けるのが最善です。

また、OpenGLを学習している場合は、固定関数パイプラインで学習していないことを確認してください(glBegin()またはglVertex3f()がそこにある場合は、固定関数パイプラインを使用しています)。使用すべきでない理由はたくさんありますが(数十年前、速度が遅く、柔軟性がほとんどありません)、おそらく最大の理由は、実際のグラフィックスを実行したい場合に時間の無駄になることです。プログラム可能なパイプラインの使用方法を学ぶ必要があります。固定機能のパイプラインの習慣と考え方を頭の中で持っていると、必要以上に難しくなります。

于 2012-11-17T05:00:08.367 に答える