粒子シミュレーション可視化ツール Zindaiji3開発の進展状況 武田隆顕@cfca.

Slides:



Advertisements
Similar presentations
宇宙の「気温」 1 億度から –270 度まで 平下 博之 ( 名古屋大学・理・物理 U 研 ).
Advertisements

オーロラの話. NZL でのオーロラ 北海道 ミネソタミネソタ 2015 年 10 月 7 日- 8 日.
動画作成ソフトを使った分子 運動の可視化とその比較 2002 年度卒研発表 村中研究室 山内 祐介.
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
豊洲 304教室 15 JULY コンピュータグラフィックス 2008年度版.
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
パノラマ動画像モデルによる 仮想空間表現システムの研究
CGアニメーションの原理 基本技術 対象物体の動きや変形の設定方法 レンダリング技術
今日の内容 レンダリングの種類 レンダリングの予備知識 レンダリング手法 レンダリングの高速化の工夫 サンプリング
11章 ボリュームレンダリングを学ぶ 本来は目に見えない内部情報をレンダリングし可視化する技術
自己重力多体系の 1次元シミュレーション 物理学科4年 宇宙物理学研究室  丸山典宏.
3DCG技法についての 調査報告 ○○県立○○高等学校 1年は組 グループ0.
3DCGコンテンツの基礎 第5回授業:最終課題制作
全体ミーティング (4/25) 村田雅之.
分散コンピューティング環境上の Webリンク収集システムの実装
平成23年8月 情報学群 岡田 守 このスライドは, 前川佳徳編著による「コンピュータグラフィックス」(オーム社)を基に作成されている.
Handel-Cによる       エアホッケー.
プログラミング演習3 第4回 ミニプロジェクト.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
全体ミーティング (6/13) 村田雅之.
CADの概要2 電子制御設計製図Ⅰ 2009年4月14日 Ⅲ限目.
ITPASSセミナー ~Zindaiji~
Volume Extractor Ver 概要紹介と造形モデル例-
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
画像情報を用いた交通流計測 情報工学科 藤吉研究室 EP02076 都築勇司
第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング
ティコ第2星表を用いた限界等級の測定 目的 内容 宇宙粒子研究室 竹川涼太
情報コミュニケーション入門b 第5回 プレゼンテーション支援ツール入門
オーサリングツール&ブラウザの 技術的トピック
~Lookie~ WEBカメラを用いた対話時における 視線不一致問題の解決手法の提案と 解決支援機構の開発
SpectreとMeltdown ITソリューション塾・第28期 2018年5月30日 株式会社アプライド・マーケティング 大越 章司
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
3D散歩ゲーム 08A2043 谷口盛海 種田研究室.
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
星間物理学 講義3資料: 星間ガスの力学的安定性 星間ガスの力学的な安定性・不安定性についてまとめる。星形成や銀河形成を考える上での基礎。
OpenGLを使ったプログラム作成 澤見研究室
画像処理プログラムの説明.
3次元構築アプリケーションにおける3D表示(2)
コンピュータの仕組み 1E16M048 圓谷 英一 1E16M050 徳弘 徹也 1E16M051 戸張 将義 1E16M052 飛田 優輝
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
可視面・不可視面の判定方法と隠れ面(不可視面)の消去法について述べる.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
星間物理学 講義1: 銀河系の星間空間の世界 太陽系近傍から銀河系全体への概観 星間空間の構成要素
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
重力レンズ効果による画像の変形と明るさの変化
Thesis Supervisor: Katsushi Ikeuchi 池内克史
小型JASMINE計画の状況       矢野太平(国立天文台)       丹羽佳人(京大).
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
プロピレン(約2ユニット)を1つのLJ球としてモデル化
銀河 galaxy 現在までの認識.
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
岩澤全規 理化学研究所 計算科学研究機構 粒子系シミュレータ研究チーム 2015年7月22日 AICS/FOCUS共催 FDPS講習会
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
星間物理学 講義1の図など資料: 空間スケールを把握する。 太陽系近傍から 銀河系全体への概観、 観測事実に基づいて太陽系の周りの様子、銀河系全体の様子を概観する。それぞれの観測事実についての理解はこれ以降の講義で深める。 2010/10/05.
全体ミーティング (5/23) 村田雅之.
JASMINEワークショップ March 6-7,2003 松原英雄(宇宙研)
アルゴリズムとデータ構造1 2009年6月15日
大阪工業大学 情報科学部 情報システム学科 学生番号 B02-014 伊藤 誠
ライティング メディアデザイン演習.
Telescope Array ~Searching for the origin of the highest energy cosmic ray 私たちの研究の目的 宇宙線って何? 最高エネルギー宇宙線の数が、 理論による予想を大きく上回っていた! 現代物理学の主要な謎の1つ 宇宙空間を光に近い速度で飛び回っている非常に小さな粒子のことです。
モグラたたき.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
コンピュータ教育開発センター Eスクエア・アドバンス ◆産業協力情報授業◆ CGアニメ入門 株式会社 ドーガ.
アルゴリズムとデータ構造 2010年6月17日
ソフトウェア工学 知能情報学部 新田直也.
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
専門教育入門セミナー 2016/10/31.
Presentation transcript:

粒子シミュレーション可視化ツール Zindaiji3開発の進展状況 武田隆顕@cfca

シミュレーションデータ可視化の2つの目的 自分の研究データを素早く見るための可視化 (同じ分野の専門家に見せるための可視化) レスポンスを速く 物理量を見やすくするため派手な色合い 演出は考えない 一般の人に理解して(興味をもって)もらう可視化 きれいで格好よく 後者に重きを置いた 一般公開用の映像作成

粒子(N体)データ用可視化ツール開発 自分の理想は… 普段は研究用の可視化ツール いざというときは華麗なレンダリング 普段隠れている設定を開いて調整 いざというときは華麗なレンダリング ■初代Zindaiji 扱える粒子数は~200万体 ■32bitアプリケーションの限界が見えてきた

Zindaiji3の開発 ■より大規模なデータの可視化用に新規開発 ■PC1台でいけるだけ 大規模なデータ可視化

ZINDAIJI 3 の機能向上点 ■64bit化でメモリの制限が大幅に緩和 2億5千万粒子(約100倍の強化) ■描画アルゴリズムの改善 同じ条件で大体倍の速度 ■待ち時間の大幅削減 マルチスレッド化 ■GUIの大幅改善 ■マルチプラットフォーム Windowx/Linux/MacOSX

Zindaiji3における描画アルゴリズム改善 設定(色や透明度) 設定(色や透明度) 設定(色や透明度) 粒子の位置情報 粒子の位置情報 位置情報をメモリ上でまとめる 描画 描画 まとめて描画 設定(色や透明度) 粒子の位置情報 粒子の位置情報 描画 描画 粒子の位置情報 設定(色や透明度) 描画 粒子の位置情報 描画 ■状況に応じた場合分けで 描画の高速化

GUI大幅改定 ■カメラワークなどの タイムラインによる編集 ■UNDO機能の充実(行った操作をスタック) Ctrl+Y Ctrl+Z キーフレームを作成 キーフレームを移動 値をOldからNewに変更 オブジェクトを作成 キーフレームを(逆に)移動 値をNewからOldに変更 オブジェクトを削除 キーフレームを削除 Ctrl+Z

待ち時間の大幅削減 シングルスレッドによる可視化 マルチスレッドでの可視化 TIME 読み込み 補間 描画 画像出力 読み込み 画像出力 事前読込 補間 描画 画像出力 事前読込 補間 描画 画像出力 事前読込 補間 描画

■主な描画手法 速 ■光点としての描画 ■ガス雲(SPH粒子)の描画 ■大きさを持った球の描画 遅 星団の運動など。ソートの必要が無い 手前のガスによる隠蔽があるためソートが必要 点より大きいので点と比べると遅い ■大きさを持った球の描画 デブリディスクや(単分子の)分子動力学など ポリゴン数が多くなる。 遅

■光点としての描画 ■最速はpixelサイズの点を描画するGL_POINTS命令 ただし、距離によって 見かけの密度が変化 図の引用 : マイクロソフト アカデミック ポータル: DirectX によるゲームプログラミング入門 : 第 6 章 実践ゲーム開発 結局カメラ方向を向いた 板(ビルボード)による描画を行う

■光点としての描画 ■石山さんの宇宙論的N体(のもっとも大きいハロー1つ分) 2億5千万粒子の時間進化データ メモリ使用量 x,y,zの情報を単精度で持つと 1億体で1.2GB使用 vx,vy,vz,ID,r,等含め2.5億で 12GBほど。 2ステップ分の情報と補間済 情報で~30GB使用 メモリを64GB積んだ PCでどうにか扱える 描画速度については 後半で取り扱う。

■星やガス雲(SPH)の描画 ソートして奥から描画 背後にあるものは隠れる 密度∝r-3 通過距離∝rなので 不透明度r∝r-2で描画 ビルボード表示 ソートして奥から描画 背後にあるものは隠れる 密度∝r-3 通過距離∝rなので 不透明度r∝r-2で描画 r=1 r=2 r=3

■星やガス雲(SPH)の描画 ■松井秀徳さんの 100万体強の銀河衝突データ(Binary)から作成 読み込みや画像圧縮を 並列処理 8コア中の25~35%程度 (2~3コア相当)を使用

■球としての描画 (田中秀和さん(北大低温研)による分子動力学によるダスト衝突) ■600万体のデータ(亀裂が走る様子) 読み込みや画像圧縮を 並列処理 8コア中の~50%程度 (~4コア相当)を使用

■表現力の向上 ■影の実装 ■影(シャドウボリューム)

シャドウボリューム法(1) ステンシルシャドウ法 影のポリゴンを使って、影の落ちるべき領域を判定して、 色違いでもう一度描画

+1 -1 -1 シャドウボリューム法(2) (1)透明な影ポリゴンを描画する。 ポリゴンを描画したところには +1 をマークする (2) 同じように裏面だけ描画する 描画したところには -1 をマークする -1 (3)プラスで残った場所が影になるので、 光の当たらない色で再度描画する。

■表現力の向上 ■影の有無による比較 ■初代Zindaijiでは光源1つ、影1つだけ実装していたが 7つまでの光源と影を同時に扱えるように

■表現力の向上 ■シェーダー言語の利用 左)通常の描画は ポリゴン頂点ごとに計算する。 (星状の切れ目が見える) といった表現も可能に Toonシェーディング 色の計算を、各ピクセル ごとに行う。 といった表現も可能に Phongシェーディング より少ないポリゴン数で綺麗に表示できる

■レスポンス速度向上 ■SPH表示時の間引き GUI操作の応答時間は ~0.1秒以内が望ましい 間引き表示時にそれを 補うように濃く表示 オリジナル 1/10 1/100

レンダリングの種類と描画時間(1) ■一秒当たりの 描画粒子数目安 描画タイプ GT240 GTX560 粒子数目安 GL_POINTS 2010年ごろ補助電源無し の中で速いやつ(推奨300W) 2011年ごろ補助電源あり 6pin x 2で速いやつ(推奨500W) 描画タイプ GT240 GTX560 粒子数目安 GL_POINTS 4千万 1億 ~10億 ビルボード 2000万 4000万 ~4億 SPH粒子と星 200万 ~2000万 球による表示 300万 ~3000万 影つきの表示 10万 ~100万 複数の影 5万 ~50万 注)シーンによって、 数値は相当変動します

レンダリングの種類と描画時間(2) ■粒子数の目安 10秒で1枚レンダリングできると、 一時間で360枚、一晩(10時間)で3600枚 = 2分 1/100に間引くと1/10秒でレスポンスするので許容範囲 描画タイプ GT240 GTX560 粒子数目安 GL_POINTS 4千万 1億 ~10億 ビルボード 2000万 4000万 ~4億 SPH粒子と星 200万 ~2000万 球による表示 300万 ~3000万 影つきの表示 10万 ~100万 複数の影 5万 ~50万 星等の集団は ~数億程度

レンダリングの種類と描画時間(3) SPHの場合は ~数千万程度 影も入れた デブリなどは ~100万程度 描画タイプ GT240 GTX560 粒子数目安 GL_POINTS 4千万 1億 ~10億 ビルボード 2000万 4000万 ~4億 SPH粒子と星 200万 ~2000万 球による表示 300万 ~3000万 影つきの表示 10万 ~100万 複数の影 5万 ~50万 SPHの場合は ~数千万程度 影も入れた デブリなどは ~100万程度

その他追加機能 ■ブーリアン演算 ■ある領域(四角や球) の粒子の表示をON/OFF 断面図の作成 (クラスターの結晶化)

現時点でさらにつけたい機能 ■タイムリマップ機能 シーンの時間とシミュレーションの時間を別に制御 (最初に初期状態を回して、 その後シミュレーションを時間を進め、 最後に静止したシミュレーションの中を移動…など) ■テクスチャーの利用 ■図表用に、座標の表示などの強化 ■Windows/Linux/Mac(但しMac版は32bit) http://th.nao.ac.jp/~takedatk/COMPUTER/ZINDAIJI3/Zindaiji3Top.html