ゲーム開発者向け最新技術論文の解説・実装講座
Download
1 / 51

ゲーム開発者向け最新技術論文の解説・実装講座 - PowerPoint PPT Presentation


  • 183 Views
  • Uploaded on

ゲーム開発者向け最新技術論文の解説・実装講座. ~遥かなるトップレンダリストの頂を目指して~. その②. 田村 尚希 シリコンスタジオ株式会社 ソフトウェアエンジニアリング部. 発表の流れ. 1. 概要 2. 論文紹介 「 Frequency Domain Normal Map Filtering 」 3. まとめ. 発表の流れ. 1. 概要 2. 論文紹介 「 Frequency Domain Normal Map Filtering 」 3. まとめ. 1. 概要. 発表内容 :. 最新論文のうち、ゲームにも関係が深い論文を紹介.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ゲーム開発者向け最新技術論文の解説・実装講座' - irisa


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ゲーム開発者向け最新技術論文の解説・実装講座ゲーム開発者向け最新技術論文の解説・実装講座

~遥かなるトップレンダリストの頂を目指して~

その②

田村 尚希

シリコンスタジオ株式会社 ソフトウェアエンジニアリング部


発表の流れゲーム開発者向け最新技術論文の解説・実装講座

1. 概要

2. 論文紹介「Frequency Domain Normal Map Filtering」

3. まとめ


発表の流れゲーム開発者向け最新技術論文の解説・実装講座

1. 概要

2. 論文紹介「Frequency Domain Normal Map Filtering」

3. まとめ


1.ゲーム開発者向け最新技術論文の解説・実装講座概要

  • 発表内容:

最新論文のうち、ゲームにも関係が深い論文を紹介

  • 発表の目的:

1.最新技術の紹介及び理解

2.技術論文に親しむ機会を提供

最新技術に興味を持つ人が増え、ゲーム業界全体の活性化に繋がることを期待


1.ゲーム開発者向け最新技術論文の解説・実装講座概要

  • 紹介論文:

  「Frequency Domain Normal Map Filtering」[Han et al. SIGGRAPH 2007]


1.ゲーム開発者向け最新技術論文の解説・実装講座概要

  • 「Frequency Domain Normal Map Filtering」

  • 一言で言えば:

法線マップにおけるミップマップフィルタリング

に関する論文


1.ゲーム開発者向け最新技術論文の解説・実装講座概要

  • 動画:


1.ゲーム開発者向け最新技術論文の解説・実装講座概要

  • 動画:


1.ゲーム開発者向け最新技術論文の解説・実装講座概要

  • 利点

正確な法線マップミップマップフィルタリングが可能

拡散面から鏡面に近い光沢面まで適用可能

  • 欠点

計算負荷が高い

テクスチャ消費量が多い

シーンによっては、適用前後でほとんど差がない


発表の流れゲーム開発者向け最新技術論文の解説・実装講座

1. 概要

2. 論文紹介「Frequency Domain Normal Map Filtering」

3. まとめ


Normal map filteringゲーム開発者向け最新技術論文の解説・実装講座の説明手順

ミップマップフィルタリングの復習

法線マップのミップマップの問題点

論文の手法説明

デモ・考察


2.1 ゲーム開発者向け最新技術論文の解説・実装講座ミップマップフィルタリング

  • ミップマップテクスチャ

解像度を半分にし、情報を平均化した

一連のテクスチャ群をミップマップテクスチャと呼ぶ


2.1 ゲーム開発者向け最新技術論文の解説・実装講座ミップマップフィルタリング

  • ミップマップフィルタリング(トリリニアフィルタリング)


2.1 ゲーム開発者向け最新技術論文の解説・実装講座ミップマップフィルタリング

  • ミップマップフィルタリングが必要な理由

スクリーン解像度とテクスチャ解像度の不整合を解決するため


2.1 ゲーム開発者向け最新技術論文の解説・実装講座ミップマップフィルタリング

  • 解像度の差を解決する本質的な方法

⇒スーパーサンプリング

ランタイム時のスーパーサンプリングは計算負荷が高い


2.1 ゲーム開発者向け最新技術論文の解説・実装講座ミップマップフィルタリング

  • スーパーサンプリングの代替手段

⇒ミップマップテクスチャ

スーパーサンプリング≒ミップマップフィルタリング


Normal map filteringゲーム開発者向け最新技術論文の解説・実装講座の説明手順

ミップマップフィルタリングの復習

法線マップのミップマップの問題点

論文の手法説明

デモ・考察


2.2 ゲーム開発者向け最新技術論文の解説・実装講座法線マップのミップマップ

  • 法線マップのミップマップテクスチャ


2.2 ゲーム開発者向け最新技術論文の解説・実装講座法線マップのミップマップ

  • 法線マップのミップマップの問題点

スーパーサンプリング≠ミップマップフィルタリング


2.2 ゲーム開発者向け最新技術論文の解説・実装講座法線マップのミップマップ

  • 論文の解決方法

スーパーサンプリング≠ミップマップフィルタリング

スーパーサンプリング≒ミップマップフィルタリング


Normal map filteringゲーム開発者向け最新技術論文の解説・実装講座の説明手順

ミップマップフィルタリングの復習

法線マップのミップマップの問題点

論文の手法説明

アイディアの概要

アルゴリズムの詳細

前計算

NDFミップマップテクスチャの作成

デモ・考察

Effective BRDFの計算

実行時


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

=

EffectiveBRDF

NDF

BRDF


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

  •                          という概念

    を導入

NDF(Normal Distribution Function)

基本的には 

  ・法線が存在する方向は 1・法線が存在しない方向は 0

という値を持ったバイナリ情報

で正規化

キューブマップ形式では、データ量が膨大 → 要圧縮


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

=

EffectiveBRDF

NDF

BRDF


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

  • BRDFを可視化

拡散面:

光沢面:

法線ベクトル

光の入射ベクトル

s = 5

s = 10


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

=

EffectiveBRDF

NDF

BRDF


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

  • スーパーサンプリングを数式化

基本式

拡散面:

光沢面:

スーパーサンプリング


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

⇒BRDFの項をスーパーサンプリングすれば良い

を            と呼ぶ

Effective BRDF


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

  • Effective BRDFを可視化

拡散面:

光沢面:

法線ベクトル

Effective BRDF

法線ベクトル

法線ベクトル


2.3 ゲーム開発者向け最新技術論文の解説・実装講座アイディアの概要

1. NDFを前計算で保存

2. Effective BRDFをリアルタイムに計算


Normal map filteringゲーム開発者向け最新技術論文の解説・実装講座の説明手順

ミップマップフィルタリングの復習

法線マップのミップマップの問題点

論文の手法説明

アイディアの概要

アルゴリズムの詳細

前計算

NDFミップマップテクスチャの作成

デモ・考察

Effective BRDFの計算

実行時


アルゴリズムの詳細ゲーム開発者向け最新技術論文の解説・実装講座

法線マップの入力

視点・光源位置の入力

NDFの圧縮

球面調和関数

NDFミップマップテクスチャの作成

Effective BRDFの計算

ピクセル色の出力

実行時

前計算


2 3 1
2.3.1 ゲーム開発者向け最新技術論文の解説・実装講座球面調和関数

  • 球面調和関数の要点

球面調和関数を用いた近似

本来の輝度分布

球に投影

各方向の輝度を高さに変換

球面調和関数は、大まかな特徴を極めて効率的に近似可能

データ量を1/400に圧縮!!

データ量

データ量

キューブマップのデータ量 :

16個~64個のfloat :

float × ( 32×32×6 ) pixel : 24576 byte

64byte (16個の場合)

詳しくは、株式会社Pyramid(http://www.pyramid-inc.net)の「使える最新PRTのススメ」参照


2 3 1 ndf
2.3.1 NDFゲーム開発者向け最新技術論文の解説・実装講座の圧縮

  • NDFを球面調和関数を用いて圧縮

球面調和関数を用いた近似

本来のNDF

各方向の値を高さに変換

球面調和関数は、大まかな特徴を極めて効率的に近似可能

データ量を1/400に圧縮!!

データ量

データ量

キューブマップのデータ量 :

16個~64個のfloat :

float × ( 32×32×6 ) pixel : 24576 byte

64byte (16個の場合)


アルゴリズムの詳細ゲーム開発者向け最新技術論文の解説・実装講座

法線マップの入力

視点・光源位置の入力

NDFの圧縮

球面調和関数

NDFミップマップテクスチャの作成

Effective BRDFの計算

ピクセル色の出力

実行時

前計算


2 3 2 ndf
2.3.2 NDFゲーム開発者向け最新技術論文の解説・実装講座ミップマップテクスチャ

  • NDFを、ミップマップの各レベル毎に球面調和関数

    を用いて圧縮


アルゴリズムの詳細ゲーム開発者向け最新技術論文の解説・実装講座

法線マップの入力

視点・光源位置の入力

NDFの圧縮

球面調和関数

NDFミップマップテクスチャの作成

Effective BRDFの計算

ピクセル色の出力

実行時

前計算


2 3 3 effective brdf
2.3.3 Effective BRDFゲーム開発者向け最新技術論文の解説・実装講座の計算

  • 全方向に関して、NDFとBRDFを乗算し足し合わせる

畳み込み(Convolution)という演算に相当


2 3 3 effective brdf1
2.3.3 Effective BRDFゲーム開発者向け最新技術論文の解説・実装講座の計算

  • 畳み込みは、球面調和関数空間では高速に処理可能

NDF

BRDF

球面調和関数空間

=

EffectiveBRDF

理論及び f の計算方法の詳細は論文4.2及び4.3参照


アルゴリズムの詳細ゲーム開発者向け最新技術論文の解説・実装講座

法線マップの入力

視点・光源位置の入力

NDFの圧縮

球面調和関数

NDFミップマップテクスチャの作成

Effective BRDFの計算

ピクセル色の出力

実行時

前計算


2 3 4
2.3.4 ゲーム開発者向け最新技術論文の解説・実装講座ピクセル色の出力

  • Effective BRDFの係数を、元の空間に復元

EffectiveBRDF

拡散面:

係数が必要なのは特定の1方向ωのみ

光沢面:

yの計算方法の詳細は、 「球面調和関数の多項式表現」参照 

(http://lucille.sourceforge.net/blog/images/shpoly.pdf)


2 3 41
2.3.4 ゲーム開発者向け最新技術論文の解説・実装講座ピクセル色の出力

  • fragment shader擬似コード


Normal map filteringゲーム開発者向け最新技術論文の解説・実装講座の説明手順

ミップマップフィルタリングの復習

法線マップのミップマップの問題点

論文の手法説明

アイディアの概要

アルゴリズムの詳細

前計算

NDFミップマップテクスチャの作成

デモ・考察

Effective BRDFの計算

実行時


2 4 1
2.4 ゲーム開発者向け最新技術論文の解説・実装講座考察1

  • 球面調和関数では鋭いスペキュラーなどは不可能

圧縮に利用する関数を変更することで実現


アルゴリズムの詳細ゲーム開発者向け最新技術論文の解説・実装講座

法線マップの入力

視点・光源位置の入力

NDFの圧縮

vMF

球面調和関数

NDFミップマップテクスチャの作成

Effective BRDFの計算

ピクセル色の出力

実行時

前計算


2 4 11
2.4 ゲーム開発者向け最新技術論文の解説・実装講座考察1

  • 球面調和関数では鋭いスペキュラーなどは不可能

圧縮に利用する関数を変更することで実現

→ 精度が高い反面、より計算負荷が高い

アルゴリズムの流れは変わらないので今回は割愛


2 4 2
2.4 ゲーム開発者向け最新技術論文の解説・実装講座考察2

  • 効果が顕著に現れる例と、それほど現れない例に分かれる

効果が顕著なケース:

  光沢面、法線分布が急激、法線マップが高解像度

効果がでないケース:

  拡散面、法線分布が緩やか、法線マップが低解像度

→ 状況によっては重要な問題

法線マップのミップマップは潜在的に

この問題を含んでいることを理解しておくことが重要


発表の流れゲーム開発者向け最新技術論文の解説・実装講座

1. 概要

2. 論文紹介「Frequency Domain Normal Map Filtering」

3. まとめ


3 ゲーム開発者向け最新技術論文の解説・実装講座まとめ

  • 紹介した論文:

  「Frequency Domain Normal Map Filtering」

法線マップにおけるミップマップフィルタリング


3 ゲーム開発者向け最新技術論文の解説・実装講座まとめ

スーパーサンプリング≠ミップマップフィルタリング

スーパーサンプリング≒ミップマップフィルタリング

=

EffectiveBRDF

データ量削減、処理の効率化のため

球面調和関数を利用

NDF

BRDF


御静聴ありがとうございましたゲーム開発者向け最新技術論文の解説・実装講座

  • 質問はございませんか?


ad