日別アーカイブ: 2012年8月13日

OpenGL ES 2.0/3.0 Emulator

OpenGL 4.x の GL_ARB_ES2_compatibility を用いる場合 Windows では
WGL との組み合わせになります。

AMD の GPU は OpenGL ES 2.0 driver を提供しており、GL ES2 API を
native に呼び出すことが可能です。
Emulator 系 lib と同じように EGL を利用できるため、互換性を保ちやすくなります。

x64 でも動くので以前から試していますが、より便利な lib (SDK) も提供されていました。

AMD OpenGL ES SDK

2012/08/13現在

GL4            ES2  WGL   x86/x64
GL4.4          ES3  WGL   x86/x64
AMD            ES2  EGL   x86/x64   libEGL/libGLESv2
Angle Project  ES2  EGL   x86/x64   libEGL/libGLESv2
PVR Emu        ES2  EGL   x86/x64   libEGL/libGLESv2
Adreno Emu     ES2  EGL   x86       libEGL/libGLESv2
Adreno Emu     ES3  EGL   x86       libEGL/libGLESv3
Mali Emu       ES2  EGL   x86       libEGL/libGLESv2
Mali Emu       ES3  EGL   x86       libEGL/libGLESv2
Tegra Emu      ES2  EGL   x86       libGLESv20

GL4 ES2/3 と Tegra Emu 以外は ABI が同一なので libEGL/libGLESv2 を
取り替えて使うことができます。

Angle Project の新しいバージョンは GL_ANGLE_depth_texture が
追加されており shadow map も使えるようになりました。

angleproject

Angle を VisualStudio 2010 で x64 向けにビルドすると size_t のキャストで
エラーが出ます。
このエラーは Disable Specific Warnings に 4267 を追加してとりあえず
無視することができます。
Debug 版だと log を出力するため低速です。
利用する場合は必ず Release ビルドにしておきます。

関連エントリ
Desktop の OpenGL ES 2.0 実行環境
GeForce/RADEON で OpenGL ES 2.0 を動かす
OpenGL ES 2.0 Emulator