レイトレ合宿6 参加報告 後編(当日編)

記事が長くなってしまったので、準備編と当日編の2つの記事に分けました。

レイトレ合宿6の概要や自作レンダラーの紹介や取り組んだことについては前編に詳しく紹介させていただきました。

この記事では後編(当日編)として合宿当日の様子について振り返ります。 主に参加者との交流や神津島観光やレクリエーションの様子について書いていきます。 現地の雰囲気が少しでも伝われば幸いです。

また、他の参加者のレポートも合わせてお読みいただくと、内容を補完できると思います。

合宿当日の様子

バタバタしながらもなんとかレンダラーを提出して合宿当日を迎えることができました。

寝坊すると代替の交通手段が確保できない可能性が高かったので、合宿前日はなるべく早く退社して、帰宅後はすぐに寝ました。 早寝が功を奏してなんとか起床に成功しました。

東京〜神津島の移動

乗員19名の小さなプロペラ機で移動しました✈

台風の影響で欠便にならないかヒヤヒヤしていたのですが、結果的には天候に恵まれました。 さらに大型飛行機よりも低空飛行だったので、景色を楽しむことができました!

最前列の席だったので、座席のすぐ隣がプロペラで迫力満点でした!

ちなみに自分以外の参加者はみんな船で移動したらしく、周りに知らない人しかおらずひとり寂しかったです😢

おおよそ一時間くらいで神津島に到着しました!

飛行機からの神津島の様子です(機内モードでの撮影)。

海の青さが深くて綺麗でした🌊

東京と違って空気も綺麗で、体に降り注ぐレイ(太陽光)も力強く感じました⚡

ホテルへ移動

空港から出ると、ホテルの送迎バスが到着していて、ここでやっと他の合宿参加者と合流できました👪

バスを手配してくださった主催者のqさんに感謝です。

温泉

ホテルに荷物を預けて、神津島温泉保養センターという温泉に行きました♨

移動はレンタル自転車を利用しました🚴🚴🚴

移動の途中でxyz600600さんにお会いできたので、Rust談義をしました。 xyz600600さんもRustでレンダラーを開発されていて、私の去年のレンダラーのソースコードを参考にしていただけたそうです。 主にRustの苦労話で盛り上がりました。

水着を着用すると入れる露天風呂があって、すぐ隣が海になっていて開放感あふれる感じでした。

神津島アクアスロン大会

第7回 神津島アクアスロン大会がやってました🏊🏃🏄🏅

ちなみにアクアスロンで道が一時的に封鎖されるため、タイミングによっては温泉から帰ってこれなくなるところでした😨

レイトレ合宿

温泉から会議室に徒歩で移動して、いよいよレイトレ合宿のメインイベントが始まりました。

シークレットイベント1: レイトレ検定

会議室に入るといきなり「レイトレ検定」と書かれた問題用紙が参加者に配られ、抜き打ちのレイトレ検定試験が始まりました。

レイトレに関する偉人の顔写真を選ぶ問題、サンプリング結果から対応する手法を答える問題、 レンダリング結果から対応するレンダリング手法を選ぶ問題、 コーネルボックスを手描きする問題など癖のある問題が多く、非常に楽しませていただきました。

問題解答レイトレ合宿6の公式サイトから閲覧可能なので、ぜひ見てください!

なお、自分は100点中73点、19人中11位、偏差値は49.5と参加者の中では平均的な結果でした😐 第二回目のレイトレ検定があればもっと良い成績を取れるように頑張りたいです💪

シークレットイベント2: 三葉レイちゃんの応援動画

CG技術系Vtuberの三葉レイちゃんから応援の動画をいただきました☘😍 レイトレのやる気が湧いてきました。ありがとうございます! なお、動画は参加者のみの限定公開だそうです!つまり参加者限定特典です🤤

セミナー

今年は2名がセミナーで発表してくださいました。

実装してきたこと、これからやってみたいこと by Zin

ZinさんはAMDでRadeon ProRenderを開発されている方で、プロダクションレンダラーにおけるテストの手法等の貴重なお話を聞くことができました。

DCCツールのインテグレーションやレンダラーのテストなどのやりたいとは思っているものの踏み出せていない領域の話だったので、興味深く聞かせていただきました。

発表の途中でちょくちょくRadeon ProRenderの宣伝が入っているのが面白かったです。

Volume Rendering 方程式から大気散乱モデルを導く by ishiyama

ishiyamaさんは今回が合宿へ初参加ということながらセミナーをしてくださいました!

Volume Rendering 方程式をちゃんと調べたことがなかったので勉強になりました。

現地では発光輝度に吸収係数がかかるのは何故かという話題で盛り上がっていました。 そもそも発光するボリュームってなんだろう?と思いましたが、炎などが該当するんでしょうかね。

レンダラープレゼン大会

いよいよレイトレ合宿のメインイベントである自作のレンダラーのプレゼン大会が始まりました。

ちなみに最終提出のレンダリング結果はここで初めて見ることになります。かなり心臓に悪いシステムですね。 私は想定通りのレンダリング結果が出力されていて、ほっとしました😌

発表順も当日まで分からないのですが、今年はまさかのトップバッターだったので少々焦りました。 3倍速の高速化(Rustのバージョンを上げただけ)はウケたようなので良かったです。 Bunnyのワイヤーフレーム化もHoudiniの標準ノードで簡単に実現できるのですが、興味をもってくださった人がいて良かったです。

レイトレ合宿では参加者同士の投票によって順位を決定し、最終日に結果発表と表彰式が行われます。

今年は過去最大の19人がレンダラーを提出されていました。

上位陣の発表

上位陣は今年もレベルが非常に高かったですね。

1位のShockerさんはOptixを利用したGPU実装のレンダラーで参加されていました(発表資料)。 去年までGPU搭載のインスタンスは利用できなかったのですが、今年からGPUインスタンスが解禁されたのが背景にあります。 GPU実装だからといって機能は妥協したくないということで、シーングラフ、任意形状の光源、多様かつ複雑なマテリアル(UE4 BRDF等)、 MISなどFull-Featured Path Tracerに相応しい機能を詰め込まれていました!

2位のshinjiさんは個人でRedqueenレンダラーを開発しており、 仕事ではSolid AngleでArnold Rendererを開発している凄い方です。 プロシージャルに生成した熱帯雨林のシーンが見事でした。 雨の表現は実際に雨粒がGeometryとして存在していて、遠くが白く霞むフォグの表現も大量の水滴によって自然に生じているそうです。 圧倒的なポリゴンの物量なのにどうやってこの速度を実現できているのか不思議でした。 他の参加者が発表の中でArnoldの速度に勝てないよという声が漏れる中、 shinjiさんは発表の中でArnoldに勝てるケースを示しながら圧倒的な 強さ を見せつけられました。

3位のUshioさんも私と同じくHoudiniでアセットを作成されていました。 私はHoudiniで作ったジオメトリをobjでメッシュを書き出しただけなので、シーン上の配置はハードコーディングしていたのですが、 UshioさんはAlembicでHoudiniとレンダラーのデータの橋渡しを行い、Houdini上でシーン作成の完結を実現されていました👏 さらに衝突判定にIntelのEmbreeを利用されていました。 Embreeのパフォーマンスは相当高いという意見が参加者内でも一致していたので、使ってみたい気持ちが強くなってきました。 Velvetのマテリアルをつかった美しい布の見た目も印象的でした。

4位のholeさんはボリュームレダリングとプロシージャルなシーン生成をされていました。 プロシージャルに生成された床の模様がカッコよかったです。 高速化についてはボリュームレンダリングに頻出の pow, exp, logfmathで置き換えることが効果的だったそうです。

5位のPerimさんPerimさんはCGの分野で大活躍されている研究者でファーストオーサーの論文がSIGGRAPH 2017にアクセプトもされています。 あいにくPerimさんは海外出張中だったため、本人に替わってqさんがプレゼンを行いました。 minptというわずか300行のC++で実用的なレンダラーを開発されており、 そのminptに機能を追加して今回の作品をつくったそうです。

DCCツールとの連携

今年はDCCの連携を行った方が多い印象でした。

  • Houdini は Ushio さん
  • Maya は yopio さん
    • Mayaのプラグインを開発して、Mayaからの直接レンダリングを実現したそうです
    • 発表資料
  • Blender は Zin さん

心をこめて手作業でシーン情報をハードコーディングするのは単純に大変ですし、 シーンの完成度を向上することも難しいので、DCCツール連携の重要性は高まっていると感じます。

もちろんshinjiさんやholeさんのように一貫してプロシージャルなシーン生成に倒すアプローチも良いと思いますが、 意図的にシーンをレイアウトしたいのであれば、DCCツール連携が賢い解決策だと個人的には感じました。

初回参加者の方々が強い

また、初回参加者の方々が強いのも印象的でした。

mizutoriさんはCG分野を研究されている学生で、BSSRDF(表面下化散乱)やNEEやMIS(ただしバグのため未使用)など、比較的難しいことに挑戦されていました。

yamaguchiさんも同じ研究室の学生で、諸事情により最終的にはパストレーシングで提出したものの、 フォトンマッピング系の手法(具体的な手法の名前はメモし忘れました)も試していたようで、凄いと思いました。

shutoさんは元々C++の経験が無かったそうなのですが、 一ヶ月という短い期間でC++の習得からBVHなど高速化を含んだパストレまでされていて、習得速度が早くて凄いと思いました。

xyz600600さんはRustを習得しつつ、かなり色々やられていて本当にすごいと思いました。 NEEやMISはもちろんのこと、 同じジオメトリを位置やマテリアルを変えて大量に出すオブジェクトのClone(所謂インスタンシング)までされていました。

ishiyamaさんはボリュームレンダリングのGPU実装に挑戦し、さらにセミナーで発表までされていました。

独自テーマで挑戦していて凄い

常連メンバーも相変わらず強くて、それぞれ独自のテーマで挑戦されていて面白かったです。

qさんはレイトレ合宿の主催者のひとりで、光源が大量にあるシーンに挑戦されていました。

pheemaさんは環境マップの重点サンプリングに挑戦されていました。 個人的にも実装したいテーマだったので参考文献のMonte Carlo Rendering with Natural Illuminationの紹介が助かりました。

tabochanさんは磨りガラスの中に光源があるというレンダラー殺しの難易度の高いシーンに挑戦されていました。

tatsyさんは普通のパストレーシングでは面白くないということで、 今年もパストレーシング以外の最新のレンダリング手法(具体的な名前をメモし忘れました)に挑戦されていました。

pocolさんは動画部門に挑戦されていました。 動画部門は去年から新しくできた部門なのですが、1フレームあたりにかけられる時間が15秒弱になってしまいます。 そんなハードモードの動画部門に果敢に挑戦されていました。

pentanさんはglTF(Khronosが提唱する新しい3Dデータフォーマット)に対応されていました。 また、Swiftというあまりレイトレ業界では一般的ではない言語を選択されていたので、自力で解決しないといけない問題でおそらく苦労されたのではないかと予想します。 私も去年からRustで参加しましたが、レイトレ向けのパフォーマンスの高いライブラリを自力で見つける必要があったり、 並列化やレイトレに使うようなデータ構造の定義であまり参考にできる情報が無くて、地味に時間が取られて苦しみました。

夕食

レンダラープレゼン大会の後はホテルに戻って夕食を食べました。

ホテルの料理は最高に美味しくてボリュームも満点で大変満足でした。

花火大会

夕食を食べたあとはホテル近くの海岸で花火をしました。

Ushioさんが買ってきてくれた花火と運営の方々が買ってきてくれた花火を合わせて、遊びきれないくらい大量の花火で遊びました🎆🎇

手持ちの花火から打ち上げ式の花火まで様々な種類の花火で遊びました🔥💣💥📛

海岸の風が強くロウソクの炎が消えてしまうというトラブルにも見舞われましたが、 流体や物理に強い参加者のおかげでなんとかなりました!

残念ながらまともな写真が残っていませんが、平成最後の夏の花火を大いに楽しみました。

離島ということもあり、人口的な明かりがほぼ無いので、夜は真っ暗でした。 もし晴れていれば星が綺麗に見えたのでしょうが、あいにく空が曇っていたのが残念です。

朝食

早起きして朝の温泉に浸かった後に朝食を食べました。

自分の普段の食生活は崩壊しているので、久々の健康的な朝食に感動しました。

授賞式

合宿の最終日の朝にはレイトレ合宿の授賞式が行われました。

まずは光線追跡技術大賞2018 (日本レイトレーシング協会)の発表が行われました。 今年から新しく設けられた賞でMicrosoft DirectX Raytracingが見事入賞に輝きました! レイトレ合宿にMicrosoftの関係者がいなかったので、なぜかAMDのZinさんが賞を受け取ることになりました。

次にレイトレ検定の結果発表が行われました。 成績が優秀な順に答案用紙が返却されるので、成績が下位な人たちには残酷なシステムでした…

そして最後はレイトレ合宿の成績発表が行われました。 単なる順位発表ではなく、なんと順位に応じて賞品も授与されます。 私の今年の賞品はレンズ豆でした。後で美味しくいただきます。 ちなみにWikipediaによると、光学用途で使われる「レンズ」の語源は、このレンズマメであり、 当初作成された凸レンズがレンズマメの形状に似ていたことからこの名前が付いたそうです。

なお見事上位に入賞すればレンズキット等の豪華賞品をゲットできます!

また最下位になると幼児👶向けのプログラミングの絵本が貰えます! まったくネタに事欠かない合宿ですね。

レイ・トレーサー

6位の賞品はPlayStation1本体とPlayStation1ソフトのレイ・トレーサーのセットでした。

主催のqさんに授与されたのですが、自分は要らないということで、xyz600さんに譲渡されることになりました。

xyz600さんとホテルの部屋が一緒だったので、少しだけ遊ばせてもらいました🎮

レーシングゲームかと思いきや、まさかの敵の車に体当たりして破壊するゲームでした☠💥🚗

遊んでいる途中に描画がバグってホラーのようになってしまいました。

xyz600さんは最終的には全クリされたようで凄いです!ちなみに私は1面のボスすら倒せませんでした…

東京までの移動

飛行機の予約競争に敗北したので、帰りは大型船で移動しました⛴

飛行機なら1時間ほどで移動できますが、大型船は9時間くらいかかります。 暇すぎたのでプログラミングなどの作業に挑戦しましたが、船の揺れがつよくて吐き気に耐えながらの作業になりました。 インターネットも使えないので事前にVeachの論文やShockerさんの記事やスライドをローカルにダウンロードしておきました。

途中で運良くyopioさんと合流できたので、一緒に船の中を散策したり、食堂でご飯を食べたりして過ごしました。

まとめ

私は今年で3回目の参加になりますが、改めてレイトレ合宿は素晴らしいイベントだと思いました。

毎年すこしずつルールが進化しているので、毎年新しい技術や知見を得ることができます。 今年の例を挙げると、GPUレンダラーや論理64コアを以上のWindows環境を扱う際の知見を得ることができました。 その他にも自作でレンダラーを開発する過程や試行錯誤のうちに得られた知見が数多くありました。

また、レイトレについて日本語で調べると、ほぼ確実にレイトレ合宿の関係者の文献に辿り着きます。 理解できなかった点や疑問点を直接著者に聞けるというのは凄い特権だと感じました。 さらにグラフィック分野の凄い方々の成果やお話をたくさん聞けてモチベーションも上がりました。 しかも今年はレイトレ検定や三葉レイちゃんの応援動画など楽しい企画が盛りだくさんでした。 来年もぜひ参加したいです!

レイトレ合宿を運営・企画してくださったqさんとholeさん、レイトレ合宿の参加者のみなさん、本当にありがとうございました!

おまけ:制作の過程+当日の様子

レイトレ合宿6に関連する自分のツイートをモーメントにまとめました。

comments powered by Disqus

gam0022.net

Qiita