opengl / opengles / brew /

BREW で OpenGL ES

EZアプリ で OpenGL ES

〜 その3 「BREW シミュレータ」 〜
OpenGL/OpenGL ES Extension Registry 内の検索:
[検索方法]
OpenGL 拡張 OpenGL ES 拡張 EGL 拡張


「BREW で OpenGL ES」

その1 「BREW SDK Extension for OpenGL ES」
その2 「OpenGL ES Sample 1.0.3」
その3 「BREW シミュレータ」
その4 「BREW でプログラミング - 基本編 -」
その5 「BREW でプログラミング - OpenGL ES 編 -」

<< 前 次 >>

■BREW シミュレータ

概要

QUALCOMM が公開している BREW の シミュレータです。
BREW シミュレータは Windows PC で動作します。
また、「BREW SDK Extension for OpenGL ES」をインストールすることで、 OpenGL ES も BREW シミュレータ上で動作します。

これらのインストールについては、 その1 「BREW SDK Extension for OpenGL ES」 をご覧ください。

BREW シミュレータ

BREW シミュレータは、BREW シミュレータ用にコンパイルしたプログラム(Windows DLL 形式)を実行するものです。 Windows Mobile のデバイスエミュレータのように実機用にコンパイルした ARM のバイナリコードを実行するエミュレータではないことに注意してください。

Windows Mobile SDK では実機用にコンパイルしたものを Windows 上で動作するエミュレータで動作確認ができます。 同じバイナリで動作確認ができるため、実機とエミュレータの実装上の差について考慮する必要はあるものの、 開発、デバッグをエミュレータ上で効率的に行うことができます。
一方、BREW では同じソースコードをシミュレータ用にコンパイルしたものを用いてシミュレータで動作確認します。 残念ながら ARM コンパイラの制限や BREW の仕様上の制限については、VC++ のコンパイラは考慮されないため、 BREW シミュレータ用ではコンパイル、リンク、実行ができるプログラムであっても、 実機用にコンパイル、リンクした場合には、エラーが起こる可能性があります。
実機で正しく動かすためには、ARM コンパイラの制限や BREW の仕様上の制限を十分理解した上で、 プログラムを書く必要があります。

デバイス Blackcap16

Blackcap16 16bit Color
スクリーン解像度: 132 x 176

デバイス DevicePack1

DevicePack1 16bit Color
スクリーン解像度: 128 x 160
日本語対応

デバイス DevicePack2

DevicePack2 12bit Color
スクリーン解像度: 128 x 160
日本語対応

デバイス 6550_horz

6550_horz 16bit Color
スクリーン解像度: 320 x 240

デバイス 6550_vert

6550_vert 16bit Color
スクリーン解像度: 240 x 320



■情報

BREW シミュレータの EGL, OpenGL ES の各種サポート情報です。 実機とは値が異なるものと思われます。

EGL

EGL_VENDOR :q_egl_v1.0
EGL_VERSION :1.0
EGL_EXTENSIONS :EGL_QUALCOMM_power_level
:EGL_QUALCOMM_color_buffer
:EGL_QUALCOMM_COLOR_BUFFER

  • EGL_QUALCOMM_power_level の仕様は不明
  • EGL_QUALCOMM_color_buffer : カラーバッファの取得が可能

EGLConfig

BREW シミュレータがサポートしている EGLConfig は次の 2 種類です。

EGL_CONFIG_ID :2
EGL_BUFFER_SIZE :16
EGL_RED_SIZE :5
EGL_GREEN_SIZE :6
EGL_BLUE_SIZE :5
EGL_ALPHA_SIZE :0
EGL_DEPTH_SIZE :16
EGL_STENCIL_SIZE :1
EGL_SAMPLE_BUFFERS :0
EGL_SAMPLES :0
EGL_CONFIG_CAVEAT :EGL_NONE
EGL_LEVEL :0
EGL_SURFACE_TYPE :EGL_WINDOW_BIT | EGL_PBUFFER_BIT | EGL_PIXMAP_BIT
EGL_NATIVE_RENDERABLE :EGL_TRUE
EGL_NATIVE_VISUAL_ID :12344
EGL_NATIVE_VISUAL_TYPE :12344
EGL_MAX_PBUFFER_WIDTH :512
EGL_MAX_PBUFFER_HEIGHT :512
EGL_MAX_PBUFFER_PIXELS :76800
EGL_TRANSPARENT_TYPE :EGL_NONE
EGL_TRANSPARENT_RED_VALUE :0
EGL_TRANSPARENT_GREEN_VALUE :0
EGL_TRANSPARENT_BLUE_VALUE :0

EGL_CONFIG_ID :3
EGL_BUFFER_SIZE :16
EGL_RED_SIZE :4
EGL_GREEN_SIZE :4
EGL_BLUE_SIZE :4
EGL_ALPHA_SIZE :4
EGL_DEPTH_SIZE :16
EGL_STENCIL_SIZE :0
EGL_SAMPLE_BUFFERS :0
EGL_SAMPLES :0
EGL_CONFIG_CAVEAT :EGL_NONE
EGL_LEVEL :0
EGL_SURFACE_TYPE :EGL_PBUFFER_BIT | EGL_PIXMAP_BIT
EGL_NATIVE_RENDERABLE :EGL_TRUE
EGL_NATIVE_VISUAL_ID :12344
EGL_NATIVE_VISUAL_TYPE :12344
EGL_MAX_PBUFFER_WIDTH :512
EGL_MAX_PBUFFER_HEIGHT :512
EGL_MAX_PBUFFER_PIXELS :76800
EGL_TRANSPARENT_TYPE :EGL_NONE
EGL_TRANSPARENT_RED_VALUE :0
EGL_TRANSPARENT_GREEN_VALUE :0
EGL_TRANSPARENT_BLUE_VALUE :0

  • EGL 1.0
  • Window サーフェイスは1種類のみ
  • Pバッファ、PIXMAP は2種類共利用可能
  • EGL_CONFIG_ID 2 は、ステンシルをサポートしているが、ALPHA は 0
  • EGL_CONFIG_ID 3 は、ALPHA をサポートしているが、ステンシル は 0
  • マルチサンプルはサポートしていない
  • EGL_PRESERVED_RESOURCES は未定義で、サポートしていない(非互換)

OpenGL ES

GL_VENDOR :QUALCOMM, Inc.
GL_RENDERER :Q3Dimension Generic
GL_VERSION :OpenGL ES-CL 1.0
GL_EXTENSIONS :GL_OES_read_format
:GL_OES_compressed_paletted_texture
:GL_OES_query_matrix
:GL_OES_vertex_buffer_object
:GL_OES_draw_texture
GL_RED_BITS :5
GL_GREEN_BITS :6
GL_BLUE_BITS :5
GL_ALPHA_BITS :0
GL_DEPTH_BITS :16
GL_STENCIL_BITS :0
GL_SUBPIXEL_BITS :4
GL_ALIASED_POINT_SIZE_RANGE :1 1
GL_ALIASED_LINE_WIDTH_RANGE :1 1
GL_SMOOTH_POINT_SIZE_RANGE :1 1
GL_SMOOTH_LINE_WIDTH_RANGE :1 1
GL_MAX_ELEMENTS_INDICES :65535
GL_MAX_ELEMENTS_VERTICES :65535
GL_MAX_LIGHTS :8
GL_MAX_MODELVIEW_STACK_DEPTH :32
GL_MAX_PROJECTION_STACK_DEPTH :8
GL_MAX_TEXTURE_STACK_DEPTH :8
GL_MAX_TEXTURE_SIZE :256
GL_MAX_TEXTURE_UNITS :1
GL_MAX_VIEWPORT_DIMS :スクリーンの幅と高さ
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES :0x1907 GL_RGB
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES :0x8363 GL_UNSIGNED_SHORT_5_6_5
GL_NUM_COMPRESSED_TEXTURE_FORMATS :10
GL_COMPRESSED_TEXTURE_FORMATS :0x8b90 GL_PALETTE4_RGB8_OES
:0x8b91 GL_PALETTE4_RGBA8_OES
:0x8b92 GL_PALETTE4_R5_G6_B5_OES
:0x8b93 GL_PALETTE4_RGBA4_OES
:0x8b94 GL_PALETTE4_RGB5_A1_OES
:0x8b95 GL_PALETTE8_RGB8_OES
:0x8b96 GL_PALETTE8_RGBA8_OES
:0x8b97 GL_PALETTE8_R5_G6_B5_OES
:0x8b98 GL_PALETTE8_RGBA4_OES
:0x8b99 GL_PALETTE8_RGB5_A1_OES

  • OpenGL ES 1.0 Common-Lite
  • バッファサイズは EGLConfig に依存
  • 5つの拡張機能をサポート


■リンク


「BREW で OpenGL ES」

その1 「BREW SDK Extension for OpenGL ES」
その2 「OpenGL ES Sample 1.0.3」
その3 「BREW シミュレータ」
その4 「BREW でプログラミング - 基本編 -」
その5 「BREW でプログラミング - OpenGL ES 編 -」

<< 前 次 >>