数々の賞を受賞 システム手帳 ウィック NOLTY 能率 レザーカバー 8952 ワイン グロスタイプ システム手帳

THREE クリスマスコフレ☆21年

LAB

デモプログラム

研究室デモプログラム

【大気散乱シュミレーション】-Atmospheric Scattering-

今日は技術的な話題ということで『大気散乱シミュレーション』のお話をしてみたいと思います。
技術資料がWEB上に公開されていますので、その内容を技術デモと共に紹介します。

【Brunello Cucinelli】リネンとコットンシャツ

(C) カーテン シェード スミノエ ULife U-9116〜9119 厚地+レース お買い得セットプラン スタンダードD(約1.5倍ヒダ)幅400x丈140cmまで

屋外のゲームシーンで最もよく目にするであろう『青空』。
一見単純そうで、実はシーンの空気感に影響がある無限遠背景です。
ゲームの中で「天球」を表現する際には、従来の古典的な手法では半球ドームなどの遠景で覆えるモデルに青空テクスチャをぺたっと貼ってそれを天空としていました。
青空の本物っぽさというものはデザイナーの技量と感性によって再現されることが多かったと思います。場合によっては実際に空の写真撮影を行ってその色味を再現したりすることもあるかと思います。

これを実際に物理現象として起きている状況をリアルタイムシミュレーションで再現してゲーム内に活用してみよう!というのが今回のお題です。

この技術を導入することで次の点に特にメリットが出ます。
デザイナーが苦労することなく、簡単に実写品質を得ることができるようになります  

Beauville仏発最高級リネン★テーブルクロスTOPKAPI argent265

1.昼夜の動的な変化、時間の移り変わりがリアルタイムで表現できる
時間の概念があるゲームでは必須になってくる表現を太陽の方角を指定するだけでシーンの情景を作りだすことができます。

 
2.地平線付近の夕焼け、朝焼けの微妙な色味が計算で再現できる(見た目が実写により近くなる)
大気中の微細粒子(塵)のシミュレートによって実写の空気感が出ます。
又、火星の大気や未知の惑星の大気など、地球外の惑星の大気組成も再現できます。
そして、標高・高度によって眼下の視界にも霞がかかります。
★Y-3 ワイスリー★AJATU COURT LOW スニーカー 関税込★

 
3.昼間になると星空が太陽光によってかき消されて見えなくなる現象が表現できる。
フェードイン・フェードアウトでフェイクで昼夜入れ替えるのではなく、実際の光学的な現象で星空が消えるようになります。

 
4.大気圏を表現することで付加価値が生まれる。
宇宙空間と地上とをシームレスに行き来することができ、金環現象などの光学的現象もリアルタイムで見ることができます。

エンポリオ アルマーニ シャツ メンズ トップス CAMICIA - Shirt - grigio medio/medium grey

オープンフィールドのゲームを制作する際に昼夜の概念があったりするとシーンごとに時間帯が異なって屋外の風景も太陽の位置によって大きく変化します。
又、天候などでさらに豊かな表情を表現していくことで、よりリアリティをもたせて没入感を高めます。
今回は時間帯によって空の色が変化していく様子にクローズアップしてみます。
それではまずは恒例のデモプログラムを公開します。


 

 
このデモは以下からダウンロードすることができます。
今回もWindowsXPでも閲覧実行可能にするためにDirectX9でデモを作成しました。
実際にはDirectX11で実装することで実行効率を上げ、さらに速度を向上させることができるようになります。

 
太陽光が大気圏内で多重散乱する現象をシミュレートします。

 
◎動作可能な環境

<動作条件>
Windows XP/Vista/7 DirectX9.0c
ShaderModel 3.0 以降
※注意※ 今回のデモは大変複雑なシェーダーになっています。
ShaderModel 3.0 以降対応でもドライバの問題などで動作しない場合があります。
なるべく最新版のグラフィックドライバをご利用ください。
尚、デモの中でfp16浮動小数点バッファを使用していますので、SM3.0対応GPUでもfp16に非対応のGPUでは起動できません。

HONKO 手動式芝刈り機(刃調整不要) VR-300 Revo

【個人宅配送不可】日東工器 6S-A FKM BRASS (07919) 直送 代引不可 SPカプラ TypeA 真ちゅう製 6SAFKMBRASS( フランクリンプランナー システム手帳 カウ シュリンク コンパクトサイズ ブラック 20mm 62769

ノースフェイス ホワイトレーベル ダウンジャケット♡ラスト一点❣

 

Download

LITENStaD スリムワークデスク 幅75cm × 奥行40cm × 高さ72.5cm ヴィンテージ LSD-08-SLWD75-vt (約1.36MB)

【動作確認済ハードウェア】
NVIDIA GeForce GT 420
NVIDIA GeForce 9800 GT

【操作方法】
十字キー↑↓…位置を移動
左マウスクリック+ドラッグ…視点を回転
大人気【Ralph Lauren】Floral Georgette Tie-Neck Shirt全天の姿勢を回転
Zキー  … 大気散乱ON/OFF


 

 
今回のデモは見た目の品質も確保できるように大気散乱シミュレーションの他に
次の技法を併用しています。

送料無料 GIVENCHY ジバンシィ ロゴ 4G nylon e pelle バッグ
グレア表現(ブルーム、カメラ絞りの回折9枚羽根)
レンズ表現(周辺減光ビネッティング、フレア)
トーンマッピング(※今回は評価測光は無く、動的ではなく静的なものです)

屋外光散乱ではなく大気散乱シミュレーションを選択した理由は、
大気散乱の実装によって屋外光散乱も全て実現できてしまうことにあります。
これによって宇宙からも地上からも自在に操れるようになります。
このデモでは春分点で高緯度(北極)でのカメラ視点にしていますので、太陽はさほど高く昇らず、そして夜も薄く地平線が明るくなっているのが観察できます。
十字キーで大気圏を出入りすることで、そこに大気の層を感じることができます。
操作の関係上、地球を固定して相対的に全天を回転させていますが、本来は天動説ではなく地動説ですよね。

 
デモで使用したテクスチャは次の2つです。それぞれ下記リンク先の素材を使用しています。
地球の地表テクスチャ 32k Virtual Earth Textures for Celestia
Yeti Snow net 9289/タイヤチェーン
宇宙全天テクスチャ Axel Mellinger’s Milky Way Panorama 2.0

ナイキ ピーステーブル ( RT150PFB-GL-MW ) (株)ナイキ (メーカー取寄)

それでは概要を簡単ですが説明してみたいと思います。
まずは小中学生の頃の素朴な疑問FAQから。

 
Q:太陽は白くて昼間は青空なのに夕焼けはなぜ赤くなるの?
A:昼間は上方向から光が当たるため、大気の層が薄いですが、水平方向の場合は通ってくる大気圏の距離が長くなります。大気に青色が吸収されて残った赤色が夕焼けとして見えるのです。

レブフィニ ハーレー ブレーキマスターシリンダーダブルロールスクリーン TASTE/SHADEタイプ 幅91-135cm×丈121〜180cm FIRSTAGE
概ね上記のような内容の解説があります。恐らくご存知だとおもいます。

太陽光が大気を通過することで、その途中にある大気中微粒子によって青空や夕焼けの現象が起きています。
では次に、その大気の層の厚さを考えてみます。

 
■地球 (Wikipedia)
22AW★すぐ届く! 【DIOR ディオール】 カーゴパンツ ロゴ 関税込
Wikipediaによると地球の半径は

 
>地球は赤道半径が 6,378.137 km、極半径が 6,356.752 km

とあります。

 
そして
>地表から上空約100kmまでの範囲には窒素・酸素を主成分とする大気がある。

 
とあります。
そこで今回のデモでは『約6360kmを地球の半径、約100kmを大気層の厚さイタリア発【フルラ】FURLA パイパー コンビカラーのミニバッグ

 
この距離関係は
卵で黄身が核、白身がマントル、殻が地殻
と例えられることがあります。
そう考えると大気は薄皮くらいの厚さしかないことになります。
図解してみると次のような図になります。

 
ファイロファックス マルデン システム手帳 ミニ オーキッド 25818 正規輸入品

上図のように地平線への水平方向は垂直方向に比べると結構な厚さになります。
この違いが色の変化をもたらします。
波長の短い光紫・青系)は波長の長い光赤系)よりも散乱しやすく、
厚い大気の層を通過する場合は通過中に青色が徐々に失われます。その結果の残った赤色が目に届くのが夕焼けです。

 
◎光の散乱

 
「大気中の光の散乱」は、空気中に存在する微細粒子に光があたって全方向に乱反射することで起きます。
わかり易い例だと「霧」がまさしく光の散乱で白くなっていると言えます。
即発*GUCCIグッチ ダブルG ブレスレット シルバー ストライプ

 
■レイリー散乱(Rayleigh-scattering)
http://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%AA%E3%83%BC%E6%95%A3%E4%B9%B1

 
レイリー散乱は簡単に言うと「青空の青色の元になる成分」です。
光が微粒子に衝突するときに光線方向の前後方向に多めに散乱しますが、基本的には全体に広がるように散乱します。
この成分を求める計算式は次のようになります(※論文資料より抜粋)

 
新作 Maison Margiela Anonymity of the lining ショートパンツ

λ = 光の波長(680, 550, 440)nm

 
■ミー散乱 (Mie-scattering)
タミヤラジコン

《adidas》アディダス★Cityシリーズ マドリード【送料込】 
ミー散乱はレイリー散乱とは異なり、こちらは指向性のある散乱で、白っぽい色です。
光の進行方向に散乱が強く出ます。つまり「逆光」のときにも強く出る成分です。
小さい粒子では広がり、大きい粒子の場合は収束します。
濁った感じはこのミー散乱によって起きます。雲が白いのもミー散乱が影響しています。つまり雲を描画するときにはミー散乱の計算が必要になります。
この成分を求める計算式は次のようになります(※論文資料より抜粋)ウェスコ バイカー

 
λ = 光の波長(680, 550, 440)nm

 
大気中を通ってくるときに、
STUSSY Skull Wings Printed Cotton-Jersey T-Shirt
都会で遠方が霞んで見通しが悪い時にはミー散乱が多いことになります。
実際に目の前交差点100m先が白く霞んでいるときには目を疑いましたが…
雨上がりは大気が綺麗ですので澄んで見えます。このときミー散乱は少なくなっています。

エルメス★O'Kelly ペンダント PM ゴールドプレーテッド 
青空の水色は、レイリー散乱の濃い青色 + ミー散乱の白色が混ざって絶妙な水色を発色しています。
ミー散乱が少ない場合には日本でも南国ビーチのような深い色の青空も見ることができます。

 

 ◎多重散乱 (Multi scattering)

 
光は最初の微粒子に衝突したときにレイリー散乱とミー散乱を起こします。
そして散乱した光は次の微粒子に衝突します。そしてそこでも散乱を起こします。
一回だけではなく、目に届くまでに何回も散乱を繰り返します。
その結果、空は青空に、夕焼けはオレンジ色に変化します。
今回のデモでは多重散乱を反復計算で実装してあります。

 

◎地面からの放射輝度(Irradiance:イラディアンス)

 
地面に光が当たり、そこが光源になり、さらに大気を照らします。
地面からの照り返しの計算も同時に行います。
夕焼けで太陽の周りが眩しく霞むのは地面からの放射光が発生して強く出るためです。
この地面で反射して照り返した光は再び大気内で散乱を起こし多重散乱します。

 
【Sergio Rossi】日本未入荷 sr1 ブラック ラムナッパ パンプス

 
太陽光はこれらの散乱を何度も何度も繰り返してあの独特な色彩を出していることになります。
夕焼けのオレンジ色は、レイリー散乱・ミー散乱を繰り返した結果の残りがオレンジ色だから、ということになります。

 

◎地球とのセルフシャドウ

 
太陽光が地球に当たるときにはおよそ平行光源とみなせますが、その時には光の当たるほうの反対の影になる部分は地球自身が太陽を遮って影になっているとも言えます。
このセルフシャドウによって影になる部分は「夜」になります。
日本には日暮れで「夜の帳(とばり)がおりる」という表現がありますが、
夕焼けから夜への変化は帳(=たれぎぬ)がおりるようにセルフシャドウによって
急速に移り変わります。
デモではこの計算を行なうことで、陽が沈む西の方角はまだオレンジ色の夕焼けだけれど東の方角はもう夜になっているという状況を作り出せています。

 
【Laura Ashley】ストライプフリル付ベッドスカート(セミダブル)

 
デモでは次のように陽が沈む反対側の空の大気中の微粒子に地球自身のセルフシャドウが投影されています。

 
【日没の瞬間の反対側の空】

 
◎星空に散乱が及ぼす光学的現象

 
昼間は明るいので星が見えません。これは星の光が太陽に対してかなり暗いから目立たなくなるためです。
もう一つの理由は太陽光の散乱によって塗りつぶすようにかき消されてしまう為です。
今回のデモでは昼夜問わず星の描画を行なっています。朝になると星が消えて行きますが、これはフェードイン/アウトなどのフェイクな処理は行わずに実現しています。
散乱によって見えなくなります。
但し、今回のデモはトーンマッピングを動的にしていないため、星がある程度見えるように星空自体を無理矢理数倍明るくして描画しています。
そのため、昼間でも少し星が見えてしまう事態になってしまっています。
デモの中で青空を見上げてみてください。
少し白っぽい何かムラのようなものが見えます。
これは夜にしか見えないはずの天の川銀河の一部が見えてしまっています(笑)
トーンマッピングを動的にすることで本来の星の暗さまで落とせますのでこの問題点は解消可能です。 

レイメイ藤井 システム手帳 ダヴィンチ ロロマクラシック 聖書 ネイビー DB3014K US即発! A/X ミディアム 2way トートバッグ ブラック 

 

 

【左】昼間で星が見えなくなっている状態 【右】夜間で太陽の散乱光がなくなり星が見える状態

しかしながら、リアルタイムゲームにとっては常に昼間も星空を描画し続けることはGPU負荷を高める原因になりますので、日が昇ってシーン内で完全に星が見えなくなる間は星空の描画をオフにしておいたほうが実際は好ましいです。

 

 ◎夜の月明かりの表現

 
月は太陽光を自ら受けて、間接光で地球を照らします。 
★関税/送料込★ Nike Air Jordan 1 High OG University Blue
太陽は直視できないレベルの眩しさですが、月は模様を観察できるほどにじっくりと凝視しても大丈夫ですよね。
特に太陽の黒点を同じように凝視して観察するとムスカ様状態になってしまいますので良い子のみんなはやらないように。

 
地表に降り注ぐ光も穏やかな光になります。
さて、どれくらい輝度低下するのでしょうか。Wikipediaで調べてみましょう。

 
■アルベド(Wikipedia)
【国内発】アニエスベー ボーイズサイズ ピンクゴールドウォッチ
>アルベド (albedo) とは、天体において外部からの入射光エネルギーに対する反射光エネルギーの比をいう。

 
最近まれに「アルベドテクスチャ」という言い方を耳にしますが、これは地表の反射光の比率を指す言葉になります。
ディフューズ(diffuse)と同義で使われていることが多いです。
このWikipediaのページの下の方の表によると、月面のアルベド値は

 
【衛星】 0.07 – 地球の衛星(岩石なので低い)

 
とあります。
つまり太陽を1.0として、月は0.07倍の明るさで光を発しているのとおなじ意味になります。
月の場合はこの他に太陽との位置関係によって満ち欠けがありますので、満月と新月では光量も変わってきます。
今回の配布デモには組み込んでいませんが、月光をシミュレートしたものが手元にありますのでスクリーンショットだけ紹介しておきます。
このスクリーンショットは太陽の0.07倍の光量で満月の月夜としてシミュレーションした結果です。
わずかに青っぽくなった地表と地平線が確認できます。
実際には暗所で青っぽく見えるのは視神経の桿体細胞の影響のほうが大きいようです。

◇Roxy◇上下サイズ違可Sunset BoogieDカップタイプビキニセット 
【月光の大気散乱シミュレーション結果】

[POLO RALPH LAUREN] 【人気】ロゴ デニムキャップ☆送料込☆ 
日本未入荷★長さ&幅を選べる首輪『ライオンキング』バックル式B
実際に撮影
今朝、通勤するときに晴れていましたので実際の空を撮影してきました。
水色の具合など比較できます。

【送料/関税込】Anya Hindmarch/マルチ アイズ フェルト トートMASTER BUNNY EDITION [特別割引] Fake Wrap Skirt BK累積売上総額第1位!【MONCLER 21/22秋冬】4-6歳_AVEILLAN

 

 

 

【関税送料込】FRESH HOODS フーディ It Drips Zip Up Hoodie  (C) ファイロファックス ドミノ ソフト ブルー A5 システム手帳

グッチ GUCCI 腕時計 G-Timeless Signature YA126586コモノ 時計 ペアウォッチ WINSTON ROYALE ゴールド メッシュ

【MARNI】SS22「CHEMISIER」ドレス 

今回は技法の紹介ということでこの話題の元ネタ・原典も存在しています。
このページでは端折った解説になりましたので、計算式など詳細はオリジナルの
資料のほうを御覧ください。
実装の方法や考え方、計算アルゴリズムが今回のデモに多く反映されています。
【関税送料込】FRESH HOODS フーディ Core Zip Up Hoodie

 
直営買付【22AW】GUCCI プリント コットンジャケッ トリブトリム
(Sean O’Neil)
大気散乱の計算をするときの概念の説明が図解とソースコード付きで紹介されています。
最初に考え方を把握する際に図解が参考になります。

 
22新作 グッチ GGコットンキャンバス ショートパンツプラダ メンズ スニーカー 2EE363 3LJ6 F0964
(Henrik Wann Jensen)
夜の月明かりのシミュレーション。
今回時間的な都合でデモでは導入していませんが、さらにリアリティが高まります。
先ほどデモ内のスクリーンショットだけ紹介しました。
著者の名前を見てピンと来た方、そうです。フォトンマッピング法の第一人者Jensen氏です。

 
S'more スモア 和柄アウトドアテーブル2枚セット キャンプ テーブル 焚き火テーブル 組み立て 組み合わせで変化する 2枚セット
(Eric Bruneton & Fabrice Neyret)
事前計算でテクスチャにテーブル化して保持しておく手法。多重散乱のさらなる発展形。今回のデモで最も参考になった資料です。
実装例のソースコードや動画も公開されています。
散乱光だけでなく、地球そのもののセルフシャドウの改良にも着目した論文です。
計算式の一部をこのソースコードを参考に構成しました。素晴らしい文献です。

 
大気散乱シミュレーションは実現できていますが、このデモで地球を表現するためにはまだまだ実装していないものがあります。

 

 (現在は雲がないため全世界快晴)
スペキュラーマップ (海と大地との反射率をスペキュラーマップで違いを反映)
 (衛星として太陽光を反射して間接光で地表をライティング)
実際の地形・起伏

 
これらを追加していくことで、さらにリアリティが増してゆきます。

 
今世代までは見た目をそれっぽく実写に近づけて法線マッピングや照明の工夫などで
なんとかデザイナーの力量と努力で頑張ってこられたと思いますが、次の世代(DirectX11世代)になると更なる品質が求められてきます。
次世代は実写品質を出すために、今以上に物理ベースのシミュレーションが必要になってきて、プログラマーががそれを作ってデザイナーの実力を発揮できるように支援していく体制が求められて来そうに思います。

 
もちろんGPUパワーも有限ですので全てがシミュレートできるわけではないですが、その比率が増えていくのは間違いなさそうです。

数々の賞を受賞 システム手帳 ウィック NOLTY 能率 レザーカバー 8952 ワイン グロスタイプ システム手帳

【国内発!関税無し】モニーレネックレス