質問

現在、私のチームはopengl 1.4プラットフォームでの画像の描画に制限されています。つまり、気の利いたテクスチャマッピングを使用して画像を描画することはできません(はい、Intel統合グラフィックスプラットフォームの使用に限定されています。迷惑です)。これまでのところ、画像を描画、拡大縮小、反転することができますが、グラフィックスをしている人は、glDrawPixelsを使用している間はglRotateによる回転はできないと主張しています。 Intelプラットフォームでは動作しません。

私は彼に昼食を賭けました。glRotateのような回転関数があり、それは直線ビットマップで動作します。そのような機能は存在しますか? glRotateは機能しますか?私はこのグラフィックのことは少し初心者ですが、ライブラリがテクスチャの回転を経由しない限りビットマップの回転を許可しないのは馬鹿げているようです。

ありがとう。

役に立ちましたか?

解決

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

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

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

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

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top