4

私のチームは現在、opengl 1.4 プラットフォームでの画像の描画に制限されています。つまり、画像を描画するために気の利いたテクスチャ マッピングを使用することはできません (はい、Intel 統合グラフィックス プラットフォームの使用に限定されており、非常に面倒です)。これまでのところ、画像を描画、拡大縮小、反転することはできますが、グラフィック担当者は、glDrawPixels を使用している間は glRotate による回転を行うことはできず、テクスチャなどに移動する必要があると主張しています。 Intel プラットフォームでは動作しません。

私は彼に、glRotate のような、ストレート ビットマップで機能する回転関数があることを確信しています。そのような機能は存在しますか?glRotate は機能しますか? 私はこのグラフィックスについて少し初心者ですが、ライブラリがテクスチャの回転を除いてビットマップの回転を許可しないのはばかげているようです。

ありがとう。

4

1 に答える 1

7

glDrawPixels で glRotate を使用することはできません。

glDrawPixels は、ピクセルを画面に表示するための最悪かつ最もパフォーマンスの低い方法です。不適切なソフトウェア ラスタライザを使用してピクセルを画面に配置すると、パフォーマンスが向上します。

簡単に言うと、glDRawPixels はピクセル データをプロセス メモリからグラフィックス メモリにコピーし、反転やスケーリングなどの非常に簡単な変換を行います。より高度なすべて (回転など) では、グラフィック チップセットの機能を実際に使用する必要があります。たとえば、テクスチャを使用する必要があります。

そして、テクスチャは機能します。また、GL 1.4 および Intel グラフィック チップセットでも問題なく動作します。私はかなり長い間、そのようなチップセットに取り組んできました。最新の ATI または NVIDIA チップセットのパフォーマンスは得られませんが、どちらもそれほど悪くはありません。

私の最善の策は、誰かが 2 の冪でないサイズのテクスチャを作成しようとして、作成に失敗し、テクスチャが一般的にチップセットで機能しないと判断したことです。

それは真実ではない。彼らは働きます。OpenGL では 2 のべき乗でテクスチャを作成する必要があり、大きなテクスチャのサブ長方形を使用するか、複数の画像を 1 つの非常に大きなテクスチャに配置する必要があることを知っておく必要があります (後者はテクスチャ アトラスと呼ばれます)。

テクスチャ座標を調整することで、大きなテクスチャ内の小さな画像を補正できます。

于 2008-10-21T23:23:51.187 に答える