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

PDF
HCCC 「学生作品展示会」校舎を再現したFPSの制作!!!
PDF
2011 LT祭り fpsあるある
PDF
第33回 U-20プログラミング・コンテスト 「USB Lock」
PDF
薄型テレビの店頭調査レポート−インド南部バンガロール
PDF
2011 lt祭り fpsあるある+
ODP
Password security 2
PPTX
Cc dx lib72-p
PPTX
TOSHIBAxGUGEN FlashAirハッカソン-FlashAirでなに作る?
HCCC 「学生作品展示会」校舎を再現したFPSの制作!!!
2011 LT祭り fpsあるある
第33回 U-20プログラミング・コンテスト 「USB Lock」
薄型テレビの店頭調査レポート−インド南部バンガロール
2011 lt祭り fpsあるある+
Password security 2
Cc dx lib72-p
TOSHIBAxGUGEN FlashAirハッカソン-FlashAirでなに作る?

Similar to WebGL (20)

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

More from Takenori Nakagawa (20)

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

WebGL