SlideShare a Scribd company logo
1 of 17
Download to read offline
3D 描画 API
大江ゼミ3年 中川武憲
Agenda
・3D 描画 API とは
・DirectX
・OpenGL
・WebGL
・OpenCV
・描画の仕組み
・WebGL 入門
・デモ
3D 描画 API とは
3D 描画 API
仮想 3 次元空間上に描画するためのグラフィックス
ハードウェア API (ライブラリ)である。
DirectX や OpenGL がある。
これらを利用することで、開発者は抽象化された API
を利用して、ハードウェアの差異を気にすること無く
プログラムを組むことに専念できる。
DirectX
米 Microsoft 社が開発しているマルチメディア処理
用のライブラリである。
3D グラフィックスだけでなく、オーディオやマウ
ス・キーボード・ゲームパッドからの入力など、
一通りのマルチメディア処理機能を備えている。
しかし、 Windows と Xbox でしか利用できない。
OpenGL
クロスプラットフォームに対応した 3D グラフィックス処理用の
API。
仕様が公開され、誰でも自由に利用することが出来る。
DirectX と違い、 3D グラフィックス処理の機能しか備えていない。
オーディオは OpenAL といった別のライブラリを使う必要がある。
OpenGL ES といった組み込みシステム向けのサブセットが存在して
おり、 Android や iOS、 ニンテンドー3DS などに採用されている。
WebGL
OpenGL 2.0 若しくは OpenGL ES 2.0 をサポート
するプラットフォーム上で利用できる 3D グラ
フィックスのための標準仕様。
Flash Player や Silverlight といった特別なプラグイ
ンを利用すること無くハードウェア・アクセラレー
トされた 3 D グラフィックスの描画を可能とする。
OpenCV
オープンソースの画像処理用のライブラリ。
動画処理も可能でクロスプラットフォーム対応。
行列演算、フィルター処理、特徴抽出、オブジェ
クト検出、オブジェクトトラッキング、カメラキャ
リブレーション、機械学習、パノラマ合成などの
機能を備える。
WebGL 入門
WebGL 入門
WebGL は JavaScript と OpenGL ES 2.0 のバ
インディングであり、 JavaScript で描画命令
を記述し、 HTML の canvas 要素に描画する
ことが出来る。
WebGL 入門
ちなみに、ブラウザ上でオーディオを扱う場合は
WebAudio API を用いる。
左右の音を自在に操作することや、複数の音のミッ
クス、任意のエフェクターの設定など高度な API
が用意されている。
WebGL 入門
canvas 要素の取得
↓
WebGL Context の取得
↓
初期化処理
↓
Shader の読み込み (GLSL ES 3.0 に準拠)
↓
Shader プログラムの生成
↓
attribute, uniform 変数のバインディング
↓
描画
シェーディング
3D グラフィックスにおいて、光源とオブ
ジェクトの形状をもとに陰影を付ける事を
シェーディングと言う。
シェーディング言語
シェーディングを行うことに特化し、抽象化さ
れた言語。
OpenGL では
GLSL (OpenGL Shading Language) を用いる。
WebGL では GLSL ES 3.0 が使える。
シェーダ
Fragment Shader: ピクセル情報の操作
- 色情報
Vertex Shader: 頂点情報の操作
- 頂点の位置情報
進
http://www.amazon.co.jp/dp/4832244140
参考資料
・Getting started with WebGL - WebGL | MDN
https://developer.mozilla.org/ja/docs/Web/WebGL/
Getting_started_with_WebGL
・Learning WebGLで学ぶWebGL入門
http://www.slideshare.net/nakamura001/learning-webgl-
webgl
・[連載]やってみれば超簡単! WebGL と GLSL で始める、
はじめてのシェーダコーディング(1) - Qiita
http://qiita.com/doxas/items/b8221e92a2bfdc6fc211

More Related Content

Similar to WebGL

devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチdevsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
Kaoru NAKAMURA
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
 

Similar to WebGL (20)

Cerebro for VFX / Animation Japan
Cerebro for VFX / Animation JapanCerebro for VFX / Animation Japan
Cerebro for VFX / Animation Japan
 
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチdevsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
 
JavaScriptでCGを扱う WebGL紹介
JavaScriptでCGを扱う WebGL紹介JavaScriptでCGを扱う WebGL紹介
JavaScriptでCGを扱う WebGL紹介
 
MixedRealityGraphicsTools KumamotoHLMeetup
MixedRealityGraphicsTools KumamotoHLMeetupMixedRealityGraphicsTools KumamotoHLMeetup
MixedRealityGraphicsTools KumamotoHLMeetup
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
ScratchとAzure FunctionsのBlocklyな関係
ScratchとAzure FunctionsのBlocklyな関係ScratchとAzure FunctionsのBlocklyな関係
ScratchとAzure FunctionsのBlocklyな関係
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
Microsoft Edge概要 物江氏
Microsoft Edge概要 物江氏Microsoft Edge概要 物江氏
Microsoft Edge概要 物江氏
 
HoloLensとWindows Mixed Reality が実現する新しい世界
HoloLensとWindows Mixed Reality が実現する新しい世界HoloLensとWindows Mixed Reality が実現する新しい世界
HoloLensとWindows Mixed Reality が実現する新しい世界
 
OpenGL ES Introduction
OpenGL ES IntroductionOpenGL ES Introduction
OpenGL ES Introduction
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
 
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.13Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
 
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.
 
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座
 
知覚動考、とりあえずShaderを書いてみる
知覚動考、とりあえずShaderを書いてみる知覚動考、とりあえずShaderを書いてみる
知覚動考、とりあえずShaderを書いてみる
 
クラウドを使ったデザイン データ活用 - Autodesk Forge ご紹介 @ デブサミ 2016
クラウドを使ったデザイン データ活用 - Autodesk Forge ご紹介 @ デブサミ 2016クラウドを使ったデザイン データ活用 - Autodesk Forge ご紹介 @ デブサミ 2016
クラウドを使ったデザイン データ活用 - Autodesk Forge ご紹介 @ デブサミ 2016
 
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろうVisual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
 
GTC 2019 NVIDIA NEWS
GTC 2019 NVIDIA NEWSGTC 2019 NVIDIA NEWS
GTC 2019 NVIDIA NEWS
 

More from Takenori Nakagawa

More from Takenori Nakagawa (20)

TensorFlow 入門
TensorFlow 入門TensorFlow 入門
TensorFlow 入門
 
機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法
 
Docker で Deep Learning
Docker で Deep LearningDocker で Deep Learning
Docker で Deep Learning
 
GitHub Travis-CI Go!
GitHub Travis-CI  Go!GitHub Travis-CI  Go!
GitHub Travis-CI Go!
 
01.app
01.app01.app
01.app
 
Service Workers Push API Hands-on
Service Workers Push API Hands-onService Workers Push API Hands-on
Service Workers Push API Hands-on
 
Service Workers
Service WorkersService Workers
Service Workers
 
OpenGL 3DCG
OpenGL 3DCGOpenGL 3DCG
OpenGL 3DCG
 
01:artificial life
01:artificial life01:artificial life
01:artificial life
 
後期05
後期05後期05
後期05
 
後期03
後期03後期03
後期03
 
後期02
後期02後期02
後期02
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
phpck
phpckphpck
phpck
 
Git 初心者のための GitHub Pages
Git 初心者のための GitHub PagesGit 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
 
OpenIL vol.1
OpenIL vol.1OpenIL vol.1
OpenIL vol.1
 
後期講座08
後期講座08後期講座08
後期講座08
 
後期講座07
後期講座07後期講座07
後期講座07
 
後期講座05
後期講座05後期講座05
後期講座05
 
後期講座03
後期講座03後期講座03
後期講座03
 

Recently uploaded

Recently uploaded (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

WebGL