SlideShare a Scribd company logo
1 of 12
Vertex Texture Fetchの
活用について
株式会社Aiming
ソフトウェアエンジニア
山納 一生
目次
1. OpenGL ES 3.0
2. Vertex Texture Fetch
3. インタラクティブな草揺れ
OpenGL と Open GL ES
• OpenGL (Open Graphics Library)
• OpenGL ES (OpenGL for Embedded Systems)
OpenGL ES 3.0 とは
• OpenGL ES 1.0 / 1.1
• OpenGL ES 2.0
• OpenGL ES 3.0
• OpenGL ES 3.1
• OpenGL ES 3.2
GLSL ES 3.0
• HLSL Shader Model 4.0 くらい
– Geometry Shader は OpenGL ES 3.2 で追加
– MRT
– VertexID / InstanceID
– 補間レジスタ数が16に増加
– 他にも多くの変更点
Vertex Texture Fetch (VTF)
• Vertex Shader で Texture が読める
– VertexColorは?
• 動的に変更しにくい
• 複数の値を扱いにくい
Displacement Mapping
• VS にできて FS にできないことは?
– 頂点座標の変形
• テクスチャを重みとして、法線方向にオフセット
– ポリゴン数が少ないと厳しい
• テッセレーションを使う
• 事前に割っておく
Displacement Mapping
Normal MappingDisplacement Mapping
インタラクティブな草揺れ
• 毎フレームテクスチャにデータを格納してやる
– 詳しくはサンプルを見つつ
インタラクティブな草揺れ
インタラクティブな草揺れ
揺れ方向マップ
インタラクティブな草揺れ
• カメラスペースで揺れ方向マップを生成
– ワールド座標での草揺れ方向を格納
– 毎フレーム減衰させていく
• サンプルは各草の中心点
– 頂点ごとに方向がバラつかないようにする
– BatchingさせるときはUVにローカル座標を格納

More Related Content

Viewers also liked

Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準Takahiro Hozumi
 
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"Ryo Suzuki
 
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成(shibao)芝尾 (kouichiro)幸一郎
 
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Ryo Suzuki
 
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Ryo Suzuki
 
剣と魔法のログレスーMmoの継続的な改善と運用
剣と魔法のログレスーMmoの継続的な改善と運用剣と魔法のログレスーMmoの継続的な改善と運用
剣と魔法のログレスーMmoの継続的な改善と運用Satoshi Yamafuji
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
これまでのオンラインゲーム、これからのオンラインゲーム
これまでのオンラインゲーム、これからのオンラインゲームこれまでのオンラインゲーム、これからのオンラインゲーム
これまでのオンラインゲーム、これからのオンラインゲームTakahiro Hozumi
 
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題AimingStudy
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策gree_tech
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
社内勉強会で読んだ本とか
社内勉強会で読んだ本とか社内勉強会で読んだ本とか
社内勉強会で読んだ本とかShinsuke Kuroki
 
良くわかるMeta
良くわかるMeta良くわかるMeta
良くわかるMetadaichi horio
 

Viewers also liked (15)

Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準
 
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
 
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
 
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回
 
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発
 
剣と魔法のログレスーMmoの継続的な改善と運用
剣と魔法のログレスーMmoの継続的な改善と運用剣と魔法のログレスーMmoの継続的な改善と運用
剣と魔法のログレスーMmoの継続的な改善と運用
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
これまでのオンラインゲーム、これからのオンラインゲーム
これまでのオンラインゲーム、これからのオンラインゲームこれまでのオンラインゲーム、これからのオンラインゲーム
これまでのオンラインゲーム、これからのオンラインゲーム
 
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
社内勉強会で読んだ本とか
社内勉強会で読んだ本とか社内勉強会で読んだ本とか
社内勉強会で読んだ本とか
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
良くわかるMeta
良くわかるMeta良くわかるMeta
良くわかるMeta
 

VertexTextureFetchの活用について

Editor's Notes

  1. Khronos Group が策定しているAPIの仕様