たとえば、GL_LUMINANCE_ALPHA を使用して 2 つのコンポーネント データをテクスチャに転送しています。GL_LUMINACE_ALPHA のような一部の内部フォーマット定数は OpenGL 3.0 (おそらく 4.0?) 以降では廃止されているので、GL_RG や GL_RG8 などを使用してください。
しかし、ターゲットの OpenGL バージョンは 2.0 以降であり、OpenGL 2.0 の仕様には GL_RG/GL_RG8 が含まれていません。この場合、次の 3 つの可能性があると思います。
- OpenGL 2.0 のみをサポートするデバイスでもプログラムが正常に動作する場合は、GL_RG/GL_RG8 を使用してください。
- OpenGL のバージョンが非常に高いため、古い定数が非推奨になっているデバイスでプログラムが適切に実行できる場合は、古い定数を保持してください。
- 実行時に OpenGL のバージョンを検出し、各バージョンの定数を切り替えます。
何を選べばいいですか?3. を取りたくないのは、物事が難しく複雑になるからです。