OpenGL ES
Agenda DMP DMP IP OpenGL ES OpenGL ES 1.1 OpenGL ES 2.0 OpenGL OpenGL OpenGL ES EGL KTX OpenGL ES E- PICA200 GPU
DMP DMP www.dmprof.com D D JR 2 2002 7 OpenGL ES ULTRAY 2000 Chip (SIGGRAPH 2005) PICA 200 IP (SIGGRAPH 2006)
DMP グラフィックスIPソリューション 組込み機器向け高性能 低消費電力グラフィックスIP コア 高性能2D/3DグラフィックスIP 低電力モバイルから高性能アミューズメントまでサポート ビルディング ブロック構造によるスケーラブルなアーキテクチャ 企業部門 フォトリアリスティック 標準3DグラフィックスIPコア OpenVG 1.1対応 3DグラフィックスIPコア PICA200Lite (OpenGLES 1.1 ) SMAPH-F SMAPH-S (OpenGLES 2.0 ) ベクターグラフィックスIPコア OpenGL ES 1.1 互換 + 独自拡張 PICA200 最高賞
Lineup
OpenGL ES OpenGL ES OpenGL ES (OpenGL for Embedded Systems) D D API OpenGL OpenGL ES OpenGL PDA( ) Khronos Group 3D API OS 3D API Khronos Group
OpenGL ES Source: Jon Peddie Research, March 2009 Khronos Group
Khronos Group Khronos Group 2000 1 API3Dlabs, ATI, Discreet, Evans&Sutherland, Intel, nvidia, SGI, Sun Microsystems Khronos Group API Khronos Khronos API
OpenGL ES 1.x 2.x OpenGL ES OpenGL ES 1.x 2.x OpenGL ES 1.x»» OpenGL ES 1.0...» OpenGL ES 1.1... 3D» Common, Common Lite OpenGL ES 2.x»» Common» OpenGL ES 1.x
OpenGL ES 2.0 iphone(ios), Parm Pre(WebOS), Android, etc. SDK ios Dev Center(SDK), Palm Developer Center(PDK), Android Developers(SDK, NDK), etc. WebGL* *OpenGL ES 2.0 JavaScript Firefox, Safari, Opera, Chrome Blender WebGL
OpenGL ES 1.1 / / API
OpenGL ES 2.0 / / API
CPU GPUCPU Non-photorealistic Rendering (NPR)
OpenGL ES 2.0 GLSL ES H/WOS
OpenGL ES 1.1 2.0 OpenGL ES 1.1 OpenGL ES 2.0 Common, Common-Lite Common GLSL ES 1.00 (GLSL 1.10 ) glenable/gldisable / API glnormal, glvertexpointer, glnormalpointer, gltexcoordpointer, etc. API glmatrixmode, glloadidentity, glpushmatrix, etc. API gllight, glmaterial, etc. API glvertexattribpointer API API gltexenv CUBEMAP gltexenvcubemap API glfog, etc. API API glclipplane, etc. API
OpenGL ES 1.1 2.0 OpenGL ES 1.1 OpenGL ES 2.0 API glalphafunc, etc. API API gllogicop, etc. API API FBO
OpenGL 1990 1992 2000 2010 OpenGL 1.2.1 1998.10 Multi-Textureing Ext. OpenGL 1.1 1997.01 Texture Object Ext. ARB OpenGL 1.4 2002.07 Automatic mipmap Ext. H/W Shadowing Ext. etc. Khronos Group OpenGL 2.0 2004.09 Vertex Programs Fragment Shaders Multiple Render Targets Ext. etc. 2006 ARB Khronos Group OpenGL 3.0 2008.07 Frame Buffer Objects(FBO) Ext. Vertex Array Objects (VAO) Ext. Hardware Instancing Ext. OpenGL 3.3, 4.0 2010.03 OpenGL 4.1 2010.07 DirectX 11 Tessellation Control Shader Tessellator Tessellation Evaluation Shader OpenGL ES 2.0 OpenGL 1.0 1992.01 OpenGL 1.2 1998.03 Volume Texture Ext. Packed Pixels Ext. Normal Rescaling Ext. Separate Specular Ext. Texture LOD Ext. Image Processing Ext. etc. OpenGL 1.3 2001.08 Compressed Textures Ext. Cubemaps Ext. Multi-sampling Ext. Texture Combine Ext. etc. OpenGL 1.5 2003.07 Vertex Buffer Objects(VBO) Ext. Occlusion Queries Ext. etc. OpenGL 2.1 2006.07 Pixel Buffer Object Ext. etc. OpenGL 3.1, 3.2 2009.03, 08 Geometry shader Texture Buffer Object Copy Buffer API (OpenCL) etc. DirectX1.0 1995.09 DirectX8.0 2000.11 DirectX9.0 2002.12 DirectX 10 2006.11 DirectX 11 2009.10
OpenGL OpenGL ES OpenGL 1.3 2003 OpenGL ES 1.0 OpenGL 1.5 GLSL 1.00() 2004 OpenGL ES 1.1 OpenGL 2.0 GLSL 1.20 2007 OpenGL ES 2.0 GLSL ES 1.00 OpenGL 3.0 GLSL 1.30 OpenGL 3.1 GLSL 1.40 GL_ARB_compatibility OpenGL 3.2 (Core Profile) GLSL 1.50 OpenGL 3.2 (Conpatibility Profile) GLSL 1.50 (C.P.) OpenGL 4.1 (Core Profile) OpenGL 4.1 (Conpatibility Profile) GLSL 4.10 GLSL 4.10 (C.P.) OpenGL ES Halti
EGL OpenGL ES EGL EGL OpenGL ES API API EGL OpenGL OS, Window GLX: OpenGL Extension for the X Window System AGL: OpenGL Extension for the Apple Macintosh PGL: OpenGL Extension for IBM OS/2 Warp WGL: OpenGL Extension for Microsoft Windows95/98/NT Khronos Group
OpenGL ES (Halti) WG 2009 OpenGL ES 2.0 ARB / ES Convergence Group OpenGL - OpenGL ES 9+,'4:2;<2/"02=>?2@5AB#27,C,%,'B,2DE%F 9+,'4:! ";<2 " G'"'"'H" G'"'"'H 9+,'4:2;<2D&PPE'F2<M'IEK2 330$,)0"5,-.$"QEP, 6'07*3893:3'07;383<3<3<383:3'07=3683'07*9#$ = = = " G/"SH2 " " #$ "#$,'07$,#$,'07$,23,'07$, *!+$ #',' )*'7$#$ )*'7$ JA,!+&%I2E'F2D-A++A') D&'I%&--A')2I$,2JA,!+&%I2G/"1/"1H O,+I$7E'),C" >#$" JA,!+&%I % -?@#$ X,KI5%A')2 " ",$%,)0$#$,$%,)0$23 X,K?PE),/O,'07$, ($&$(!",$0"'(>/01',?!#,@@$!7@, A/0#$0 >/01',,-.$#','#$,'07$,233!",$0"'(>/01',23 >/01',23 D&'8,%(A&'2C%&P274Y=2+AK,-2B&P+&','I(2I&2A'I,%'E-2 I,KI5%,2B&P+&','I(Z YE(,2?'I,%'E-2W&%PEI 74Y=?'I,%'E-2D&P+&','I( D&+MX,K?PE),/O,'07$, ($&$(!",$0"'(>/01', % -?!#,@ @$!7@, A/0#$0#$,'07$,2"!",$0"'(>/01',23!""#$"%&'()"*+"./01023$%&'&(24%&5+2627,8"20/10 ;%%&%(2G/"RH 4,I;%%&% """""",'07$, *!+$ #','#$,'07$,23 #$,'07$, &'()$ #','#$,'07$,23 &'()$23 7,EFA')2>AK,-(2 7,EF>AK,-( % -?!#,@@$!7@, >/01',,-.$#','#$ >/01',2" Q&I,237,EF>AK,-(\]" >/01',C,-.$,'07$, ($&$(?!#,@@$!7@, >/01',,-.$#','#$,'07$,23 >/01',",-.$!""#$"%&'()"*+"",'07$, ($&$( % -?!#,@@$!7@,#$,'07$,233 >/01',",-.$!""#$"%&'()"*+" D&P+%,((,F2X,KI5%,2?PE),(2 D&P+%,((,FX,K?PE),/O,'07$, ($&$(!",$0"'(>/01',?!#,@@$!7@, A/0#$0!1'7$B!+$#','#$,'07$,3'"#3!",$0"'(>/01',!""#$"%&'()"*+,'07$, ($&$(?!#,@@$!7@, >/01',!1'7$B!+$#','#$,'07$,3'"#3!",$0"'(>/01',!""#$"%&'()"*+ X,KI5%,2>E%EP,I,%(2,'07$,."'1$.'0'1#$,'07$,."'1$.'0'1*#$,'07$,23."'1$23 4,',%EI,[A+PE+,'07$,#$,'07$,23 YA'FX,KI5%,,'07$,,$%,)0$#$ O,-,I,X,KI5%,( ",$%,)0$*#$ 4,'X,KI5%,( ",$%,)0$*#$ ;'5P,%EI,F2@5,%A,(,'07$, &'()$ #','#$,'07$,23 &'()$23 X,KI5%,2@5,%A,(2?(X,KI5%,,$%,)0$#$ 4:2OEIE2XM+,(2 4:2XM+, [A'AP5P2 YAI2VAFI$ D5%%,'I2J,%I,K2<IEI,2G/"LH!"#$%&'()$*#$!"#$%&'()$*#$ J,%I,K2=%%EM(2G/"NH!"#$% *!+$,-.$ "/01'(!+$#*,0!#$./!",$0#$,-.$23!"#$%23./!",$0!"#$%#$!"#$%#$!"#$%23 O%E!=%%EM( 1/#$ 4/)",#$ O%E!;-,P,'I( 1/#$4/)",,-.$!"#!4$*#$ 1/#$23,-.$23!"#!4$* >&A'I(2 )-T>&A'I<AU, :A',2<,)P,'I(2 :A',VAFI$?!#,@#$ % % %.,0A!,*.,0A!,* >&-M)&'(2 W%&'IWEB, #!0#$ #!023 D5--WEB, 1/#$#$ 1/#$233 >'4,/0 )"!,*#$ >AK,-27,BIE')-,(2 >AK,-<I&%,A."'1$.'0'1#$."'1$23!!!"#$%&'&("&%)*&+,')-,( OpenGL ES 2.0 Reference Card Web» http://www.khronos.org/opengles/2_x/ KTX
KTX KTX - Khronos TeXture Khronos GroupOpenGL, OpenGL ES 2010 http://www.khronos.org/opengles/sdk/tools/ktx/file_format_spec/» e.g. ETC1, ATITC, S3TC, etc. 1 KTX 1Dmip cube
KTX libktx KTX» ETC1» mip toktx KTX netpbm.pam,.pgm,.ppm BSD-like ( BSD )
KTX
Khronos Group JR OpenGL ES Ⅰ 2010 11 11 1210:00 17:00 OpenGL ES Ⅱ 2010 11 18 1910:00 17:00 GLSL 2010 12 9 1010:00 17:00 http://www.dmprof.com/
OpenGL ES I (1) (2)OpenGL ES (3)EGL (4) (5) (6) (7) (8) (9) (10) (11) (Ⅰ) (12) (13) (14) (15) - OpenGL ES - OpenGL ES1.1 - OpenGL ES1.1 3D : 12-49,560 ( 1 2 ) - Khronos 45,000 ( 1 2 )
OpenGL ES II (1) (2) (3) (4) (5) (6) Ⅱ (7) (8) (9) (10) (11)Dot3 (12) (13) (14)Tips (15)OpenGL ES 2.0 (16) - OpenGL ES 1.1 ( ) - OpenGL ES 1.1 - : 12-49,560 ( 1 2 ) - Khronos 45,000 ( 1 2 )
GLSL 1 (1) (2) OpenGL ES 2.0 (3) GLSL (4) 2 (5) (6) (7) (8) - OpenGL ES 2.0 - GLSL 1.1 - GLSL 1.1 : 12-99,750 ( 1 2 ) - Khronos 94,500 ( 1 2 )
Android 3D Android3D API OpenGL ES Android SDK OpenGL ES API http://www.dmprof.com/ : 4,998 : 1 : 231! : 4
PICA 200 (MIKAGE) Futuremark PICA 200 OpenGL ES 1.1 + + DMP API 2G 2G http://www.dmprof.com/