• 検索結果がありません。

Presentation

N/A
N/A
Protected

Academic year: 2021

シェア "Presentation"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

OpenGL ESによるモバイル・組込みグラフィックス

株式会社ディジタルメディアプロフェッショナル

桐井敬祐

(2)

Agenda

DMPのご紹介

DMPグラフィックスIPのご紹介

OpenGL ES概要

– OpenGL ES 1.1とOpenGL ES 2.0 – プログラマブルシェーダ概要 – OpenGLの歩み – OpenGLとOpenGL ES – EGL 

ワーキンググループの活動アップデート

KTXファイルフォーマット

OpenGL ESトレーニングコース、E-ラーニングのご紹介

(3)

DMPの概要

 会社名:(株)ディジタルメディアプロフェッショナル (略称DMP)www.dmprof.com  事業内容: – 独自開発した3Dグラフィックス技術のライセンス – グラフィックスプロセッサーの開発・販売 – グラフィックス関連ソフトウエア製品の開発・販売 – 3Dグラフィックスに関する技術コンサルティング、トレーニング  所在地:東京都武蔵野市 JR三鷹駅から徒歩2分  会社設立:2002年7月 ULTRAY®2000 Chip (SIGGRAPH 2005) PICA®200 IPコア (SIGGRAPH 2006) OpenGL ES セミナールーム

(4)

DMP グラフィックスIPソリューション

 組込み機器向け高性能・低消費電力グラフィックスIP コア

高性能2

D/3DグラフィックスIP 

低電力モバイルから高性能アミューズメントまでサポート

ビルディング・ブロック構造によるスケーラブルなアーキテクチャ

  

(企業部門 最高賞)

フォトリアリスティック

3DグラフィックスIPコア

標準

3DグラフィックスIPコア

OpenVG 1.1対応

ベクターグラフィックスIPコア

(5)
(6)

OpenGL ES概要

OpenGL ESとは?

– OpenGL ES (OpenGL for Embedded Systems)とは、組込みシステム上の2D、3Dのグラ

フィックスのためのロイヤリティのいらないクロスプラットフォームAPIです。 – デスクトップ向けOpenGLのサブセット版です。 – OpenGL ESは、OpenGLを携帯電話、PDA(携帯情報端末)、家電などに組込まれる表示システ ムでの利用をターゲットに、必要十分な機能に絞り込んでコンパクトな規格にまとめたもので す。 – Khronos Groupが仕様策定を行っています。 – スマートフォン、携帯ゲーム機、メディアプレーヤ、車載機器、タブレット等、最も広く採用 されている3DグラフィックスAPIです。 – 主要な組込み機器向けOSでネイ ティブ 3D APIとして採用されてい

(7)

OpenGL ESの普及

(8)

Khronos Group

Khronos Groupとは?

– 2000年1月にさまざまなプラットフォームとデバイスでリッチメディアのオーサリングと再生を 可能にするためのオープンスタンダードAPIを作成するために3Dlabs, ATI, Discreet,

Evans&Sutherland, Intel, nVIDIA, SGI, およびSun Microsystemsを含む主要な会社によって設 立されました。 – Khronos Groupは、さまざまなプラットフォームとデバイスでダイナミックなメディアのオーサ リングと再生を可能にするためにオープンスタンダードAPIの作成に焦点をあわせられたメン バーによって資金を供給された産業共同体です。 – すべてのKhronosメンバーが、Khronos API仕様の開発に貢献することができ、公開前の様々な 段階で投票する権限が与えられています。

(9)

OpenGL ES 1.xと2.x

OpenGL ESの2つのバージョン

– 組込みシステム業界の様々な要求に対応するため、OpenGL ESのロードマップには1.xと2.xと いう、平行して発展する2つのトラックがあります。 – OpenGL ES 1.x » 固定機能パイプライン » OpenGL ES 1.0 ...ソフトウエア実装向け » OpenGL ES 1.1 ... 3Dアクセラレータ向け

» Common, Common Liteプロファイルの2種類をサポート – OpenGL ES 2.x

» プログラマブルパイプライン

» Commonプロファイルのみサポート

(10)

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が対応

(11)

プリミティブ 合成 座標変換と ライティング プリミティブ 処理 ラスタライザ テクスチャ 処理 カラー加算 フォグ アルファ テスト デプス ステンシル ブレンド ディザ フレーム バッファ

API

三角形/線/点 頂点

OpenGL ES 1.1固定機能パイプライン

フラグメント

(12)

プリミティブ 合成 バーテックス プロセッサ プリミティブ 処理 ラスタライザ フラグメント プロセッサ デプス ステンシル ブレンド ディザ フレーム バッファ

API

三角形/線/点 頂点

OpenGL ES 2.0プログラマブルパイプライン

フラグメント

(13)

プログラマブルシェーダ

シェーダとは、シェーディングを行うプログラムの事で、頂点、フラグメントの特性を

定義します。(固定機能パイプラインは機能が制限されています)

アプリケーションはグラフィックスハードウエア上の処理をコントロールすることがで

きます。

最先端の特殊効果を作り出すことが可能です。

固定機能パイプラインで可能な処理のすべてと、より多くに対応可能です。

CPUで行っていた従来の処理の一部をGPUで処理することで、他の処理の為にCPUを

解放することができます。

写実的質感表現 Non-photorealistic Rendering (NPR) テクスチャマッピング手続き型 頂点アニメーション 画像処理

(14)

OpenGL ES 2.0のシェーダ

2種類のシェーダ

– バーテックスシェーダ   バーテックスプロセッサで動くシェーダ   頂点単位で行う処理をプログラム   入力:頂点、法線、カラーなど/出力:ポジション、頂点カラーなど – フラグメントシェーダ   フラグメントプロセッサで動くシェーダ   フラグメント単位で行う処理をプログラム   入力:フラグメントカラー、テクスチャ座標など/出力:フラグメントカラー、テプス値など。 

シェーダ記述言語(

GLSL ES)を用いて作成します

(15)

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は削除し、 glVertexAttribPointerに移行。

マトリックス 従来のマトリックス処理に関するAPIが使用可能 glMatrixMode, glLoadIdentity, glPushMatrix, etc.

従来のマトリックス処理に関するAPIは削除。

ライティング 従来のライティングに関するAPIが使用可能 glLight, glMaterial, etc.

従来のライティングに関するAPIは削除。 テクスチャ 従来のglTexEnvが使用可能。CUBEMAPは拡張機能。 glTexEnvは削除。CUBEMAPをサポート。 フォグ 従来のフォグに関するAPIが使用可能 glFog, etc. フォグに関するAPIは削除。 ユーザークリップ 従来のユーザークリップに関するAPIが使用可能。 glClipPlane, etc. ユーザークリップに関するAPIは削除。

(16)

OpenGL ES 1.1と2.0

バージョン OpenGL ES 1.1 OpenGL ES 2.0

アルファテスト 従来のAPIで利用可能 glAlphaFunc, etc. アルファテストに関するAPIは削除

ロジックオペレーション 従来のAPIで利用可能 glLogicOp, etc. ロジックオペレーションに関するAPIは削除

ポイントスプライト 従来のAPIで利用可能 仕様変更

フレームバッファオブ ジェクト(FBO)

(17)

OpenGLの歩み

1990

2000

2010

★ ★ OpenGL 1.0 1992.01 ★ ★ ★ ★ OpenGL 1.1 1997.01

Texture Object Ext.

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.2.1 1998.10 Multi-Textureing Ext. OpenGL 1.3 2001.08 Compressed Textures Ext. Cubemaps Ext. Multi-sampling Ext. Texture Combine Ext.

etc.

OpenGL 1.4 2002.07

Automatic mipmap Ext. H/W Shadowing Ext. etc.

OpenGL 1.5 2003.07 Vertex Buffer Objects(VBO) Ext. Occlusion Queries Ext. etc.OpenGL 2.0 2004.09 Vertex Programs Fragment Shaders Multiple Render Targets Ext.

etc.

OpenGL 2.1

2006.07

Pixel Buffer Object Ext. etc.

OpenGL 3.0 2008.07

Frame Buffer Objects(FBO) Ext.

Vertex Array Objects (VAO) Ext.

Hardware Instancing Ext.

★ ★★

OpenGL 3.1, 3.2 2009.03, 08

Geometry shader Texture Buffer Object Copy Buffer API (OpenCLとの連携)

固定機能、イミティエイトモードなどレガ シー機能を拡張機能に、etc. ★★ 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完全互換 ARB発足 1992 Khronos Group発足   ARBが Khronos Groupに 2006

(18)

OpenGLとOpenGL ES

OpenGL 1.3 OpenGL 1.5 GLSL 1.00(拡張機能) OpenGL 2.0 GLSL 1.20 OpenGL 3.0 GLSL 1.30 OpenGL 3.1 GLSL 1.40 OpenGL 3.2 (Core Profile) GLSL 1.50 固定機能 パイプライン拡張 GL_ARB_compatibility OpenGL 3.2 (Conpatibility Profile) GLSL 1.50 (C.P.) 2003 OpenGL ES 1.0 2004 OpenGL ES 1.1 2007 OpenGL ES 2.0 GLSL ES 1.00

(19)

EGL

OpenGL ESにはEGLと呼ばれる共通プラットフォーム・インターフェース層の仕様が

あります。

EGLは、OpenGL ESのディスプレイや、コンテキスト、サーフェーイスを管理する外

部レイヤーです。

各種モバイル

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

– クライアントAPI間のバッファ、テクス チャ、およびビデオストリーム等の効率 的な共有

(20)

ワーキンググループの活動アップデート

次世代

OpenGL ES (Halti)

– WGでは2009年半ばから仕様策定作業にフォーカス – マーケットが必要とする時期にリリース予定

– 既存OpenGL ES 2.0のエコシステム拡大を阻害しない

ARB / ES Convergence Group

– OpenGL - OpenGL ESのサブ委員会 – ロードマップ共有を引続き推進

エコシステム

– OpenGL ES 2.0 Reference Cardの作成→Webサイトからダウンロード可能 » http://www.khronos.org/opengles/2_X/ !!!"#$%&'&("&%)*&+,')-,( ./01023$%&'&(24%&5+2627,8"20/10 9+,'4:2;<2/"02=>?2@5AB#27,C,%,'B,2DE%F 9+,'4:!";<2ŝƐĂƐŽŌǁĂƌĞŝŶƚĞƌĨĂĐĞƚŽŐƌĂƉŚŝĐƐŚĂƌĚǁĂƌĞ͘dŚĞŝŶƚĞƌĨĂĐĞ ĐŽŶƐŝƐƚƐŽĨĂƐĞƚŽĨƉƌŽĐĞĚƵƌĞƐĂŶĚĨƵŶĐƟŽŶƐƚŚĂƚĂůůŽǁĂƉƌŽŐƌĂŵŵĞƌƚŽƐƉĞĐŝĨLJ ƚŚĞŽďũĞĐƚƐĂŶĚŽƉĞƌĂƟŽŶƐŝŶǀŽůǀĞĚŝŶƉƌŽĚƵĐŝŶŐŚŝŐŚͲƋƵĂůŝƚLJŐƌĂƉŚŝĐĂůŝŵĂŐĞƐ͕ ƐƉĞĐŝĮĐĂůůLJĐŽůŽƌŝŵĂŐĞƐŽĨƚŚƌĞĞͲĚŝŵĞŶƐŝŽŶĂůŽďũĞĐƚƐ͘" ͻG'"'"'H"ƌĞĨĞƌƐƚŽƐĞĐƟŽŶƐĂŶĚƚĂďůĞƐŝŶƚŚĞKƉĞŶ'>^Ϯ͘ϬƐƉĞĐŝĮĐĂƟŽŶ͘ ͻG'"'"'HƌĞĨĞƌƐƚŽƐĞĐƟŽŶƐŝŶƚŚĞKƉĞŶ'>^^ŚĂĚŝŶŐ>ĂŶŐƵĂŐĞϭ͘Ϭ ƐƉĞĐŝĮĐĂƟŽŶ͘ ^ƉĞĐŝĮĐĂƟŽŶƐĂƌĞĂǀĂŝůĂďůĞĂƚǁǁǁ͘ŽƉĞŶŐů͘ŽƌŐͬƌĞŐŝƐƚƌLJͬŐůĞƐ sĞƌƟĐĞƐ D5%%,'I2J,%I,K2<IEI,2G/"LH ǀŽŝĚsĞƌƚĞdžƩƌŝď΂ϭϮϯϰ΃΂Ĩ΃;ƵŝŶƚ!"#$%͕d&'()$*#$ ǀŽŝĚsĞƌƚĞdžƩƌŝď΂ϭϮϯϰ΃΂Ĩ΃ǀ;ƵŝŶƚ!"#$%͕d&'()$*#$ J,%I,K2=%%EM(2G/"NH sĞƌƚĞdžĚĂƚĂŵĂLJďĞƐŽƵƌĐĞĚĨƌŽŵĂƌƌĂLJƐƚŚĂƚĂƌĞƐƚŽƌĞĚŝŶĂƉƉůŝĐĂƟŽŶ ŵĞŵŽƌLJ;ǀŝĂĂƉŽŝŶƚĞƌͿŽƌĨĂƐƚĞƌ'WhŵĞŵŽƌLJ;ŝŶĂďƵīĞƌŽďũĞĐƚͿ͘ ǀŽŝĚsĞƌƚĞdžƩƌŝďWŽŝŶƚĞƌ;ƵŝŶƚ!"#$%͕ŝŶƚ*!+$͕ĞŶƵŵ,-.$͕ ůĞĂŶ"/01'(!+$#͕ƐŝnjĞŝ*,0!#$͕ĐŽŶƐƚǀŽŝĚΎ./!",$0#$ ,-.$23zd͕hE^/'Eͺzd͕^,KZd͕hE^/'Eͺ^,KZd͕&/y͕&>Kd !"#$%23΀Ϭ͕DyͺsZdyͺddZ/^Ͳϭ΁ /ĨĂŶZZzͺh&&ZŝƐďŽƵŶĚ͕ƚŚĞĂƩƌŝďƵƚĞǁŝůůďĞƌĞĂĚĨƌŽŵƚŚĞ ďŽƵŶĚďƵīĞƌ͕ĂŶĚ./!",$0ŝƐƚƌĞĂƚĞĚĂƐĂŶŽīƐĞƚǁŝƚŚŝŶƚŚĞďƵīĞƌ͘ ǀŽŝĚŶĂďůĞsĞƌƚĞdžƩƌŝďƌƌĂLJ;ƵŝŶƚ!"#$%#$ ǀŽŝĚŝƐĂďůĞsĞƌƚĞdžƩƌŝďƌƌĂLJ;ƵŝŶƚ!"#$%#$ !"#$%23΀Ϭ͕DyͺsZdyͺddZ/^Ͳϭ΁ ǀŽŝĚO%E!=%%EM(;ĞŶƵŵ1/#$͕ŝŶƚĮƌƐƚ͕ƐŝnjĞŝ4/)",#$ ǀŽŝĚO%E!;-,P,'I(;ĞŶƵŵ1/#$͕ƐŝnjĞŝ4/)",͕ĞŶƵŵ,-.$͕ ǀŽŝĚΎ!"#!4$*#$ 1/#$23WK/Ed^͕>/Eͺ^dZ/W͕>/Eͺ>KKW͕>/E^͕dZ/E'>ͺ^dZ/W͕ dZ/E'>ͺ&E͕dZ/E'>^ ,-.$23hE^/'Eͺzd͕hE^/'Eͺ^,KZd /ĨĂŶ>DEdͺZZzͺh&&ZŝƐďŽƵŶĚ͕ƚŚĞŝŶĚŝĐĞƐǁŝůůďĞƌĞĂĚ ĨƌŽŵƚŚĞďŽƵŶĚďƵīĞƌ͕ĂŶĚ!"#!4$*ŝƐƚƌĞĂƚĞĚĂƐĂŶŽīƐĞƚǁŝƚŚŝŶ ƚŚĞďƵīĞƌ͘ 9+,'4:2;<2D&PPE'F2<M'IEK2΀Ϯ͘ϯ΁ KƉĞŶ'>^ĐŽŵŵĂŶĚƐĂƌĞĨŽƌŵĞĚĨƌŽŵĂƌĞƚƵƌŶƚLJƉĞ͕ĂŶĂŵĞ͕ĂŶĚŽƉƟŽŶĂůůLJĂƚLJƉĞůĞƩĞƌŝĨŽƌϯϮͲďŝƚŝŶƚ͕ŽƌĨĨŽƌϯϮͲďŝƚŇŽĂƚ͕ ĂƐƐŚŽǁŶďLJƚŚĞƉƌŽƚŽƚLJƉĞďĞůŽǁ͗ 330$,)0"5,-.$"QEP,΂ϭϮϯϰ΃΂ŝĨ΃΂ǀ΃;6'07*3893:3'07;383<3<3<383:3'07=3683'07*9#$ dŚĞĂƌŐƵŵĞŶƚƐĞŶĐůŽƐĞĚŝŶďƌĂĐŬĞƚƐ;΀ĂƌŐƐ͕΁ĂŶĚ΀͕ĂƌŐƐ΁ͿŵĂLJŽƌŵĂLJŶŽƚďĞƉƌĞƐĞŶƚ͘ dŚĞĂƌŐƵŵĞŶƚƚLJƉĞdĂŶĚƚŚĞŶƵŵďĞƌ=ŽĨĂƌŐƵŵĞŶƚƐŵĂLJďĞŝŶĚŝĐĂƚĞĚďLJƚŚĞĐŽŵŵĂŶĚŶĂŵĞƐƵĸdžĞƐ͘=ŝƐϭ͕Ϯ͕ϯ͕ŽƌϰŝĨ ƉƌĞƐĞŶƚ͕ŽƌĞůƐĞĐŽƌƌĞƐƉŽŶĚƐƚŽƚŚĞƚLJƉĞůĞƩĞƌƐ͘/Ĩ͞ǀ͟ŝƐƉƌĞƐĞŶƚ͕ĂŶĂƌƌĂLJŽĨ=ŝƚĞŵƐŝƐƉĂƐƐĞĚďLJĂƉŽŝŶƚĞƌ͘ &ŽƌďƌĞǀŝƚLJ͕ƚŚĞKƉĞŶ'>ĚŽĐƵŵĞŶƚĂƟŽŶĂŶĚƚŚŝƐƌĞĨĞƌĞŶĐĞŵĂLJŽŵŝƚƚŚĞƐƚĂŶĚĂƌĚƉƌĞĮdžĞƐ͘" dŚĞĂĐƚƵĂůŶĂŵĞƐĂƌĞŽĨƚŚĞĨŽƌŵƐ͗Őů&ƵŶĐƟŽŶEĂŵĞ;Ϳ͕'>ͺKE^dEd͕'>ƚLJƉĞ ;%%&%(2G/"RH ĞŶƵŵ4,I;%%&%;ǀŽŝĚͿ͖""""""ͬͬZĞƚƵƌŶƐŽŶĞŽĨƚŚĞĨŽůůŽǁŝŶŐ͗ /Es>/ͺEhD ŶƵŵĂƌŐƵŵĞŶƚŽƵƚŽĨƌĂŶŐĞ /Es>/ͺ&ZDh&&ZͺKWZd/KE &ƌĂŵĞďƵīĞƌŝƐŝŶĐŽŵƉůĞƚĞ /Es>/ͺs>h EƵŵĞƌŝĐĂƌŐƵŵĞŶƚŽƵƚŽĨƌĂŶŐĞ /Es>/ͺKWZd/KE KƉĞƌĂƟŽŶŝůůĞŐĂůŝŶĐƵƌƌĞŶƚƐƚĂƚĞ KhdͺK&ͺDDKZz EŽƚĞŶŽƵŐŚŵĞŵŽƌLJůĞŌƚŽĞdžĞĐƵƚĞĐŽŵŵĂŶĚ EKͺZZKZ EŽĞƌƌŽƌĞŶĐŽƵŶƚĞƌĞĚ ƵīĞƌKďũĞĐƚƐG/"SH2 ƵīĞƌŽďũĞĐƚƐŚŽůĚǀĞƌƚĞdžĂƌƌĂLJĚĂƚĂŽƌŝŶĚŝĐĞƐŝŶ" ŚŝŐŚͲƉĞƌĨŽƌŵĂŶĐĞƐĞƌǀĞƌŵĞŵŽƌLJ͘ ǀŽŝĚ'ĞŶƵīĞƌƐ;ƐŝnjĞŝ"͕ƵŝŶƚΎďƵīĞƌƐ#$ ǀŽŝĚĞůĞƚĞƵīĞƌƐ;ƐŝnjĞŝ"͕ĐŽŶƐƚƵŝŶƚΎďƵīĞƌƐ#$ ƌĞĂƟŶŐĂŶĚŝŶĚŝŶŐƵīĞƌKďũĞĐƚƐ ǀŽŝĚŝŶĚƵīĞƌ;ĞŶƵŵ,'07$,͕ƵŝŶƚďƵīĞƌ#$ ,'07$,23ZZzͺh&&Z͕>DEdͺZZzͺh&&Z ƌĞĂƟŶŐƵīĞƌKďũĞĐƚĂƚĂ^ƚŽƌĞƐ ǀŽŝĚƵīĞƌĂƚĂ;ĞŶƵŵ,'07$,͕ƐŝnjĞŝƉƚƌ*!+$͕ ĐŽŶƐƚǀŽŝĚΎ#','͕ĞŶƵŵ)*'7$#$ )*'7$͗^dd/ͺZt͕^dZDͺZt͕zED/ͺZt hƉĚĂƟŶŐƵīĞƌKďũĞĐƚĂƚĂ^ƚŽƌĞƐ ǀŽŝĚƵīĞƌ^ƵďĂƚĂ;ĞŶƵŵ,'07$,͕ŝŶƚƉƚƌŽīƐĞƚ͕ ƐŝnjĞŝƉƚƌ*!+$͕ĐŽŶƐƚǀŽŝĚΎ#','#$ ,'07$,23ZZzͺh&&Z͕>DEdͺZZzͺh&&Z ƵīĞƌKďũĞĐƚYƵĞƌŝĞƐ΀ϲ͘ϭ͘ϲ͕ϲ͘ϭ͘ϯ΁ ůĞĂŶ/ƐƵīĞƌ;ƵŝŶƚďƵīĞƌ#$ ǀŽŝĚ'ĞƚƵīĞƌWĂƌĂŵĞƚĞƌŝǀ;ĞŶƵŵ,'07$,͕ĞŶƵŵ&'()$͕ d#','#$ ,'07$,23ZZzͺh&&Z͕>DEdͺZZzͺh&&Z &'()$23h&&Zͺ^/͕h&&Zͺh^' JA,!+&%I2E'F2D-A++A') D&'I%&--A')2I$,2JA,!+&%I2G/"1/"1H ǀŽŝĚO,+I$7E'),C;ĐůĂŵƉĨ"͕ĐůĂŵƉĨ>#$" ǀŽŝĚJA,!+&%I;ŝŶƚ%͕ŝŶƚ-͕ƐŝnjĞŝ?͕ƐŝnjĞŝ@#$ ZĂƐƚĞƌŝnjĂƟŽŶ΀ϯ΁ >&A'I(2΀ϯ͘ϯ΁ WŽŝŶƚƐŝnjĞŝƐƚĂŬĞŶĨƌŽŵƚŚĞƐŚĂĚĞƌďƵŝůƟŶ)-T>&A'I<AU,ĂŶĚ ĐůĂŵƉĞĚƚŽƚŚĞŝŵƉůĞŵĞŶƚĂƟŽŶͲĚĞƉĞŶĚĞŶƚƉŽŝŶƚƐŝnjĞƌĂŶŐĞ͘ :A',2<,)P,'I(2΀ϯ͘ϰ΁ ǀŽŝĚ:A',VAFI$;ŇŽĂƚ?!#,@#$ >&-M)&'(2΀ϯ͘ϱ΁ ǀŽŝĚW%&'IWEB,;ĞŶƵŵ#!0#$ #!023t͕t ǀŽŝĚD5--WEB,;ĞŶƵŵ1/#$#$ 1/#$233&ZKEd͕<͕&ZKEdͺEͺ< ŶĂďůĞͬŝƐĂďůĞ;h>>ͺ&Ϳ ǀŽŝĚWŽůLJŐŽŶKīƐĞƚ;ŇŽĂƚ>'4,/0͕ŇŽĂƚ)"!,*#$ ŶĂďůĞͬŝƐĂďůĞ;WK>z'KEͺK&&^dͺ&/>>Ϳ >AK,-27,BIE')-,(2΀ϯ͘ϲ͕ϰ͘ϯ΁ ǀŽŝĚ>AK,-<I&%,A;ĞŶƵŵ."'1$͕ŝŶƚ.'0'1#$ ."'1$23hEW<ͺ>/'EDEd͕W<ͺ>/'EDEd X,KI5%A')2΀ϯ͘ϳ΁ ^ŚĂĚĞƌƐƐƵƉƉŽƌƚƚĞdžƚƵƌŝŶŐƵƐŝŶŐĂƚůĞĂƐƚ" DyͺsZdyͺdydhZͺ/D'ͺhE/d^ŝŵĂŐĞƐĨŽƌǀĞƌƚĞdž ƐŚĂĚĞƌƐĂŶĚĂƚůĞĂƐƚDyͺdydhZͺ/D'ͺhE/d^ŝŵĂŐĞƐ" ĨŽƌĨƌĂŐŵĞŶƚƐŚĂĚĞƌƐ͘ ǀŽŝĚĐƟǀĞdĞdžƚƵƌĞ;ĞŶƵŵ,$%,)0$#$ ,$%,)0$23΀dydhZϬ͘͘dydhZŝ΁ǁŚĞƌĞŝс DyͺKD/EͺdydhZͺ/D'ͺhE/d^Ͳϭ dĞdžƚƵƌĞ/ŵĂŐĞ^ƉĞĐŝĮĐĂƟŽŶ΀ϯ͘ϳ͘ϭ΁ ǀŽŝĚX,K?PE),/O;ĞŶƵŵ,'07$,͕ŝŶƚ($&$(͕ŝŶƚ!",$0"'(>/01',͕ ƐŝnjĞŝ?!#,@͕ƐŝnjĞŝ@$!7@,͕ŝŶƚA/0#$0͕ĞŶƵŵ>/01',͕ ĞŶƵŵ,-.$͕ǀŽŝĚΎ#','#$ ,'07$,233dydhZͺϮ͕dydhZͺhͺDWͺWK^/d/sͺ΂y͕z͕΃ dydhZͺhͺDWͺE'd/sͺ΂y͕z͕΃ !",$0"'(>/01',23>W,͕>hD/EE͕>hD/EEͺ>W,͕Z'͕ Z' >/01',23>W,͕Z'͕Z'͕>hD/EE͕>hD/EEͺ>W, ƚLJƉĞ͗hE^/'Eͺzd͕hE^/'Eͺ^,KZdͺϱͺϲͺϱ͕ hE^/'Eͺ^,KZdͺϰͺϰͺϰͺϰ͕hE^/'Eͺ^,KZdͺϱͺϱͺϱͺϭ 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(

>W,   >hD/EE Z > >hD/EEͺ>W, Z͕ >͕ Z' Z͕'͕ Z͕'͕ Z' Z͕'͕͕ Z͕'͕͕ ůƚ͘dĞdžƚƵƌĞ/ŵĂŐĞ^ƉĞĐŝĮĐĂƟŽŶŽŵŵĂŶĚƐ΀ϯ͘ϳ͘Ϯ΁ dĞdžƚƵƌĞŝŵĂŐĞƐŵĂLJĂůƐŽďĞƐƉĞĐŝĮĞĚƵƐŝŶŐŝŵĂŐĞĚĂƚĂƚĂŬĞŶ ĚŝƌĞĐƚůLJĨƌŽŵƚŚĞĨƌĂŵĞďƵīĞƌ͕ĂŶĚƌĞĐƚĂŶŐƵůĂƌƐƵďƌĞŐŝŽŶƐŽĨ ĞdžŝƐƟŶŐƚĞdžƚƵƌĞŝŵĂŐĞƐŵĂLJďĞƌĞƐƉĞĐŝĮĞĚ͘ ǀŽŝĚD&+MX,K?PE),/O;ĞŶƵŵ,'07$,͕ŝŶƚ($&$(͕ ĞŶƵŵ!",$0"'(>/01',͕ŝŶƚ%͕ŝŶƚ-͕ƐŝnjĞŝ?!#,@͕ ƐŝnjĞŝ@$!7@,͕ŝŶƚA/0#$0#$ ,'07$,2"dydhZͺϮ͕dydhZͺhͺDWͺWK^/d/sͺ΂y͕z͕΃͕ dydhZͺhͺDWͺE'd/sͺ΂y͕z͕΃ !",$0"'(>/01',23!""#$"%&'()"*+" ǀŽŝĚdĞdž^Ƶď/ŵĂŐĞϮ;ĞŶƵŵ,'07$,͕ŝŶƚ($&$(͕ŝŶƚdžŽīƐĞƚ͕ ŝŶƚLJŽīƐĞƚ͕ƐŝnjĞŝ?!#,@͕ƐŝnjĞŝ@$!7@,͕ĞŶƵŵ>/01',͕ ĞŶƵŵ,-.$͕ǀŽŝĚΎ#','#$ ,'07$,23dydhZͺhͺDWͺWK^/d/sͺ΂y͕z͕΃͕ dydhZͺhͺDWͺE'd/sͺ΂y͕z͕΃ >/01',"ĂŶĚ,-.$͗!""#$"%&'()"*+"" ǀŽŝĚŽƉLJdĞdž^Ƶď/ŵĂŐĞϮ;ĞŶƵŵ,'07$,͕ŝŶƚ($&$(͕ŝŶƚdžŽīƐĞƚ͕ ŝŶƚLJŽīƐĞƚ͕ŝŶƚ%͕ŝŶƚ-͕ƐŝnjĞŝ?!#,@͕ƐŝnjĞŝ@$!7@,#$ ,'07$,233dydhZͺϮ͕dydhZͺhͺDWͺWK^/d/sͺ΂y͕z͕΃͕ dydhZͺhͺDWͺE'd/sͺ΂y͕z͕΃ >/01',"ĂŶĚ,-.$͗!""#$"%&'()"*+" D&P+%,((,F2X,KI5%,2?PE),(2΀ϯ͘ϳ͘ϯ΁ ǀŽŝĚD&P+%,((,FX,K?PE),/O;ĞŶƵŵ,'07$,͕ŝŶƚ($&$(͕ ĞŶƵŵ!",$0"'(>/01',͕ƐŝnjĞŝ?!#,@͕ƐŝnjĞŝ@$!7@,͕ ŝŶƚA/0#$0͕ƐŝnjĞŝ!1'7$B!+$͕ǀŽŝĚΎ#','#$ ,'07$,3'"#3!",$0"'(>/01',͗!""#$"%&'()"*+ ǀŽŝĚŽŵƉƌĞƐƐĞĚdĞdž^Ƶď/ŵĂŐĞϮ;ĞŶƵŵ,'07$,͕ŝŶƚ($&$(͕ ŝŶƚdžŽīƐĞƚ͕ŝŶƚLJŽīƐĞƚ͕ƐŝnjĞŝ?!#,@͕ƐŝnjĞŝ@$!7@,͕ ĞŶƵŵ>/01',͕ƐŝnjĞŝ!1'7$B!+$͕ǀŽŝĚΎ#','#$ ,'07$,3'"#3!",$0"'(>/01',͗!""#$"%&'()"*+ X,KI5%,2>E%EP,I,%(2΀ϯ͘ϳ͘ϰ΁ ǀŽŝĚdĞdžWĂƌĂŵĞƚĞƌ΂ŝĨ΃;ĞŶƵŵ,'07$,͕ĞŶƵŵ."'1$͕ d.'0'1#$ ǀŽŝĚdĞdžWĂƌĂŵĞƚĞƌ΂ŝĨ΃ǀ;ĞŶƵŵ,'07$,͕ĞŶƵŵ."'1$͕ d.'0'1*#$ ,'07$,23dydhZͺϮ͕dydhZͺhͺDW ."'1$23dydhZͺtZWͺ΂^͕d΃͕dydhZͺ΂D/E͕D'΃ͺ&/>dZ DĂŶƵĂůDŝƉŵĂƉ'ĞŶĞƌĂƟŽŶ΀ϯ͘ϳ͘ϭϭ΁ ǀŽŝĚ4,',%EI,[A+PE+;ĞŶƵŵ,'07$,#$ ,'07$,23dydhZͺϮ͕dydhZͺhͺDW dĞdžƚƵƌĞKďũĞĐƚƐ΀ϯ͘ϳ͘ϭϯ΁ ǀŽŝĚYA'FX,KI5%,;ĞŶƵŵ,'07$,͕ƵŝŶƚ,$%,)0$#$ ǀŽŝĚO,-,I,X,KI5%,(;ƐŝnjĞŝ"͕ƵŝŶƚΎ,$%,)0$*#$ ǀŽŝĚ4,'X,KI5%,(;ƐŝnjĞŝ"͕ƵŝŶƚΎ,$%,)0$*#$ ;'5P,%EI,F2@5,%A,(΀ϲ͘ϭ͘ϯ΁ ǀŽŝĚ'ĞƚdĞdžWĂƌĂŵĞƚĞƌ΂ŝĨ΃ǀ;ĞŶƵŵ,'07$,͕ĞŶƵŵ&'()$͕ d#','#$ ,'07$,23dydhZͺϮ͕dydhZͺhͺDW &'()$23dydhZͺtZWͺ΂^͕d΃͕dydhZͺ΂D/E͕D'΃ͺ&/>dZ X,KI5%,2@5,%A,(2΀ϲ͘ϭ͘ϰ΁ ůĞĂŶ?(X,KI5%,;ƵŝŶƚ,$%,)0$#$ 4:2OEIE2XM+,(2΀Ϯ͘ϯ΁ '>ƚLJƉĞƐĂƌĞŶŽƚƚLJƉĞƐ͘ 4:2XM+, [A'AP5P2YAI2VAFI$ĞƐĐƌŝƉƟŽŶ ůĞĂŶ ϭ ŽŽůĞĂŶ ďLJƚĞ % ^ŝŐŶĞĚďŝŶĂƌLJŝŶƚĞŐĞƌ ƵďLJƚĞ % hŶƐŝŐŶĞĚďŝŶĂƌLJŝŶƚĞŐĞƌ ĐŚĂƌ % ŚĂƌĂĐƚĞƌƐŵĂŬŝŶŐƵƉƐƚƌŝŶŐƐ ƐŚŽƌƚ ϭϲ ^ŝŐŶĞĚϮ͛ƐĐŽŵƉůĞŵĞŶƚďŝŶĂƌLJŝŶƚĞŐĞƌ ƵƐŚŽƌƚ ϭϲ hŶƐŝŐŶĞĚďŝŶĂƌLJŝŶƚĞŐĞƌ ŝŶƚ ϯϮ ^ŝŐŶĞĚϮ͛ƐĐŽŵƉůĞŵĞŶƚďŝŶĂƌLJŝŶƚĞŐĞƌ ƵŝŶƚ ϯϮ hŶƐŝŐŶĞĚďŝŶĂƌLJŝŶƚĞŐĞƌ ĮdžĞĚ ϯϮ ^ŝŐŶĞĚϮ͛ƐĐŽŵƉůĞŵĞŶƚϭϲ͘ϭϲƐĐĂůĞĚŝŶƚĞŐĞƌ ƐŝnjĞŝ ϯϮ EŽŶͲŶĞŐĂƟǀĞďŝŶĂƌLJŝŶƚĞŐĞƌƐŝnjĞ ĞŶƵŵ ϯϮ ŶƵŵĞƌĂƚĞĚďŝŶĂƌLJŝŶƚĞŐĞƌǀĂůƵĞ ŝŶƚƉƚƌ .,0A!,* ^ŝŐŶĞĚϮ͛ƐĐŽŵƉůĞŵĞŶƚďŝŶĂƌLJŝŶƚĞŐĞƌ ƐŝnjĞŝƉƚƌ .,0A!,* EŽŶͲŶĞŐĂƟǀĞďŝŶĂƌLJŝŶƚĞŐĞƌƐŝnjĞ ďŝƞŝĞůĚ ϯϮ ŝƚĮĞůĚ ŇŽĂƚ ϯϮ &ůŽĂƟŶŐͲƉŽŝŶƚǀĂůƵĞ ĐůĂŵƉĨ ϯϮ &ůŽĂƟŶŐͲƉŽŝŶƚǀĂůƵĞĐůĂŵƉĞĚƚŽ΀Ϭ͖ϭ΁ 7,EFA')2>AK,-(2΀ϰ͘ϯ͘ϭ΁ ǀŽŝĚ7,EF>AK,-(;ŝŶƚ%͕ŝŶƚ-͕ƐŝnjĞŝ?!#,@͕ƐŝnjĞŝ@$!7@,͕ ĞŶƵŵ>/01',͕ĞŶƵŵ,-.$͕ǀŽŝĚΎ#','#$ >/01',2"Z' ƚLJƉĞ͗hE^/'Eͺzd Q&I,237,EF>AK,-(\]"ĂůƐŽĂĐĐĞƉƚƐĂƋƵĞƌŝĂďůĞŝŵƉůĞŵĞŶƚĂƟŽŶͲ ĚĞĮŶĞĚ>/01',C,-.$ĐŽŵďŝŶĂƟŽŶ͕ƐĞĞ΀ϰ͘ϯ͘ϭ΁͘

(21)

KTXファイルフォーマット

KTX - Khronos TeXture

– Khronos Groupが定めるOpenGL, OpenGL ES向けテクスチャファイルフォーマット – 昨年より検討・策定作業を進め2010年7月にリリース

– 軽量なフォーマット

– http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/

非圧縮・圧縮テクスチャのサポート

– 格納イメージデータは、非圧縮だけではなく圧縮テクスチャフォーマットも格納可能 » e.g. ETC1, ATITC, S3TC, etc.

– 1つのKTXファイル内に、1Dテクスチャから、すべてのmipマップレベルを含むテクスチャ、 cubeマップテクスチャ等を格納する事が可能。

(22)

KTXファイルフォーマット関連ツール

libktx

– KTXファイルの読み書きを行うためのライブラリ – 便利で使いやすいライブラリ » ETC1(圧縮テクスチャフォーマット)をサポートしていないハードウエア向けに解凍して くれるローダも提供 » mipマップ生成機能も提供 

toktx

– KTXファイルを netpbmフォーマット(.pam, .pgm, .ppmファイル)から作成 – テクスチャ圧縮機能は未対応 

いずれも

BSD-likeライセンス(修正BSDライセンス)によるオープンソース化

(23)

KTXファイルフォーマットの今後

将来的にはテクスチャ圧縮などの機能を追加できるオプションを提供

(24)

Khronos Group公認トレーニングコース

開催場所:㈱ディジタルメディアプロフェッショナル セミナールーム

– JR三鷹駅徒歩2分 

開催スケジュール(定期的に開催)

– OpenGL ESプログラミング・トレーニング Ⅰ  2010年11月11日(木)∼12日(金)10:00∼17:00 – OpenGL ESプログラミング・トレーニングⅡ  2010年11月18日(木)∼19日(金)10:00∼17:00 – GLSLシェーダプログラミング 基礎コース   2010年12月9日(木)∼10日(金)10:00∼17:00 

お申し込み、詳細は

http://www.dmprof.com/

(25)

OpenGL ES プログラミング・トレーニングI

学習項目

到達目標

-

OpenGL ESのアーキテクチャ、実装プラットフォームに関する概要を理解する。

-

OpenGL ES1.1を使って作成されたプログラムを理解することができる。

-

OpenGL ES1.1を使った、組込みシステム向け3Dグラフィックスアプリケーションを作成できる。

定員

: 12名(先着順)

受講料

-

一般     49,560円 (税込、1名2日間)

-

Khronosメンバー 45,000円 (税込、1名2日間) (1)はじめに (2)OpenGL ES概要 (3)EGLについて (4)プリミティブの描画 (5)ビューポートの設定 (6)変換 (7)デプスバッファ (8)シーンの描画 (9)アニメーション (10)視野 (11)ライティング(Ⅰ) (12)ブレンディング (13)ピクセル・オペレーション (14)フォグ (15)フレームバッファ・オペレーショ(16)まとめ

(26)

OpenGL ESプログラミング・トレーニングII

学習項目

到達目標

-

OpenGL ES 1.1の標準機能(一部拡張機能)を使用して、よりリアリティの高い表現を実現できる。

-

OpenGL ES 1.1アプリケーションのパフォーマンスに関する考察を行う事ができる。

-

プログラマブル・シェーダの概念を理解する。

定員

: 12名(先着順)

受講料

(1)はじめに (2)ライティング(II) (3)バッファ・オブジェクト (4)拡張:ポイントスプライト (5)拡張:マトリックスパレット (6)テクスチャマッピング(Ⅱ) (7)圧縮テクスチャ (8)ドローテクスチャ (9)動的キューブマッピング (10)平面反射 (11)Dot3バンプマッピングとスペキュラーマッピング (12)ステンシルシャドウ (13)パフォーマンス評価のヒント (14)その他のTips (15)OpenGL ES 2.0の概要 (16)まとめ

(27)

GLSLシェーダプログラミング

学習項目

到達目標

-

OpenGL ES 2.0のアーキテクチャを理解する。

-

GLSL 1.1を使って作成されたシェーダ・プログラムを理解する事ができる。

-

GLSL 1.1を使った簡単なシェーダ・プログラムを作成する事ができる。

定員

: 12名(先着順)

受講料

-

一般  99,750円 (税込、1名2日間)

-

Khronosメンバー 94,500円 (税込、1名2日間) 1日目: (1) はじめに (2) OpenGL ES 2.0の基礎 (3) GLSLの文法 (4) バーテックスシェーダ 2日目: (5) フラグメントシェーダ (6) 座標系 (7) ライティング (8) デバッグ方法

(28)

Android 3Dグラフィックス・ラーニングキット

英語版も

販売開始

!

Android上で、組込み用途向け標準3DグラフィックスAPIであるOpenGL ES

を使用したプログラミングの基礎を学習します。

ナレーションとアニメーションにより

Android SDKの使い方、OpenGL ES

APIの詳細、サンプルソースコードの詳細をわかりやすく解説

直感的なインターフェースで学習項目の選択とキーワード検索が可能

ダウンロード、詳細は

http://www.dmprof.com/

利用料金: 4,998円(税込)

利用期間 : 1年間

ページ数: 231ページ

再生時間: 約4時間

(29)

PICA

®

200  “御影(MIKAGE)” デモンストレーション

Futuremark社と共同 開発したPICA

®

200リアルタイムデモ・コンテンツ

OpenGL ES 1.1 + 拡張パック + DMP拡張API

(    

2G

をフルに活用

行列パレットスキニング 平面反射 環境マップ バンプマップ ピクセル単位ライティング ソフトシャドウ・セルフシャドウ 表面下散乱 プロシージャルテクスチャ ポリゴンサブディビジョン

2G

ムービー版ダウンロード:

参照

関連したドキュメント

 実施にあたっては、損傷したHIC排気フィルタと類似する環境 ( ミスト+エアブロー ) ※1 にある 排気フィルタ

「JSME S NC-1 発電用原子力設備規格 設計・建設規格」 (以下, 「設計・建設規格」とい う。

原子炉建屋から採取された試料は、解体廃棄物の汚染状態の把握、発生量(体 積、質量)や放射能量の推定、インベントリの評価を行う上で重要である。 今回、 1

竣工予定 2020 年度 処理方法 焼却処理 炉型 キルンストーカ式 処理容量 95t/日(24 時間運転).

処理処分の流れ図(図 1-1 及び図 1-2)の各項目の処理量は、産業廃棄物・特別管理産業廃 棄物処理計画実施状況報告書(平成

1,2 ※2   Cs  2.5×10 11   前処理フィルタ3  Cs  4.3×10 10   前処理フィルタ4  Sr  2.8×10 9  .

処理水 バッファ タンク ろ過水 タンク 常用高台炉注水ポンプ

処理水 バッファ タンク ろ過水 タンク 常用高台炉注水ポンプ