OpenGL ES blog

OpenGL ES に関するブログです。 iPhone や Google Android で使われている 組み込み機器向け三次元グラフィックス API OpenGL ES 1.1, 2.0 に関するブログです ( yukio.andoh@gmail.com )

2013年2月13日水曜日

[ES] PowerVR SDK v3.0 R2

Imagination Technologies から
PowerVR SDK v3.0 R2 がリリースされました。

主な内容は、各種付属ツールのバージョンアップ(機能更新、バグフィックス)と、
POD ファイル仕様の間違いの修正、
Blackberry10 SDK 対応(日本での一般販売は撤退となりましたが...)
Google Android SDK Manager (Eclipse組み込み)への Add-on 対応などです。

http://www.imgtec.com/powervr/insider/sdkdownloads/whats_new3.asp

2012年11月4日日曜日

[ES] PowerVR SDK v3.0

iPhone に搭載されているグラフィックスチップ PowerVR の設計元
Imagination Technologies から PowerVR SDK v3.0 がリリースされました。

OpenGL ES 3.0 対応(Windows/Linuxのみ)と、
新しいシリーズのコア Series6

http://install.powervrinsider.com

Builds
LinuxX86 and WindowsX86 SDKs now support 64-bit.
EGLint in the egl headers is no longer khronos_int64_t for 64-bit builds.
Renamed all Linux Platforms to conform to a more coherent convention. Please see the user guide to see the PLATFORM value you should use.
Added PVRTC2 defines to gl2extimg.h.
Removed the ‘Extras’ folder which contained the PVREngine source example.

2011年3月23日水曜日

[ES] PowerVR SDK v2.8

iPhone に搭載されているグラフィックスチップ PowerVR の設計元
Imagination Technologies から PowerVR SDK v2.8 がリリースされました。

http://imgtec.com/powervr/insider/sdkdownloads/index.asp

iOS向けだけでなく、PowerVR搭載の Google Nexus S などにも
対応した SDK です。

PowerVR SDK には PowerVR 専用のテクスチャ圧縮形式に関するツール、
PowerVR 専用のモデルフォーマット POD に関するツール、
各種サンプルや、専用のドキュメントなどが豊富です。

ダウンロードには無料ですが会員登録が必要。
うまくダウンロード画面までたどり着けない時は、一度 signout するといいです。

• 64-bit utilities for Linux (Collada2POD CL/GUI, PVRShaman, PVRVFrame and PVRTexTool CL/GUI)
• Android SDK: Modified Android SDK to build with NDK build scripts
• PVRTexLib: 64-bit for all supported platforms
• PVRTexLib: Fast compressor is now thread safe
• PVRTexLib & PVRTexTool: Performance and stability improvements
• PVRTexLib & PVRTexTool: Independent texture channel loading
• PVRShaman: Render to texture functionality
• PVRGeoPOD: plug-ins for Max and Maya 2011
• PVRGeoPOD: plug-in for 32-bit MacOS Maya
• PVRTrace: Specify a start and end frame for recording
• PVRTrace: Specify if you want to record with or without data (e.g. don’t store textures, etc)
• PVRTrace: Android compatible recording libraries
• PVRTraceGUI: Tracked render state (OGLES2 only)
• PVRVFrame: Implemented workaround for ATI Windows Vista/7 10.12 Catalyst drivers issues
• PVRVFrame: MacOS port
• PVRUniSCo: New profile data – Accurate cycles emulation, primary attributes and secondary registers
• PVRUniSCo & PVRUniSCoEditor: MacOS port
• Training courses: OGLES2 EdgeDetection
• Training courses: OGLES2 BinaryShader (example use of the GL_OES_get_program_binary extension)
• Demos: OGLES2 Navigation3D (example use of real-world 3D navigation data, provided by Navteq)
• Tools: Added support and optimisations for 3D data to navigation tools

2011年1月27日木曜日

[ES] NGP



NGP Spec
新しい PlayStation Portable である NGP のスペックが公開されました。

SGX543MP4+
画面は 960 x 544、約1677万色、有機ELディスプレイ

画面解像度は iPhone 4 に近い。
グラフィックスチップは iPhone 4 などに載っている
PowerVR SGX535の後継である
SGX543 のコアが 4個載った 543MP4 。
1個のコアで +90% のスピードアップと言われているので、
4コアだと 340%くらいの速度差か?
# 型番の意味は (5 for series, 4 for performance, 3 to indicate)

SGX は新 iPhone 5 にも搭載と噂されているチップ。
iPhone 5 ではマルチコア MP2 どまりのようですけど。

あと、興味深いのは、背面タッチパネル。
これは、画面を指で隠さなくても操作できるということ。

また Google Android 環境でも動くそうだから、
SGX543MP4 の Android 端末とも言える。

2011年1月24日月曜日

[ES] Nexus S

Google Android の新しい携帯電話端末。
Nexus S がリリースされました。

日本でいうところのお財布ケータイ機能
NFC (Near Field Communication) が使えるようになっています。

グラフィックス系で Nexus One からの大きな違いは
iPhone(SGX 535) と同じ PowerVR 系のチップ SGX 540 が載ったことでしょうか。
ポリゴン描画性能など、チップ性能的には 3倍程度と言われています。

Nexus S の OpenGL ES 拡張機能は以下のとおり。
Apple 固有の拡張が無い分、使える拡張命令はだいぶ違います。

-----------------------------------------

GL_OES_byte_coordinates
GL_OES_fixed_point
GL_OES_single_precision
GL_OES_matrix_get
GL_OES_read_format
GL_OES_compressed_paletted_texture
GL_OES_point_sprite
GL_OES_point_size_array
GL_OES_matrix_palette
GL_OES_draw_texture
GL_OES_query_matrix
GL_OES_texture_env_crossbar
GL_OES_texture_mirrored_repeat
GL_OES_texture_cube_map
GL_OES_blend_subtract
GL_OES_blend_func_separate
GL_OES_blend_equation_separate
GL_OES_stencil_wrap
GL_OES_extended_matrix_palette
GL_OES_framebuffer_object
GL_OES_rgb8_rgba8
GL_OES_depth24
GL_OES_stencil8
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_mapbuffer
GL_OES_EGL_image
GL_EXT_multi_draw_arrays
GL_OES_required_internalformat
GL_IMG_read_format
GL_IMG_texture_compression_pvrtc
GL_IMG_texture_format_BGRA8888
GL_EXT_texture_format_BGRA8888
GL_IMG_texture_stream
GL_OES_egl_sync
GL_IMG_vertex_array_object
GL_OES_rgb8_rgba8
GL_OES_depth24
GL_OES_vertex_half_float
GL_OES_texture_float
GL_OES_texture_half_float
GL_OES_element_index_uint
GL_OES_mapbuffer
GL_OES_fragment_precision_high
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_EGL_image
GL_OES_required_internalformat
GL_OES_depth_texture
GL_OES_get_program_binary
GL_OES_packed_depth_stencil
GL_OES_standard_derivatives
GL_OES_vertex_array_object
GL_OES_egl_sync
GL_EXT_multi_draw_arrays
GL_EXT_texture_format_BGRA8888
GL_EXT_discard_framebuffer
GL_EXT_shader_texture_lod
GL_IMG_shader_binary
GL_IMG_texture_compression_pvrtc
GL_IMG_texture_stream2
GL_IMG_texture_npot
GL_IMG_texture_format_BGRA8888
GL_IMG_read_format
GL_IMG_program_binary
GL_IMG_multisampled_render_to_texture

2010年7月12日月曜日

[ES] iPhone 4

Retina ディスプレイで、液晶が緻密な iPhone 4 がリリースされました。
中身は A4 チップで、グラフィックスは PowerVR 系で変わりありません。

GL_RENDERER PowerVR SGX 535 (iPhone 3GS と同じ)

GL_EXTENSIONS

GL_APPLE_framebuffer_multisample GL_APPLE_texture_2D_limited_npot GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_IMG_read_format GL_IMG_texture_compression_pvrtc GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_compressed_paletted_texture GL_OES_depth24 GL_OES_draw_texture GL_OES_fbo_render_mipmap GL_OES_framebuffer_object GL_OES_mapbuffer GL_OES_matrix_palette GL_OES_packed_depth_stencil GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_rgb8_rgba8 GL_OES_stencil8 GL_OES_stencil_wrap GL_OES_texture_mirrored_repeat GL_OES_vertex_array_object
GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_shader_texture_lod GL_EXT_texture_filter_anisotropic GL_IMG_read_format GL_IMG_texture_compression_pvrtc GL_OES_depth24 GL_OES_depth_texture GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_vertex_array_object

若干、GL_APPLE_* 拡張が増えています。
フレームバッファ系の bit 長は 3GS から変わりありません。

2010年1月20日水曜日

[ES] Nexus One

Google Nexus One が登場しました。

CPU は ARM ベースの 1GHz Snapdragon が載っていて、
ほとんどは CPU で処理をこなせてしまっているようです。

グラフィックスチップに関しては
Qualcomm の Adreno 200 が載っています。
http://www.qualcomm.com/media/videos/adreno.html

残念ながらまだ OpenGL ES-CM 1.1 環境です。
チップ性能としては OpenGL ES 2.0 も可能なのですが、
残念ながらまだ OpenGL ES 1.1 環境のようです。
(libGLESv2_adreno200.so) というファイルが見え隠れするので
近い ES 2.0 対応が期待されます。

トピックスとしては、
VBOs サポート(まああたりまえか)、
ハードウェアによるミップマップ自動生成サポートくらいかな。

Qualcomm Adreno は
AMD(ATI) の流れをくむチップなので、使える拡張命令も AMD(ATI) っぽいものです。
テクスチャ圧縮も 3DC 形式, ATC 形式が使えます。
DevPhone G1 でも裏技で使えていた atitc 圧縮テクスチャも使えます。

3DC(主にカラーマップでは無く、法線マップで利用)
http://ati.amd.com/products/radeonx800/3DcWhitePaper.pdf

ATC や 3DC 関連ドキュメント
http://colecovision.eu/graphics/texture_compression.pdf

◆使える OpenGL 拡張

GL_AMD_compressed_3DC_texture
GL_AMD_compressed_ATC_texture
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat
GL_ARB_vertex_buffer_object
GL_ATI_compressed_texture_atitc
GL_ATI_texture_compression_atitc
GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate
GL_EXT_blend_minmax GL_EXT_blend_subtract
GL_EXT_stencil_wrap GL_OES_EGL_image
GL_OES_blend_equation_separate
GL_OES_blend_func_separate GL_OES_blend_subtract
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_compressed_paletted_texture
GL_OES_draw_texture
GL_OES_extended_matrix_palette
GL_OES_framebuffer_object
GL_OES_matrix_palette
GL_OES_point_size_array
GL_OES_point_sprite
GL_OES_read_format
GL_OES_stencil_wrap
GL_OES_texture_cube_map
GL_OES_texture_env_crossbar
GL_OES_texture_mirrored_repeat