サイトのトップへ戻る

libGDX ドキュメント 日本語訳

サイト内検索

OpenGL ES のサポート

Libgdx には OpenGL ES 2.0 と 3.0 に直接アクセスするためのインタフェースがあります( LibGDX 0.9.9 やそれより前のバージョンを使用している場合は、 1.0 と 1.x が使用できます)。 デスクトップ上ではOpenGL ESの機能をデスクトップOpenGL の機能に紐付けることで、OpenGL ESのエミュレートが行われます。 いくつかのプラットフォーム (iOS, GWT/HTML) では、 OpenGL ES 2.0 のみをサポートしています。

注意: Android環境にて、アプリケーションの機能上OpenGL ES 2 が必要な場合は、 Android マニフェストファイルに以下を追加してください: <uses-feature android:glEsVersion="0x00020000" android:required="true" />

アプリケーションで OpenGL ES 3が必要な場合は、マニフェストファイルに以下を追加してください: <uses-feature android:glEsVersion="0x00030000" android:required="true" />

こうすることで、Play Store (旧Android マーケット)内ではサポートしていない端末にあなたのアプリケーションが表示させないようにすることができます。



精度修飾子

OpenGL ES 2.0 では、attribute変数とuniform変数とローカル変数に精度修飾子を設定する必要があります。 しかしデスクトップ環境の OpenGL では精度修飾子をサポートしていません。 この差異を防ぐために、フラグメントシェーダー内で以下のようなコードを記述する必要があります:

#ifdef GL_ES 
#define LOW lowp
#define MED mediump
#define HIGH highp
precision mediump float;
#else
#define MED
#define LOW
#define HIGH
#endif

上記では OpenGL ESの精度修飾子と同等のLOWP・MED・HIGH のマクロを定義し、float の既定の精度をmediumと設定しています。 この設定は実際にOpenGL ESが動作しているプラットフォーム上でのみ発生し、デスクトップ環境ではマクロは空定義がされます。



OpenGL ES 2.0 ドキュメント