Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takashi Komada
PPTX, PDF
4,253 views
OpenGL ES2.0 一問一答
Introduction to OpenGL ES2.0 from new view. OpenGL ES2.0の新しい切り口からの入門です。
Technology
◦
Read more
7
Save
Share
Embed
Embed presentation
Download
Downloaded 16 times
1
/ 24
2
/ 24
3
/ 24
4
/ 24
5
/ 24
6
/ 24
7
/ 24
8
/ 24
9
/ 24
10
/ 24
11
/ 24
12
/ 24
13
/ 24
14
/ 24
15
/ 24
16
/ 24
17
/ 24
18
/ 24
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
More Related Content
PDF
ゆるロボ製作所開発事例 – ドローコール削減
by
Mikito Yoshiya
PPTX
ゲーム開発とデザインパターン
by
Takashi Komada
PDF
関数型プログラミング入門 for Matlab ユーザー
by
Ichiro Maruta
PPTX
ゲーム開発とMVC
by
Takashi Komada
PPTX
ゲームオブジェクトの管理
by
Shota Homma
PPTX
本当のオブジェクト指向は可読性を上げる
by
Wataru Terada
PDF
オブジェクト指向エクササイズのススメ
by
Yoji Kanno
PDF
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
by
Yoshifumi Kawai
ゆるロボ製作所開発事例 – ドローコール削減
by
Mikito Yoshiya
ゲーム開発とデザインパターン
by
Takashi Komada
関数型プログラミング入門 for Matlab ユーザー
by
Ichiro Maruta
ゲーム開発とMVC
by
Takashi Komada
ゲームオブジェクトの管理
by
Shota Homma
本当のオブジェクト指向は可読性を上げる
by
Wataru Terada
オブジェクト指向エクササイズのススメ
by
Yoji Kanno
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
by
Yoshifumi Kawai
Viewers also liked
PDF
オブジェクト指向の設計と実装の学び方のコツ
by
増田 亨
PDF
デキるプログラマだけが知っているコードレビュー7つの秘訣
by
Masahiro Nishimi
PDF
ドメイン駆動設計のためのオブジェクト指向入門
by
増田 亨
KEY
やはりお前らのMVCは間違っている
by
Koichi Tanaka
PPTX
OpenGLと行列
by
miyosuda
PPTX
OpenGLと行列
by
miyosuda
オブジェクト指向の設計と実装の学び方のコツ
by
増田 亨
デキるプログラマだけが知っているコードレビュー7つの秘訣
by
Masahiro Nishimi
ドメイン駆動設計のためのオブジェクト指向入門
by
増田 亨
やはりお前らのMVCは間違っている
by
Koichi Tanaka
OpenGLと行列
by
miyosuda
OpenGLと行列
by
miyosuda
Similar to OpenGL ES2.0 一問一答
PDF
JavaScriptでCGを扱う WebGL紹介
by
Isao Ebisujima
KEY
SurfaceTextureとシェーダを使って遊んでみる
by
Tatsuya Matsumoto
PDF
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
by
Drecom Co., Ltd.
PDF
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
by
Hiroshi Yoshida
PDF
シリコンスタジオの最新テクノロジーデモ技術解説
by
Silicon Studio Corporation
PDF
2015年度GPGPU実践基礎工学 第9回 GPUのアーキテクチャ
by
智啓 出川
PDF
Android OpenGL HandsOn
by
Ikuo Tansho
PDF
【Unite Tokyo 2019】2DアーティストのためのGPU入門
by
UnityTechnologiesJapan002
PDF
Hello, DirectCompute
by
dasyprocta
PDF
IbisPaintのOpenGLES2.0
by
Eiji Kamiya
PDF
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
by
Atsushi Tadokoro
PDF
2015年度GPGPU実践プログラミング 第2回 GPUのアーキテクチャとプログラム構造
by
智啓 出川
PDF
Cuda
by
Shumpei Hozumi
PDF
OSC 2012 Hokkaido でのプレゼン資料
by
Shin-ya Koga
PPTX
Delphi で超高速 OpenGL 2D/3D 描画
by
LUXOPHIA institute
PDF
簡単!OpenGL ES 2.0フラグメントシェーダー
by
Eiji Kamiya
PDF
OpenGL ES Introduction
by
Daiki Ijima
PDF
Web GLの話
by
Norihito YAMAKAWA
PDF
WWDC 2015 情報共有会
by
大介 束田
KEY
シェーダーしよっ☆ Let's play shaders!
by
Yuichi Higuchi
JavaScriptでCGを扱う WebGL紹介
by
Isao Ebisujima
SurfaceTextureとシェーダを使って遊んでみる
by
Tatsuya Matsumoto
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
by
Drecom Co., Ltd.
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
by
Hiroshi Yoshida
シリコンスタジオの最新テクノロジーデモ技術解説
by
Silicon Studio Corporation
2015年度GPGPU実践基礎工学 第9回 GPUのアーキテクチャ
by
智啓 出川
Android OpenGL HandsOn
by
Ikuo Tansho
【Unite Tokyo 2019】2DアーティストのためのGPU入門
by
UnityTechnologiesJapan002
Hello, DirectCompute
by
dasyprocta
IbisPaintのOpenGLES2.0
by
Eiji Kamiya
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
by
Atsushi Tadokoro
2015年度GPGPU実践プログラミング 第2回 GPUのアーキテクチャとプログラム構造
by
智啓 出川
Cuda
by
Shumpei Hozumi
OSC 2012 Hokkaido でのプレゼン資料
by
Shin-ya Koga
Delphi で超高速 OpenGL 2D/3D 描画
by
LUXOPHIA institute
簡単!OpenGL ES 2.0フラグメントシェーダー
by
Eiji Kamiya
OpenGL ES Introduction
by
Daiki Ijima
Web GLの話
by
Norihito YAMAKAWA
WWDC 2015 情報共有会
by
大介 束田
シェーダーしよっ☆ Let's play shaders!
by
Yuichi Higuchi
Recently uploaded
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
OpenGL ES2.0 一問一答
1.
OpenGL ES2.0 一問一答 もんぐり
2.
最初に ・私はOpenGLや3Dグラフィックスについてはまだまだ勉強中です。 誤った言葉づかいや間違った説明をしたときは優しく優しくご指摘ください。 ・私よりも詳しい方は社内におられると思います。私はグラフィックス関連 の技術や理論が大好きなので是非ご指導ご鞭撻いただきたく。 ・この分野が好きな人は一緒に何かして遊びましょう
3.
OpenGLとは? 「標準化団体Khronosグループが策定しているグラフィックスハードウェア 用のAPI。2次元・3次元コンピュータグラフィックス両方が扱える。」 ・仕様がオープン。 ・APIを実装するのはGPUのベンダー。 ・OpenGL ESは、組み込み機器向けのサブセット。 ・cocos2d-xやUnityは、iOSとAndroidではOpenGL ES2.0を使用している。
4.
ここでいうグラフィックスハードウェアとは? ディスプレイ描画や画像処理や3D処理を担当するハードウェア。 GPU、VRAMなどで構成される。 ・PCのグラフィックスハードウェア 価格や用途により複数パターンあり -ビデオカード(グラフィックカード)としてマザーボードと独立 -オンボードとしてマザーボードに一体化 -VRAMやGPU自体が独立して存在せずメインメモリやCPUと一体型 ・スマホのグラフィックスハードウェア -GPUはCPUと別だがVRAMがメインメモリと物理的に一体というケース が多い。
5.
「Graphics Processing Unit(グラフィックス
プロセッシング ユニット、略してGPU)とは、パー ソナルコンピュータやワークステーション等の画像処理を担当する主要な部品のひとつ。 現在の高機能GPUは高速のVRAMと接続され、グラフィックスシェーディングに特化した演算器を複 数搭載するマイクロプロセッサとなっている。」 GPUとCPUの関係はサーバとクライアント、 GPUはCPUに画像処理を委託され、従属して動作する。 OpenGLはGPU制御用のAPIと考えて良い。 GPUとは? CPU GPU メイン メモリ VRAM兼用 ディス プレイ
6.
iPhone5SのプロセッサA7の画像 CPU:デュアルコア1.3GHz ARMv8、GPU:PowerVRG6430 ※画像出典 EE TimesJapan 「iPhone
5sのプロセッサ「A7」 を解析」
7.
GPUとCPUの違いって? CPU GPU コア数 一、二桁(2コア)
三、四桁(100程度) できること 豊富 浮動小数点ベクトル演算くらい ()内はA7の例 GPUは3Dモデルや画像データ(どちらも浮動小数点ベクトルデータ)の大量 並列演算に特化している
8.
GPUって本当に必要なのか? ゲームをすべてCPUで処理するとどうなるか ・全頂点の位置計算 例:社内製スマホ3Dゲームのキャラクター3Dモデル 一体、3000〜5000頂点 ・画面の全ピクセルでのブレンドやz座標を考慮した表示色の計算 例:iPhone4S 640×960 = 65万ピクセル 60FPS=0.016秒以内でこれらの浮動小数点数ベクトルのデータをつぎつぎに 扱う 大量並列演算のできる専用のハードウェアを使わないと負荷が大きい
9.
スマホのGPUは? Tegraシリーズ(NVIDIA) Nexus7など Maliシリーズ(ARM) Galaxy S3αなど Adrenoシリーズ(Qualcomm) Nexus5など PowerVRシリーズ(Imagination Technolygies) Galaxy
Nexus、iOS端末一般など ※cocos2d-xでは起動時にGPUのプロファイルをログ出力するよ! ※PCではGPU市場はNVIDIAとAMDの寡占状態
10.
OpenGL ES2.0で何ができるのか? ・点、線、三角形を描画する ・テクスチャをはりつける 他にもいろいろあるが、主要な機能はこんなもの。低レベルなAPI。 低レベルAPIだからこそハードウェアの性能を引き出せるし、カスタマイズが きく → ハイエンドだったりリアルタイムなグラフィックスレンダリング向き (OSの用意した高レベルグラフィックスAPIやウィンドウシステムは遅く、 カスタマイズに制限がある)
11.
OpenGL以外のGPU用APIは? ・DirectX(Direct3D) MicrosoftのAPI ・Metal iOS8と同時に発表されたiOSデバイス専用の薄いAPI ・GPUベンダーの自社製品用に開発されたAPI CUDA(NVIDIA)、Mantle(AMD)など
12.
OpenGL ES2.0の描画の手順って? 最終的に、ディスプレイに表示するピクセルデータ(フレームバッファ)を 用意すればよい。 ①フレームバッファのクリア ②3Dモデルごとにレンダリングパイプラインを実行してフレームバッファに 描画していき、最終的画面描画を完成させる ③フレームバッファのディスプレイへの反映 ※これはOpenGL ES2.0の仕事ではなく、OSのAPIを用いる 上記を毎フレーム行う。2Dの場合もz座標がないだけで流れは同じ。 ※厳密にはフレームバッファを直接ディスプレイには反映しない(ダブルバ ッファリング)
13.
レンダリングパイプラインとは? グラフィックスハードウェアの中で起こっている処理とデータの流れのこと ※1と2はCPU処理 ※画像出典 マイナビニュース 「3Dグラフィックス・マニアッ クス」
14.
OpenGL ES2.0のAPIにはどんなのがある? 頂点配列の設定 glVertexAttribPointer テクスチャの設定
glBindTexture 使用するシェーダプログラムの設定 glUseProgram フレームバッファへの描画の実行(ドローコール) glDrawXxx ドローコールによって、設定した各種データを用いてレンダリングパイプラ インが実行される
15.
シェーダとは? レンダリングパイプラインにおいて、頂点単位の処理、ピクセル単位の処理 をカスタマイズするためのプログラムのこと。 (元は名前どおり陰影処理から来ているが、それ以外のいろいろな表現用途 に使うことができる) OpenGL ES2ではバーテックスシェーダとフラグメントシェーダの2箇所でパ イプライン処理をカスタマイズ可能 ※OpenGL ES1系では、この部分がAPIで指示できる範囲の決め打ちの処理に なっており、カスタマイズ不能だった
16.
バーテックスシェーダとは? 頂点パイプラインで実行するシェーダ → バーテックスシェーダ GPUの複数コアで頂点単位で並列実行
17.
フラグメントシェーダとは? ピクセルパイプラインで行うシェーダ → フラグメントシェーダ(ピクセルシェーダ) GPUの複数コアでピクセル単位で並列実行
18.
バーテックスシェーダとは?2 例:cocos2d-x attribute vec4 a_position; attribute
vec2 a_texCoord; attribute vec4 a_color; varying lowp vec4 v_fragmentColor; varying mediump vec2 v_texCoord; void main() { gl_Position = CC_MVPMatrix * a_position; v_fragmentColor = a_color; v_texCoord = a_texCoord; } cocos2d-xで一番良く使われるバーテックスシェーダ。 座標変換行列で画面上の頂点位置計算、頂点色とテクスチャのUV座標のフラグメントシェーダへ の受け渡しをしている。 各3Dモデルの頂点の数だけ実行される。 ※レンダリングパイプラインのES1系でのデフォルトの処理をしているのと変わらない
19.
バーテックスシェーダとは?3 例:フラットシェーディング、グーローシェーディング 両者、ライティング(光の陰影計算)の技法で、法線と光の方向をバーテッ クシェーダーに与えて表面色への係数を計算する ・フラットシェーディング ポリゴンごとに一意な法線ベクトルを持たせる ・グーローシェーディング 頂点ごとに法線ベクトルを持たせる。フラットシェーディングの発 展。 ※画像出典 マイナビニュース 「3Dグラフィックス・マニ アックス」など
20.
フラグメントシェーダとは?2 例:cocos2d-x varying vec4 v_fragmentColor; varying
vec2 v_texCoord; void main() { gl_FragColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord); } cocos2d-xで一番良く使われるフラグメントシェーダ。 バーテックスシェーダから与えられたテクスチャのUV座標を使ってテクスチャから取り出したテ クセルに、やはり与えられた頂点色(ラスタライズによって補間)を乗算しているだけ。 各3Dモデルのポリゴンのピクセルごとに実行される。 ※レンダリングパイプラインのES1系でのデフォルトの処理をしているのと変わらない
21.
フラグメントシェーダとは?3 例:バンプマッピング ライティング(光の陰影計算)の技法で、RGBAベクトルでなく法線ベクトル をピクセルごとに定義したテクスチャをフラグメントシェーダに与え、ピク セルごとに表面色を計算する
22.
デザイナのためにシェーダを作成する必要があ るのか? シェーダは表現に関わる部分なのでデザイナに調整させたい。 →最近のゲームエンジンではシェーダ作成をGUIツール化してデザイナに提供 している。 ・用意されたシェーダにパラメータを調整するもの ・処理をノードベースの操作で組み立てるもの
23.
スマホにおけるOpenGLESの最適化手法は? 3Dにも2Dにも適用できる手段で定番のものを3つ。 ①描画する頂点やテクスチャの容量を減らす ②ドローコールの数を減らす。 ③バーテックスバッファなどのVRAMバッファを使用する。 ②について なるべく一回のドローコールで多くのポリゴンを描画する。 定番の手法はテクスチャアトラス(スプライトシート)。 3Dではマテリアルの切り替えを頻繁に行わないようなモデル作りを意識する と良い。 2Dではノードツリートラバースでテクスチャの切り替えが多くならないよう なツリー構成を意識すると良い。
24.
おまけ: シェーダ同好会的なのを作りたいなー 作ったシェーダを自慢するだけとか 3Dグラフィックスやゲームの基幹技術が好きな人と遊べる場を何らかの形で 用意できればいいなと思っています。
Editor's Notes
#2
駒田はGPUやOpenGLについては専門家ではありません。勉強をはじめたのはここ1、2年です。指摘歓迎します。 また、かなり基礎的な内容からはじめるので既に知ってる方すみません
#5
グラボの写真を貼ろう CPUとGPUの関係図を貼るのが一番速い気がする。 ★★論理的に別?というのは本当?
#6
グラボの写真を貼ろう CPUとGPUの関係図を貼るのが一番速い気がする。 ★★論理的に別?というのは本当?
#8
これは表にまとめる
#9
簡単に言うと、GPUはCGに特化した単純な命令しか実行できないし1コアの速度が遅いが大量並列計算により高速。 CPUは汎用な命令に対応して高速だがコア数が少ない。
#10
グラボの写真を貼ろう CPUとGPUの関係図を貼るのが一番速い気がする。 ★★論理的に別?というのは本当?
#11
各コマンド(API)はかなりの低レベルである
#12
DirectXはゲームのフレームワーク、OpenGLにあたるのはDirect3D。 MetalはiOS8と同時に発表されたiOS端末用のAPI。 下2つはハードウェアに特化している分、薄くて速い。
#13
ここは図を使って複数ページに分けよう
#14
ここは図を使って複数ページに分けよう
#15
ここは図を使って複数ページに分けよう
#16
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#17
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#18
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#19
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#20
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#21
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#22
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#23
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#24
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
#25
固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。 ES2.0
Download