PowerPoint プレゼンテーション

Similar documents
Presentation

PowerPoint プレゼンテーション

WebGL Safari WebGL WebGL Safari Kageyama (Kobe Univ.) / 5

WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57


PowerPoint プレゼンテーション

WebGL Safari WebGL Kageyama (Kobe Univ.) Visualization / 55

WebGL References Kageyama (Kobe Univ.) Visualization *4 2 / 54

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

Microsoft PowerPoint - GPU_computing_2013_01.pptx

コンピュータグラフィックス

untitled

White Paper 高速部分画像検索キット(FPGA アクセラレーション)

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

コンピュータグラフィックス第8回

VOX-BASE/RECEIVE Conformance Statement

使用する前に

GPGPU

Copyright 2008 All Rights Reserved 2

ハピタス のコピー.pages

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

Qlik Sense のシステム要件

最新 Visual Studio と DirectX 9.0 Ex で戦う 3D プログラミング

de:code 2019 CM04 Azure Kinect DK 徹底解説 ~ 進化したテクノロジーとその実装 ~ 技術統括室 千葉慎二 Ph.D.

1 3DCG [2] 3DCG CG 3DCG [3] 3DCG 3 3 API 2 3DCG 3 (1) Saito [4] (a) 1920x1080 (b) 1280x720 (c) 640x360 (d) 320x G-Buffer Decaudin[5] G-Buffer D

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

WindowsEmbeddedStandard7 IBW によるクイックスタートガイド 東京エレクトロンデバイス株式会社 CN 事業統括本部 エンベデッド ソリューション部 Apr2012 本資料の著作権は 東京エレクトロンデバイス株式会社に帰属します 許可なく 転載 複製することを禁止します

セットアップカード

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37

ハイブリッド デバイス管理 ~Microsoft Intune~

PowerPoint プレゼンテーション

KDDI

WebGL WebGL DOM Kageyama (Kobe Univ.) Visualization / 39

07-二村幸孝・出口大輔.indd

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

製品概要

MotionBoard Ver. 5.6 パッチ適用手順書

VMware Horizon

PowerPoint プレゼンテーション

momentum Probe Type-R/C version 4.21 build-a04a Release Notes Release Version: momentum Probe Type-R/C version 4.21 build-a04a Release Date: 2018/06/2

あなたのゲームをちょっとだけ速くする

Microsoft Word - Dolphin Expressによる10Gbpソケット通信.docx

背景 1 / Reprinted with permission from paper c 2013 SAE International.

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

EnSightのご紹介

Copyright 2008 NIFTY Corporation All rights reserved. 2

Copyright 2006 KDDI Corporation. All Rights Reserved page1

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

BLOOMBERG PROFESSIONAL™

Pervasive PSQL v10 SP3 製品 < パーベイシブピーエスキューエルブイテン > ( 開発元 :Pervasive Software Inc.) システム要件

Q-SYS Designer Version 5.4 Release Note ソフトウェア要件 Q-SYS Designer は下記の OS での動作確認をしております Windows 7 Professional 32-bit / 64-bit Windows 8.1 Professional

PowerPoint プレゼンテーション

LDAP Manager SupportList

WJ_A_V2_2_必須アップデートについて_1_1_0

24th Embarcadero Developer Camp

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Copyright All Rights Reserved. -2 -!

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

How to Use the PowerPoint Template

Kageyama (Kobe Univ.) / 41

Introduction USB Boot とは何ですか? USB メディア フラッシュメモリ媒体からの Windows XP Embedded の起動 USB Boot による機器開発のシナリオ Introduction USB Boot とは? Windows XP Embedded を UFD

ニフティクラウド mobile backend 概要 サービス名 : ニフティクラウド mobile backend ( ニフティクラウドモバイルバックエンド ) アドレス : 利用対象者 : スマートフォンアプリを開発する個人および企業 基本仕

Microsoft PowerPoint - Bayhub-ET2013_booth seminar3.pptx

GT-X980

Veritas System Recovery 16 Management Solution Readme

下位互換サポートの注意点 下位互換サポートにはいくつか注意点があります 1. 全体的な注意点 と 利用する各製品の注意点 最後に 7. そのほかの注意点 をすべて確認してください 1. 全体的な注意点 ライセンスキーの登録 ( 重要 ) 利用中の環境で Arcserve Backup の上書きインス

Digital Photo Presenter for Studio ユーザーズガイド

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

Transcription:

OpenGL ES 3.0 最新情報と OpenGL 20 周年 株式会社ディジタルメディアプロフェッショナル大渕栄作 2012 Digital Media Professionals Inc. All rights reserved. 03/Dec/2012 Page 1

Agenda OpenGL ES 3.0 OpenGL 20 周年 2012 Digital Media Professionals Inc. All rights reserved. Page 2

DMP 概要 会社名 : ( 株 ) ディジタルメディアプロフェッショナル ( 略称 DMP) www.dmprof.com 事業内容 : 2D/3DグラフィックスIPのライセンス グラフィックスプロセッサ開発 販売 グラフィックス関連ソフトウエア製品の開発 販売 3Dグラフィックスに関する技術コンサルティング 所在地 : 東京都武蔵野市 JR 三鷹駅から徒歩 2 分 会社設立 :2002 年 7 月 特許等 : 日米欧において58 件の特許出願済み成立 30 件 (2012 年 6 月現在 ) 2012 Digital Media Professionals Inc. All rights reserved. Page 3

組込み機器向け高性能 低消費電力グラフィックス IP コア 高性能 2D/3D グラフィックス IP DMP グラフィックス IP ソリューション 低電力モバイルから高性能アミューズメントまでサポート ( ビルディング ブロック構造によるスケーラブルなアーキテクチャ ) 標準 VG,3D グラフィックス IP コア SMAPH-H (OpenGL ES 1.1, OpenVG1.1 ) SMAPH-H2 (OpenGL ES 2.0, OpenVG1.1 ) フォトリアリスティック 3D グラフィックス IP コア (OpenGL ES 1.1 互換 + 独自拡張 ) PICA200 標準 3D グラフィックス IP コア PICA200Lite (OpenGL ES 1.1 ) SMAPH-S (OpenGL ES 2.0 / 3.0) 2012 Digital Media Professionals Inc. All rights reserved. OpenVG 1.1 対応ベクターグラフィックス IP コア SMAPH-F Page 4

Khronos アップデート 2012 Digital Media Professionals Inc. All rights reserved. Page 5

Khronos アップデート OpenGL ES 3.0 API 仕様をリリース - モバイル 3D グラフィックス API の 6 年ぶりメジャーアップデートリリース OpenGL 4.3 API 仕様リリース - Compute shader 機能の追加等 OpenGL 及び OpenGL ES 向け共通テクスチャ圧縮フォーマット - ETC2 をコア拡張 ASTC を拡張 API として提供 OpenCL 向け CLU ユーティリティオープンソースプロジェクト - OpenCL プログラミングの簡素化を実現 COLLADA 標準の ISO 標準化 - OpenCOLLADA オープンソースインポータ エキスポータ及び 認証テストスイート ビジョン系処理アクセラレーション及び 各種センサーデバイス融合向け新ワーキンググループ - OpenVL と StreamInput の新ワーキンググループ Copyright Khronos Group 2012 Page 6

ソフトウェアからシリコンへのブリッジ Khronos API がプロセッサアクセラレーションの可能性を定義 - グラフィクス ビデオ オーディオ コンピューティング ビジョン センサー分野 API でデバイス プラットフォーム機能の将来を定義する活動 Copyright Khronos Group 2012 Page 7

Apple Over 100 members any company worldwide is welcome to join Board of Promoters Copyright Khronos Group 2012 Page 8

OpenGL ES 3.0 2012 Digital Media Professionals Inc. All rights reserved. Page 9

これまでの歩み SIGGRAPH 2002 - OpenGL ES ワーキンググループ立ち上げ SIGGRAPH 2003 - OpenGL ES 1.0 API 仕様リリース SIGGRAPH 2004 - OpenGL ES 1.1 API 仕様リリース GDC 2007 - OpenGL ES 2.0 API 仕様リリース Copyright Khronos Group 2012 Page 10

これまでの歩み ( 続き ) 2007/8 - OpenGL ES 1.x 対応デバイス発売 2009/10 - OpenGL ES 2.0 対応デバイス発売 2011: ハイエンド系 3D コンテンツがモバイル上で動作 Copyright Khronos Group 2012 Page 11

モバイルにおける OpenGL ES 採用状況 Use of 3D APIs in Mobile Devices Source: Jon Peddie Research On PC DirectX is used for most apps. On mobile the situation is reversed OpenGL ES is the 3D API used in Android, ios and almost every other mobile and embedded OS other than Windows Copyright Khronos Group 2012 Page 12

OpenGL ES 3.0 の目標 近年のコンテンツで必要とされる機能の提供 - OpenGL 3.3 / 4.x をベースにした機能セット - 必須な拡張の削減 プログラマーに優しい API - サポート機能に対して 要求定義の厳格化 - 実装依存部分による差異の削減 OpenGL ES 2.0 エコシステムの活用 - OpenGL ES 2.0 との互換性を保持 ゲームなどのアプリケーション向けに よりよい API, 高速な API を目指す Copyright Khronos Group 2012 Page 13

プログラマに優しい API 拡張されたシェーディング言語 :GLSL ES 3.0 - より OpenGL と互換性を確保するために文法 機能のアップデート - 32-bit 精度の整数 浮動小数点型のフルサポート - OpenGL ES 2.0 であった多くの制限を削除 予測可能な機能 挙動 - 様々なテクスチャ レンダーバッファフォーマット - 各フォーマット仕様の明確化 ( バッファサイズなど ) - エラー時の挙動を明確化 Copyright Khronos Group 2012 Page 14

シェーダ機能について GLSL v2.0 機能を包含 シェーダプロセッサの要件 - 頂点 フラグメントシェーダいずれも - 浮動小数点型 (IEEE 32 bit) - 整数型 (32 bit signed and unsigned) ユニフォームバッファオブジェクト - 12 Vertex + 12 Fragment binding points, 16KB トランスフォームフィードバックバッファ マルチビューバッファ テクスチャサンプラ - sampler3d, sampler2darray, sampler2dshadow, samplercubeshadow - integer and unsigned integer samplers Appenix A に定義されていた制限の撤廃 Copyright Khronos Group 2012 Page 15

シェーダ機能について OpenGL 3.3 のサブセット - ジオメトリシェーダは未サポート いくつかの機能を OpenGL 4.x から追加 OpenGL ES 2.0 機能 - 例 precision qualifiers Copyright Khronos Group 2012 Page 16

ポーティング これまでの記述 #version 100 // implicit precision mediump float; varying vec4 color; #version 300 es // required precision mediump float; in vec4 color; GLSL ES 3.0 での記述 layout(location = 0) out vec4 data; void main() { gl_fragcolor = color; } 組み込み varying の一般化 void main() { data = color; } マルチレンダーターゲットの指定 Copyright Khronos Group 2012 Page 17

サンプラーに対する精度定義 #version 300 es precision highp float; sampler2d floatmap;// lowp sampler3d cubemap; // error この記述はエラーとなる #version 300 es precision highp float; precision highp sampler2d floatmap; precision lowp sampler3d cubemap; Fragment shader について float については以前から精度指定が必要だったが GLSL ES 3.0 から sampler に対しても精度指定が必要 Copyright Khronos Group 2012 Page 18

テクスチャ機能の拡張 32 枚のテクスチャサポート (16V + 16F) テクスチャサイズ 2のべき乗制限の撤廃 豊富な内部フォーマット 1 成分, 2 成分テクスチャのサポート (R, RG) 3Dテクスチャ テクスチャアレイの標準サポート シャドウ比較付きデプステクスチャ Copyright Khronos Group 2012 Page 19

描画関連 プリミティブリスタート - 複数トライアングルストリップを 1 つのコマンドで描画 インスタントレンダリング - オブジェクトのコピーを 1 つのコマンドで複数描画 トランスフォームフィードバック - ジオメトリ変換後のデータをバッファに出力可能 Copyright Khronos Group 2012 Page 20

レンダリング関連 4 つまで複数レンダーターゲットをサポート - ディファードレンダリングに適用可能 マルチサンプル フレームバッファオブジェクト - テクスチャに対するアンチエイリアスレンダリング オクルージョンクエリ - Visible なピクセルがターゲットのオブジェクトで書かれたかの情報が格納されるクエリ - 投入不要なオブジェクトを判定するために使用 Copyright Khronos Group 2012 Page 21

OpenGL OpenGL ES 共通拡張 KHR 拡張タグ - OpenGL 及び OpenGL ES のワーキングループが一緒に設計 承認した拡張 KHR_debug - 4 つの ARB デバグ拡張を合わせたもの - コールバックまたはログ経由でデバグ情報を出力 - オブジェクト イベントに関連するメッセージを示すラベル マーカー ARB_robustness_isolation - GPU をリセットする必要があった場合 他のアプリケーションに影響しないことを要求する拡張 Copyright Khronos Group 2012 Page 22

テクスチャ圧縮 テクスチャ圧縮を有効的に使うことで 使用リソースを削減 - アプリサイズを小さくすることで ネットワークのバンド幅 プログラム自体のメモリフットプリントの削減 - GPU からメインメモリへのメモリアクセス量を削減 開発者はどの環境でもおなじテクスチャ圧縮フォーマットを使いたい - もし共通フォーマットがないと 例えば WebGL アプリで複数のテクスチャフォーマットを持つ必要がある - マルチプラットフォーム向け開発では最大の懸念事項になりつつある - α 付き 1,2bit/pixel の圧縮フォーマットの要望も大きい Khronos ではこの問題の積極的な解決を推進 - ETC2/EAC は OpenGL ES 3.0 と OpenGL 4.3 で必須サポート - ASTC フォーマットのサポートを拡張フォーマットとしてリリース Copyright Khronos Group 2012 Page 23

ETC2 / EAC テクスチャ圧縮 OpenGL と OpenGL ES で必須の拡張 - モバイル デスクトップの両方でサポート RGB 向け圧縮 ETC2-4bpp, 3 成分 - Linear/sRGB 色空間のサポート R/RG 成分向け圧縮 EAC - 4-bpp, 1 成分 - 8-bpp, 2 成分 これらを組み合わせ RGBA フォーマットをサポート - 8-bpp, 4-channel 画像品質の改善を実施 (ETC ETC2) - Thanks, Ericsson! original S3TC ETC2 Copyright Khronos Group 2012 Page 24

ASTC テクスチャ圧縮 Adaptive Scalable Texture Compression (ASTC) - 同ビットレートで S3TC, PVRTC よりも高画質 フレキシブルな圧縮レート フォーマットサポート - 1 から 4 色成分フォーマット : R / RG / RGB / RGBA - ビットレート : 8 bpp から <1 bpp を細かいステップで定義可能 ASTC はロイヤリティフリーで提供 - 拡張として提供することで業界からフォードバックを受けながら改善を行っていく - Original 24bpp ASTC Compression 8bpp 3.56bpp 2bpp Copyright Khronos Group 2012 Page 25

ASTC と PVRTC の比較 LDR 拡張と現在提供 - HDR 拡張は開発中 Block Size Bits Per Pixel Comp. Ratio ORIGINAL IMAGE 4x4 8.00 4:1 5x4 6.40 5:1 5x5 5.12 6.25:1 6x5 4.27 7.5:1 6x6 3.56 9:1 8x5 3.20 10:1 8x6 2.67 12:1 COMPRESSED WITH PVRTC 2BPP 10x5 2.56 12.5:1 10x6 2.13 15:1 8x8 2.00 16:1 10x8 1.60 20:1 10x10 1.28 25:1 12x10 1.07 30:1 12x12 0.89 36:1 COMPRESSED WITH ASTC 2BPP Copyright Khronos Group 2012 Page 26

OpenGL ES 3.0 で出来る表現 シャドウサンプリング機能付きデプステクスチャをつかうことでセルフシャドウの実現 2D テクスチャアレイを用い マルチレイヤな地面を表現 RGB10_A2 フィーマットでの render-to-texture による HDR レンダリングとトーンマッピング ETC2 / EAC テクスチャ圧縮を適用し 描画性能の改善 Content: ARM Timbuktu 2 tech demo Copyright Khronos Group 2012 Page 27

Kishonti GLBenchmark 3.0 ライトのビジビリティを決めるためにオクルージョンクエリを使用 車 パーティクル描画にインスタントレンダリングによるコピーを使用 マルチレンダターゲットを用い ディファードレンダリングの実施及びデプステクスチャの使用 Kishonti GLBenchmark 3.0 preliminary Copyright Khronos Group 2012 Page 28

OpenGL 20 周年 2012 Digital Media Professionals Inc. All rights reserved. Page 29

OpenGL の 20 年 - Then and Now Ideas in Motion - SGI Rage -id Software 1992 Reality Engine 8 Geometry Engines 4 Raster Manager boards 2012 Mobile NVIDIA Tegra 3 Nexus 7 Android Tablet 2012 PC NVIDIA GeForce GTX 680 Kepler GK104 Triangles / sec (millions) 1 103 (x103) 1800 (x1800) Pixel Fragments / sec (millions) 240 1040 (x4.3) 14,400 (x60) GigaFLOPS 0.64 15.6 (x25) 3090 (x4830) 1.5KW <5W Copyright Khronos Group 2012 Page 30

OpenGL によるイノベーションの歴史 Bringing state-of-theart functionality to cross-platform graphics OpenGL 4.3 OpenGL OpenGL 4.2 4.1 OpenGL 3.3/4.0 OpenGL 3.2 OpenGL 2.0 OpenGL 2.1 OpenGL 3.0 OpenGL 3.1 2004 2005 2006 2007 2008 2009 2010 2011 2012 DirectX 9.0c DirectX 10.0 DirectX 10.1 DirectX 11 DirectX 11.1 Copyright Khronos Group 2012 Page 31

OpenGL 4.3 で新しくなったこと texture functionality - ARB_texture_view - ARB_internalformat_query2 - ARB_copy_image - ARB_texture_buffer_range - ARB_stencil_texturing - ARB_texture_storage_multisample buffer functionality - ARB_shader_storage_buffer_object - ARB_invalidate_subdata - ARB_clear_buffer_object - ARB_vertex_attrib_binding - ARB_robust_buffer_access_behavior 4.3 Copyright Khronos Group, 2010 - Page 32

OpenGL 4.3 で新しくなったこと pipeline functionality - ARB_compute_shader - ARB_multi_draw_indirect - KHR_debug - ARB_program_interface_query - ARB_ES3_compatibility extensions - KHR_texture_compression_astc_ldr - ARB_robustness_isolation GLSL 4.3 functionality - ARB_shader_image_size - ARB_explicit_uniform_location - ARB_texture_query_levels - ARB_arrays_of_arrays - ARB_fragment_layer_viewport 4.3 Copyright Khronos Group, 2010 - Page 33

OpenGL 4.3 パイプライン From Application From Application Element Array Buffer b Vertex Puller Dispatch Indirect Buffer b Dispatch Draw Indirect Buffer b Vertex Buffer Object b Vertex Shader Tessellation Control Shader Image Load / Store t/b Atomic Counter b Compute Shader Tessellation Primitive Gen. Shader Storage b Tessellation Eval. Shader Geometry Shader Texture Fetch t/b Transform Feedback Buffer b Transform Feedback Uniform Block b Legend Rasterization From Application Fixed Function Stage Programmable Stage Fragment Shader Pixel Assembly Pixel Unpack Buffer b b Buffer Binding Per-Fragment Operations Pixel Operations Texture Image t t Texture Binding Arrows indicate data flow Framebuffer Pixel Pack Pixel Pack Buffer b Copyright Khronos Group, 2010 - Page 34

コンピュート シェーダ (Compute shader) GLSL シェーダを一般アルゴリズム実行に使用 - バッファ イメージ テクスチャをデータの入出力に使用 グラフィックスパイプライン上でグラフィックスデータを処理 - ピクセルに近いところでの処理をするのであれば compute API を使うより簡単に実装できるはず OpenCL を補完 - 完全に ANSI C ベースヘテロジニアスプログラミングのフレームワークをサポートするわけではない OpenGL 4.3 標準内でサポート - 機能セットしては DirectX 11 に近い Image processing AI Simulation Ray Tracing Wave Simulation Global Illumination Copyright Khronos Group, 2010 - Page 35

仕様書の改善 シェーダ バッファセントリックな章立てに変更 - 固定機能については代替機能として記述 ハイレベルなコンセプト オブジェクトを紹介 - 章立てのはじめの方で登場 コマンド向けエラーリストのサマリー 言語の重複を削除 フレーズ 用語の一貫性 章番号をコアと互換プロファイルの間で合致させる Copyright Khronos Group, 2010 - Page 36

OpenGL アップデートまとめ OpenGL 4.3 のリリース - Compute shaders - Advanced buffer management - Advanced texture management - Advanced GPU work creation OpenGL の展開 - WebGL - Mobile platforms - Linux OpenGL の 20 周年 Copyright Khronos Group, 2010 - Page 37

Thank you! 2012 Digital Media Professionals Inc. All rights reserved. Page 38