SlideShare a Scribd company logo
P-MAPブレンド技法
自己紹介
宮部寿保 ナツメアタリ株式会社 名古屋事業所
平成元年入社 プログラマ
コンシューマゲーム開発一筋、20本以上のアクションゲームタイトル
を開発。
代表作「SFC ワイルドガンズ」「PS 北斗の拳世紀末救世主伝説」最
新作「PS4 ゴジラVS」ではグラフィック周り全般のプログラムと
ワークフローの構築を担当。
アジェンダ
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダデモ
• P-MAPテクスチャデモ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
事前乗算アルファおさらい
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダデモ
• P-MAPテクスチャデモ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
事前乗算アルファおさらい
プリマルチプライド(事前乗算)アルファ
 映像業界
 CG業界
 XNA
 Unityの一部のシェーダ Particle/Alpha Blended Premultiply
 DXT2・DXT4
検索事前乗算アルファ
ストレート・事前乗算
ストレートアルファテクスチャ 事前乗算アルファテクスチャ
A
RGB RGB
A
ストレートアルファを使ったブレンド
SrcRGB*SrcA+DstRGB*(1-SrcA)
SrcRGB
DstRGB
SrcA
1-SrcA
事前乗算アルファを使ったブレンド
SrcRGB*SrcA+DstRGB*(1-SrcA)
事前にRGBにアルファを乗算
しておく
SrcRGB
DstRGB 1-SrcA
ブレンドバッファおさらい
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダ
• P-MAPテクスチャ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
ブレンドバッファ
■CEDEC2008
“ 「METAL GEAR SOLID 4」に使われた技術等の紹介”
の中で紹介されている今回の考え方のベース技術。
検索ブレンドバッファ
通常の半透明描画
ブレンドバッファを使った描画
アルファ合成と加算合成を解像度
の違う別のフレームバッファ(ブ
レンドバッファ)に合成しておき
、あとで拡大合成
描画順も問題なし
ブレンドバッファを使った描画
アルファ合成と加算合成を解像度
の違う別のフレームバッファ(ブ
レンドバッファ)に合成しておき
、あとで拡大合成
描画順も問題なし
加算とアルファ合成を
一度に描画している!
SrcRGB+DstRGB*SrcA
事前乗算アルファ合成
SrcRGB + DstRGB * (1 - SrcA)
加算合成
SrcRGB + DstRGB
アルファ合成
SrcRGB * SrcA + DstRGB * (1 - SrcA)
事前乗算アルファは加算も
事前乗算アルファ合成
SrcRGB + DstRGB * (1 - SrcA)
加算合成
SrcRGB + DstRGB
SrcAが0ならば加算と同じ!
事前乗算アルファは加算も
事前乗算アルファ合成
SrcRGB + DstRGB * (1 - SrcA)
アルファ合成
SrcRGB * SrcA + DstRGB * (1 - SrcA)
直前にSrcRGB*SrcAしておけば
アルファ合成と同じ!
事前乗算アルファは加算も
事前乗算アルファ合成
SrcRGB + DstRGB * (1 - SrcA)
加算合成
SrcRGB + DstRGB
アルファ合成
SrcRGB * SrcA + DstRGB * (1 - SrcA)
事前乗算アルファは加算も
どちらの機能も
持つ!
P-MAPとは
今まで
アルファ: SrcRGB*SrcA + DstRGB*(1- SrcA)
加算: SrcRGB*SrcA + DstRGB*1
のようにブレンディング係数を使い分けてました。
これを事前乗算用の式にまとめ、ROPユニット以前に行う計算によっ
てアルファ合成と加算合成を区別せず扱う考え方、
これを「P-MAP」(事前乗算アルファプラス)と呼ぶことにします。
今回のテーマ
「P-MAPシェーダ」
– 「ブレンドバッファ」の合成をシェーダ内で行う。
「P-MAPテクスチャ」
– 「ブレンドバッファ」そのものを事前にテクスチャ
化しておく
P-MAPを使った2つのテクニック
P-MAPシェーダ
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダ
• P-MAPテクスチャ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
DEMO1
加算・アルファ合成両方を含むマルチテクスチャシェーダの例
このデモでは1枚のメッシュを使い4枚のストレートアルファ画像をマルチテクスチャで描画しています。
1.別々にスクロールする2枚の紫の霧
2.星(加算)
3.煙
星(加算)はフレームバッファに対して加算を行うため一般的にはブレンド係数を変えて複数回描画を行
う必要がありますが、 P-MAPを取り入れたシェーダを作れば一度の描画で済ませる事ができます。
※ 描画面積の多いカードゲーム等の表現力向上、ポストエフェクトの描画速度の改善といった場面で役に
立つと思います。
DEMO2
加算合成とアルファ合成、どちらの表現もできる汎用シェーダのデモ
3つ並んだ同じ素材パーティクルは左から順に、
•赤く変調した加算合成 (背景が明るい場所で白飛びしています)
•赤く変調したアルファ合成 (どこでも綺麗赤く見えますが眩しさがあまり感じられません)
•赤く変調したアルファ合成の後、白く加算合成 (中央に白い芯があり、背景が明るくても白飛びしない)
これらは一般的にはブレンド係数を変えて描画することが多いですが、全て同じシェーダで描画できてい
ます。
各マテリアルの"Alp Color(RGBA)"と"Add Color(RGB)"を調整することで複雑な合成が行えます。
※ このようなシェーダがあれば加算とアルファ合成のためにシェーダーを使い分ける必要が無くなります
。
※ 一番右のようなパーティクルを表示しようとすると従来2パス以上かかりますが1パスで複雑な絵が出せ
るようになります。
※ 色違いエフェクト素材を用意する必要が減ります。
※ ストレート画像をそのまま利用できます。
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダ
• P-MAPテクスチャ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
P-MAPテクスチャ
DEMO3
加算・アルファ合成が混在した複数のテクスチャをPMAP_Makerを
使い、 一枚のP-MAPテクスチャにまとめておいてから表示しています
左に表示されているキャラクターは何枚もテクスチャを用意して複数回描画するのが一般的ですが、 実際
には一枚の事前乗算アルファテクスチャを一度で描画できています。
中央のパーティクルでは、爆発パターンの前半に加算のブルームが合成されています。
※ 従来2パス以上かかっていた描画が1パスで出来るようになりました。
※ αムービもこの手法で事前合成すれば加算を含めたムービーが作れます。
DEMO4
P-MAPテクスチャを使ってシーン内のドローコールを減らすデモ
Demo4>Demo4_Straight.unity
こちらが今までの一般的なストレート画像を使ったシーンです。
シーン内で100枚のスプライトが表示されていますが、 加算とアルファ用のマテリアルが混在するため50
回近いドローコールが発生しています。
Demo4>Demo4_PMAP.unity
Demo3と仕組みは同じですがP-MAPテクスチャを使えばテクスチャ領域毎に加算・アルファ合成を指定で
きますので シーン内のマテリアルが一つになり1度のドローコールにまとまりました。 実際にはDemo3よ
りもこのような用途で使われることのほうが多いと思います。
ポストエフェクト最適化事例
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダ
• P-MAPテクスチャ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
1 ブルーム成分を抽出、ガウスぼかしx3
640x360
320x180
160x90
80x45
2ブルーム成分を合成
320x180
320x180
160x90
80x45
3 最終合成
ブルーム:320x180
メイン:1280x720
最終:1280x720
フレア:256x256 レンズ周辺光256x256ノイズ:256x256
最適化1 1/4サイズでもっと合成できた
320x180
320x180
160x90
80x45
フレア:256x256 レンズ周辺光256x256
工程2:0.04ms > 0.05ms
工程3:1.18ms > 0.95ms
トータル:1.24ms > 1.0ms
(0.24msお得意 20%高速化)
最適化2 メインのテクスチャ入力が不要だった
最終:1280x720
ノイズ:256x256
ブルーム+フレア+周辺光:320x180
メイン:1280x720
工程3: 0.95ms > 0.87ms
最適化1・2トータル:1.24ms > 0.92ms
(0.32ms 25%高速化)
1280x720のフレームバッファが不要になった!
まとめ
• 事前乗算アルファおさらい
• ブレンドバッファおさらい
• P-MAPシェーダ
• P-MAPテクスチャ
• PS3ゴジラでのポストエフェクト最適化事例
• まとめ
まとめ
P-MAPシェーダ
– ストレートテクスチャ素材がそのまま使える
– 加算・アルファ合成が混在する複数のテクスチャを1Passで描
画
– 加算・アルファシェーダといった使い分けがなくなる
– 複雑な表現が可能
– シェーダを用意する必要がある
まとめ
P-MAPテクスチャ
– 事前乗算アルファテクスチャを使えば加算の要素も事前にコス
ト0で合成できる
– 加算用のテクスチャ容量を削減できる
– すでにある描画システムに加算とアルファ合成を混在させられ
る。
– マテリアルが一つになりドローコール削減
– シェーダを持たないプラットフォームでも使える
– 一般的なツールでのプレビュー・修正が難しい
まとめ
LUTテクスチャに応用
– 加算が混在したLUT
頂点色に応用
– 途中から加算になっていく3Dモデル
ムービーへの応用
– アルファムービーに応用すればムービ容量削減
– 複雑なマスクを作る必要が減る
補足
 「P-MAPシェーダ」「P-MAPテクスチャ」はどちらも出
力直前までは浮動少数で合成されるため、 普通に何度も
整数フレームバッファに描画した場合より精度の向上が
期待できます。
 「P-MAPテクスチャ」をリニアワークフローに対応する
には工夫が必要になってくると考えられます。
• 今回使用したプロジェクトファイル
https://github.com/ToshiyasuMiyabe/P-MAP
• 内容へのご質問、お問い合せなどはこちら
miyabe@natsumeatari.co.jp
2015/12まで
ご清聴ありがとうございました

More Related Content

PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
PPTX
なぜなにリアルタイムレンダリング
PPTX
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
PDF
60fpsアクションを実現する秘訣を伝授 解析編
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
PPTX
UE4のためのより良いゲーム設計を理解しよう!
PPTX
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
PDF
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
猫でも分かるUE4のポストプロセスを使った演出・絵作り
なぜなにリアルタイムレンダリング
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 基礎編
UE4のためのより良いゲーム設計を理解しよう!
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...

What's hot (20)

PDF
【Unity】より良い表現のためのライティング戦略
PDF
UE4における大規模背景制作事例 最適化ワークフロー編
PDF
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
PDF
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
PDF
UE4を使った映像制作 (UE4 Character Art Dive Online)
PPTX
UE4背景アーティスト勉強会(後編) 実演+解説
PPTX
Unreal Engine最新機能 アニメーション+物理ショーケース!
PDF
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
PPTX
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
PPTX
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
PPTX
Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
PDF
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
PDF
UE4 LODs for Optimization -Beginner-
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
PDF
UE4でTranslucencyやUnlitに影を落としたい!
PPTX
UE4におけるLoadingとGCのProfilingと最適化手法
【Unity】より良い表現のためのライティング戦略
UE4における大規模背景制作事例 最適化ワークフロー編
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
猫でも分かる UE4のAnimation Blueprintの運用について
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4背景アーティスト勉強会(後編) 実演+解説
Unreal Engine最新機能 アニメーション+物理ショーケース!
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4 LODs for Optimization -Beginner-
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
UE4でTranslucencyやUnlitに影を落としたい!
UE4におけるLoadingとGCのProfilingと最適化手法
Ad

Viewers also liked (20)

PPT
CEDEC 2007 Imagire Day 最新世代機に関わる技術トラック
PDF
シリコンスタジオの最新テクノロジーデモ技術解説
PPT
CEDEC 2005 汎用的なシェーダ設計 イントロダクション
PPT
CEDEC 2008 Imagire Day レンダリスト養成講座 2.0
PPT
CEDEC 2008 Imagire Day 最新世代機に関わる技術トラック
PDF
機械学習向けCGデータの量産手法の検討
PDF
シリコンスタジオによる HDR出力対応の理論と実践
PPTX
CEDEC 2011 コンピュータ・グラフィクス関連の最新論文紹介 ~Shape Matching法とその周辺技術~
PPTX
CEDEC 2012 コンピュータ・グラフィクス関連の最新論文紹介~Modular Radiance Transfer法の解説~
PPT
CEDEC 2010 魅力ある絵作りのために知っておきたい色光学豆知識
PPT
CEDEC 2009 Imagire Day 2009
PDF
CEDEC 2012 実践!シネマティックレンズエフェクト
PPTX
手描き感を再現する ペイントシミュレータの最新研究紹介
PPT
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
PPT
CEDEC 2009 Imagire Day 続・レンダリスト養成講座
PDF
【CEDEC 2017】過去のお約束を捨てることがVRの始まり ~ PlayStationRVR ヘディング工場のゲームデザインと演出
PDF
物理ベース時代のライトマップベイク奮闘記
PDF
Recipes for Optical Effect System Design - Real-time Rendering of Physically...
PDF
Making Your Bokeh Fascinating - Real-time Rendering of Physically Based Opti...
PDF
Lenses - Real-time Rendering of Physically Based Optical Effect in Theory an...
CEDEC 2007 Imagire Day 最新世代機に関わる技術トラック
シリコンスタジオの最新テクノロジーデモ技術解説
CEDEC 2005 汎用的なシェーダ設計 イントロダクション
CEDEC 2008 Imagire Day レンダリスト養成講座 2.0
CEDEC 2008 Imagire Day 最新世代機に関わる技術トラック
機械学習向けCGデータの量産手法の検討
シリコンスタジオによる HDR出力対応の理論と実践
CEDEC 2011 コンピュータ・グラフィクス関連の最新論文紹介 ~Shape Matching法とその周辺技術~
CEDEC 2012 コンピュータ・グラフィクス関連の最新論文紹介~Modular Radiance Transfer法の解説~
CEDEC 2010 魅力ある絵作りのために知っておきたい色光学豆知識
CEDEC 2009 Imagire Day 2009
CEDEC 2012 実践!シネマティックレンズエフェクト
手描き感を再現する ペイントシミュレータの最新研究紹介
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2009 Imagire Day 続・レンダリスト養成講座
【CEDEC 2017】過去のお約束を捨てることがVRの始まり ~ PlayStationRVR ヘディング工場のゲームデザインと演出
物理ベース時代のライトマップベイク奮闘記
Recipes for Optical Effect System Design - Real-time Rendering of Physically...
Making Your Bokeh Fascinating - Real-time Rendering of Physically Based Opti...
Lenses - Real-time Rendering of Physically Based Optical Effect in Theory an...
Ad

CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド