LIFE LOG(MochiMochi3D)

MochiMochi3D

3D関係の記事を書きます

レイトレ合宿9 参加レポート

9月1日から9月3日にかけて開催されたレイトレ合宿9に参加してきました。去年は何ともラグジュアリーな合宿だった反動で、今年は千葉県の大本山 清澄寺というお寺で慎ましやかに開催されました。

今回は無事に本番環境でも実行できるレンダラーを提出することができ、「5分の制限時間内に10~60fpsの3秒以上のアニメーションレンダリング」のレギュレーションのもと、以下のような動画を提出してなんと5位を頂けました。やったー

youtu.be

結構時間が経ってから書いているのでちょっと記憶が曖昧になっていますが、レンダラー開発記や当日の様子についてレポートを書いていこうと思います。(レポートの写真はいくつかyumcyawizさんからご提供いただきました。)

レンダラー開発記

今回のレンダラーは去年と同じく結構がっつり書いていこうかなと思っていたのですが、今年に入り学業の環境が変わったり、コミケ出展などが重なってしまい、結局制作期間は2週間ぐらいになってしまいました。なので前回の機能に+αぐらいの感じのレンダラーを目指して作っていきました。

主に以下のことを目標に制作を行いました。当時のメモはレイトレ合宿メモ - ShaderMemorandomにあります(非常に雑なメモです)

  • リファクタリング
  • GGXの最適化
  • 薄膜干渉
  • Meta-Materialの実装
  • 絵的な改善
  • Multi-Scattering GGX(実装できなかった)

前回のレンダラーは初めてのOptiXであったため、今見るとかなりのスパゲッティコードとなってしまっていて、完全にぶっ壊して一からリファクタリングをしたいなという気持ちがありました。また、前回は本番環境で動かなかったという悲しいバグがあったため、それの原因を探るべくもう少しOptiXの勉強ということもかねて細々とリファクタリングを行いました。

結局、実行できなかった原因はPTXファイルの読み込みを絶対パスでやっていたというかなりお粗末な内容でした。OptiXはシェーダーファイル的なものとしてPTXファイルというものを生成して読み込む形で行うのですが、私が参照したサンプルのコードではこのPTXファイルのバイナリを以下のような関数で読み込んでいます。

肝心の原因がこれで、この関数は絶対パスでファイルを指定しています。そりゃ本番で動くわけがなく、OptiXサンプルをそのまま使うと嵌ってしまう変な落とし穴でした。

これに対して雑な対症療法ではありますが、PTXファイルを直接バイナリで読み込むように自分で関数を用意してあげることで解決しました。ちなみにサンプルをそのまま使用した場合はPTXファイルはlib->ptxフォルダに生成され、デバッグビルド、リリースビルドでそれぞれ分けれられています。lib->ptx->Debugを見れば以下の画像のようなファイル構成をしており、レンダラー名のPTXファイル(ここだとHenjouRenderer_generated~)を指定して読み込めば、無事に実行することが出来ました。ptxファイルもちゃんとリリースビルドのだとかなり高速なので本番ではReleaseに入っているptxフォルダを使うようにしてください。

lib->ptx->Debugの中身 [Render名]_generated~のptxファイルを読み込めばいい

とりあえずptxファイルの読み込みを相対パスでやり、提出する際はlibファイルをそのまま突っ込んでやることで何とか本番環境でも動くことが出来ました。他にはGASやIASの生成などの設定項目も見直して、細々とリファクタリングをしていきました。

ただ、すんなり行ったというわけではなく、修正に5日ぐらいかかったバグがありました。そのバグというのはシェーダーのコードが大きくなると何故かGPU処理が強制終了するというものでした。

一体何が原因のかNsightやprintfデバッグなど色々試してみたのですがはっきりとはわからず、コード自体は前回に動作確認済みのものでも生じました。今まで出会ったことがないバグでかなり時間をかけることになり、最終的には(多分)「関数呼び出しの回数が多いと生じる」という結論に至りました。

ただその原因が何なのかはさっぱり見当もつかず、わからんとTwitterでぼやいたところYoshi's Dreamさんからスタックオーバーフローが原因ではないかとのご指摘を頂きました。

twitter.com

言われてみれば確かにそれっぽい感じの挙動をしていると思い、Yoshi's Dreamさんからスタックサイズを増やす方法を教えてもらい実行してみるとなんとエラーが消えて、無事に実行することが出来ました。Yoshi's Dreamさん、ありがとうございました。

結果としてこのバグは「スタックオーバーフロー」によるものであったのですが、前回こんなことはなく、サンプルとかでもそれの対策とか取っている覚えがなかったので結構謎が残るバグでした。何が原因だったのでしょうか・・・

とにかく対症療法的にcudaDeviceSetLimit(cudaLimitStackSize)という関数をContext生成後に付け加えることで何とか治りました。

追加機能

主な追加機能はマテリアル関係で、まずはGGXの最適化を行いました。最近はMicrofacetをよく勉強しており、直近のC102ではそれに関する本を出したりしていました。

motimoti3d.booth.pm

なので今見ると去年の実装はもっとシンプルに書けそうだなぁと思い、今回はもう少し綺麗な形で実装を書きました。また、新しい話として可視法線分布サンプリングの高速化を行いました。

可視法線分布サンプリングは今では[Heitz 2018]Sampling the GGX Distribution of Visible Normalsで発表された手法が一般的ですが、最近になって[Dupuy, Benyoub 2023] Sampling Visible GGX Normals with Spherical Capsという論文でより最適化された可視法線分布サンプリングが発表されました。この手法がどうゆう感じで行われてるのはちょっと追っていませんが、2行分ぐらいの処理がなくなっており、[Heitz 2018]の手法よりおよそ3~7%程早くなるとのことです(ちゃんとロバストな手法なのは一応確かめました)。

[Dupuy,Benyoub 2023] Sampling Visible GGX Normals with Spherical Caps

何とも僅かな高速化という感じはありますが、DisneyBRDFを実装していたりするとBSDFを呼び出すごとに大体可視法線分布サンプリングは呼び出されることとなりますので、意外とレンダリング時間に直結する嬉しい最適化です(ただ実機で比較検証し忘れたのでちょっと明言は控えておきます)。論文には実装がちゃんと書いてあり、実装そのものもシンプルなものなのですぐに実装できますので良い手法だなと感じました

また、薄膜干渉BRDFを追加で実装しました。薄膜干渉自体は前々から実装しており、こんなスライド作るぐらいにはハマっていました。実装とかは以下のスライドで示している資料などを見て頂ければと思います。

speakerdeck.com

この手法はHoudiniのレンダラーなどでも実装されているぐらいには実用的で、面白いことにフレネル値の計算を行うだけなのでリアルタイムに組み込むことも可能です。

当初の予定では薄膜干渉に加えてMultiple-Scatteringを実装して、それをメインにしようかなと考えていました。

ちょっと処理が多いとは言えリアルタイムで実行できるぐらいにはこの手法は高速に計算できるので、通常のBRDFに組み込むぐらいならLUTを用意する必要性はそこまでないように感じます。しかしながら、Multiple-Scatteringでは何回もフレネルの計算を行う必要があるため、それに耐えれるよう薄膜干渉はLUTとして持って置こうと早い段階で薄膜干渉のLUT生成アセットをUnityで制作していました。結局Multiple-Scatteringの実装は間に合わなかったのであまり必要性はなくなってしまいましたが。

github.com

それでもちょっとだけ新しい手法を取り入れていて、Artist Frendly Metallic Fresnelという手法を実装しました。薄膜干渉では吸収率と屈折率を含めた複素屈折率をRGBで指定する必要があるのですが、これは中々に分かりづらいパラメーターとなっています。結構狙った色を出そうと思うとかなりの試行錯誤が必要であり、また銅のような複素屈折率が知られている物質のパラメータをそのまま入れてもRGBに離散化されているせいで思った色になってはくれません。

銅の複素屈折率をRGBで入れてみた例、銅のような色合いが現れない

このようにRGBの複素屈折率の指定は人の手でやるにはとても難しいという事情があるため、逆に色から複素屈折率を算出する手法としてArtist Frendly Metallic Fresnelが発案されました。この手法では基本となるColorと端っこにおける色Edge Tintの2つの色からそのような色を出してくれる複素屈折率を求める式を提供しています。そのため、非常に直感的に複素屈折率を操作することが出来ます。

式としてはColor  r = (r_r,r_g,r_b)、EdgeTint  g = (g_r,g_g,g_b)に対して複素屈折率の実部 n,虚部 \kappaを以下の式で求めます。

Artist Frendly Metallic Fresnelの式

そんなわけでこれを導入していい感じに薄膜干渉のLUTを作れるようにしていました。本番ではこのようなLUTを使用していました。

薄膜干渉のLUT
薄膜干渉については前々からやっていたこともあり直ぐに実装することが出来ましたが、Multiple-Scatteringについては理論も微妙に分かっていない部分があったため、時間的に厳しいなと思い断念しました。

でもそれだとちょっと物足りないかなと考え、やったけどあんまり発表していなかったMeta-Material BTDFを組み込むことを決定しました。

メタマテリアルというのは「自然界にない人工物質」を指す言葉で、そういった今までにない材料を作る分野として材料工学では色々考えられています。例としては「押すと全体が縮む物質(負ポアソン物質)」や「高屈折率物質」といったものがあり、理論的に提唱されたものだけでなく実際に制作されているものがあります。特にメタマテリアルで有名なものとして「負屈折率物質」というものがあります。これは名前の通り光学的屈折率が負の値を持つ物質です。

当然ですが皆さんがよく見るような物質では屈折率は基本的に1以下になることはなく(極一部例外はありますが)、ましてや屈折率が負になるなんてことはありません。負屈折率物質の初めは「屈折率が負になったらどうなるんだろ~」みたいな感じのもしあったらどうする的な思考実験から考えつかれたものです。

色々な議論の末、負屈折率物質は屈折角がマイナス方向、つまりは入ってきた側へとくの字に帰るような形の方向へと屈折するような物質であるということが理論上では求められました。そんな感じで負の屈折率を持つ物体というのが考えられたわけです。

負屈折率の屈折

現在ではこの負屈折率物質は研究レベルではありますが、実は赤外線の範囲で実現しており、今までにできなかった光学素子として注目されていたりします。

応用はともかくとして面白い屈折の仕方をする物質だなぁと思い、折角なのでレイトレでやってみたらどうなるんだろうと去年ぐらいに1度実装したことがあります。

実装についてはBTDFとして議論している論文は見当たらなかったので自分でBTDFを考案して実装しています。とはいっても理論的には殆どIdeal Refractionと同様のです。

負屈折率を考えるうえで一番重要なのはフレネルの値です。愚直に負の屈折率入れてもいいのではと思うかもしれませんが、通常のフレネル計算では負の屈折率を入れるとF0がマイナスになってしまいおかしくなります。なので負の屈折率の場合はちゃんと何かしらの処理を挟む必要があります。

色々調べてみた結果、負屈折率のフレネルは物理学的に「マイナスを取ったIORのフレネルに等しい」らしく、単に正の値へと変換してあげれば問題ありません*1

Ideal Refractionにおいては屈折による密度変化に対応するため、相対屈折率による補正をかける必要がありますが、それは単に立体角の変化によるものであり、メタマテリアルは単に屈折角が対称になっただけですので同様の補正を考えてあげれば全く問題ありません。

従って、Meta-Material BTDFは「屈折角以外は全てマイナス取ったIORの時のIdeal Refractionと同様に計算して良い」ということが分かりました。実際、実装ではIdeal Refractionに追加で屈折角を対象にする操作を追加しただけで出来ます。

屈折角の計算

そんなわけでMeta-Material BTDFを制作しました。やってみるとなんともバグのような感じの見た目になり中々面白い感じになりました

メタマテリアルのガラス

メタマテリアルの水

おおよそこれらが実装できたのは締め切り3日前ぐらいでそこからは本番環境の実行テストとシーンの制作を行いました。

シーン制作

今回のレイトレ合宿の舞台がお寺ということもあり、テーマとして「いつもの仏陀像+お寺+メタマテリアルが映えそうなやつ」という感じで制作しました。

最初はお堂みたいなのを作っていたのですがメタマテリアルを置く場所がない→水でも置くか→天井が低い気がするので高くするみたいな感じでやって行ったら、最終的にできたのがなんか千と千尋の油屋みたいな感じになりました。

制作したシーン

シーンの制作自体は前回と同様にBlendersubstance painterで制作しました。別段技術的に面白いことがないのでネタがありません。最近Houdiniで遊んでいたので使ってみたかったですね(ykzwさんの黄金比のランダマイズを使って蓮を生成する案があった)。

小ネタとしてレイトレ合宿の梵語梵語変換サイトで制作して、テクスチャとして扱いました。

lightbox.on.coocan.jp

来年はもう少しモデリングの方でも面白いことしてみたいですね

レイトレ合宿当日

そんなかんなでレンダラーを提出し、無事にレイトレ合宿当日を迎えることが出来ました。今年は前回とうって変わってめちゃめちゃ天候に恵まれ、初日は雲一つない晴天でした。

今回のレイトレ合宿は全員2泊3日前提の予定が組まれており、電車組、車組で別々に移動し、現地で集合という形で集まりました。

私は電車組で、他の方々と千葉駅で合流しそこからのらりくらり2時間かけて現地まで一緒に移動しました。今年は初参加者の方が例年より多く、Twitter上で見たことがあるという方もちらほらおり、楽しくお話することが出来ました。

千葉駅

千葉駅にあった謎のガチャガチャ

車窓風景

駅の風景 撮影 yumcyawiz

天津安房駅 撮影 yumcyawiz

今回のレイトレ合宿は千葉県の鴨川あたりに位置する大本山 清澄寺という由緒正しいお寺で行われました。仏教に詳しくないのでアレですが、なんか総本山的な感じの結構大きいお寺らしいです。

電車組は12時ぐらいに最寄り駅に到着、その後バスで山の上のお寺に向かいました。バスを降りた直後の高台ではとても良い景色が見れました。なんともかの歌川広重が浮世絵に書いたことがある景色なんだそうです。

いい景色 フォグを感じる

www.jiu.ac.jp

その後、目的地のお寺に到着しました。このお寺では宿坊という宿泊施設があり、今回のレイトレ合宿はそこで行われました。あまり事前情報を知らなかったのでなんかお堂みたいなのを想像していたのですが、入ってみるとなんだか普通の旅館みたいないい感じのところでした。

受付(夜) 撮影 yumcyawiz

部屋 撮影 yumcyawiz

多少のトラブルはあったものの宿坊の集会場に参加者全員集まり、ついにレイトレ合宿が開催されました。

お寺の門 撮影 yumcyawiz

レイトレ合宿

1日目

1日目は参加者の方々がスライドで何かしらを解説するセミナーが昼と夜に行われました。トップバッターはYoshi's Dreamさんで、ルールベースのデノイズ手法であるSVGFについて解説して頂きました。しっかりとSVGFの手法についてまとまっている資料で、前々からSVGFについて知りたかったので個人的にはとても面白かったです。

speakerdeck.com

次の発表者はgam0022さん、UEでのObjectSpaceRaymarchingとSESSIONSで発表した作品におけるIFSモデリングについての2本立てでセミナーをして頂きました。UEの資料ではレイマーチの物体がGIで床面に移りこんでいたりとUEの綺麗なレンダリングに組み込まれていて面白かったです。なかなか通常のモデルとレイマーチの物体を一緒に、しかも綺麗にレンダリングするのは難しそうと感じていたのですが、こうしてUEにカスタムシェーダーとして組み込むことが出来るならレイマーチの面白い映像を気軽に作れそうで良いなと思いました。

docs.google.com

docs.google.com

続いてはykozwさん、区間算術、アフィン算術という誤差に関わる数学について解説してくださいました。普段あまり丸め誤差について考えることがなく、そうした誤差に関しての理論がちゃんとあることを初めて知ったので非常に興味深かったです。いつかちゃんとこの辺も学んでみたいです

speakerdeck.com

4番目にはholeさんが発表してくださいました。Holeさんのセミナーはfloatの乱数の正当性という非常に興味深いものでした。乱数のこともそうですし、浮動小数がどのように数値を持っているかについても非常に分かりやすく説明しており、Floatに対する理解がかなり進むとてもいい資料でした。

speakerdeck.com

そして昼のセミナーの最後は私が担当しました。私は「Volume形式のGGX」という題名でMultiple-Scatteringについて以下のスライドを用いて解説しました。題目を決めた時点では合宿本番にはMultiple-Scatteringわかっているだろうと思っていたのですが全然理論の理解すら間に合わず、なんとなく解説するような形になってしまいびくびくしながらセミナーをやっていました。スライドの制作も確か当日の朝4時とかなりギリギリまで作っていました。

speakerdeck.com

こうして昼のセミナーが終了し、一旦休憩ということで夕食などが行われました。夕食はお寺ということで一切の動物性たんぱく質のない精進料理が出されました。精進料理を全く知らなかったのでどんな質素なものが出るかと思ったら、意外にも料亭のような豪華な夕食でした。とてもおいしかったです。

x.com

食事や入浴後、夜のセミナーが開始しました。まずはyumchawizさんで、フォトンマッピングにについて解説していました。yumchawizさんは以前フォトンマッピングの記事を書いていただけあって非常に分かりやすい説明で、また光輸送方程式とフォトマッピングの理論的関係を深く話しておりとても良いセミナーでした。

github.com

その次はうでメガネさんが担当しました。うでメガネさんのセミナーの題材はReSTIR PTで、前々から気になっていた手法ということもあって興味深いセミナーでした。RISなどの説明も良かったのでReSTIR周りを調べたい時にいい資料になりそうだと感じました。

www.docswell.com

スライドを公表していない方は省略させて頂きますが、次の日も含めてそれぞれ特色があり、とても充実したセミナーになりました。

2日目

2日目からはアクティビティがあり、最初は朝の5時に本堂でお経を聞くというお寺ならではな活動が予定されていました。ちょうどその時間が日の出の時間帯ということがあり、ちょっとだけ早めに起きてお勤めの前に展望台から日の出を皆さんと一緒に見ました。早朝の山という中々見ないシチュエーションでの光景は素晴らしく、フォグとフラクタルを感じさせる山脈、そして空のボリュームとShadertoyの作品でありそうな風景が広がっていました。ほんとにフォグってあんな感じに出るんですね

日の出 撮影 yumcyawiz

そしてそのまま本堂に向かい、お勤めを果たしてきました。お勤めは太鼓をたたきながら住職がお経を唱える中、ご尊像の前で焼香をするというような感じで行われました。お経はよく聞くようなザお経が流れていましたが、突如「レイトレ合宿~」と明らかにお寺に似つかわしくない単語がお経に交じってきていました。どうやらご尊体にレイトレ合宿を伝えていたようです。

本堂 撮影 yumcyawiz

お勤めの後、ご住職の話を聞き無事に朝のアクティビティが終わり、朝食を済ませました。その後は10時ぐらいまで自由時間ということでふらふらと境内を参加者の人と散歩していました。境内も結構面白く、でかい杉、なんかやたらとアジアンテイストな仏舎利、謎の稲荷神社など様々な場所を巡っていました。

でかい杉

仏舎利

次は寺アクティビティ2ということで道場で瞑想を行いました。瞑想のポーズにもちゃんと決まりがあり、不浄を表す右手を上にして手を組むなどの指導を受け瞑想が始まりました。瞑想はとにかく何も考えないということをするのですが、何も考えない時間が来ると「あの実装もう少しこうした方がいいんじゃないか」というレイトレ雑念がぽつぽつと浮かび、結局レイトレ邪心を取り払うことはできませんでした。

朝のセミナー

こうしてアクティビティを終えると次は朝のセミナーが始まりました。朝のセミナーの初めはZinさんで、GPUデバッグを楽にする方法について解説してくださいました。GPUは常々デバッグがめんどくさく今回のレンダラーでもかなりデバッグに苦戦した経験もあったので、セミナーにあるような形による設計は良さそうだなと思いました。CUDAであればGPUとCPUの共通化とかもできたと思うので次回からしっかりとデバッグも考えた設計にしてみたいです。

github.com

続いてはShockerさんのセミナーです。Shockerさんは現代のGPUの実行の流れを発表して頂けました。どのセミナーも良かったですが、個人的にはこちらのセミナーが一番衝撃だったなと覚えております。前々から「GPUでif文は使ってはいけないよ~」という話は聞いていたのですが、具体的に何故なのかについてはそこまで詳しく知っておらず、「何でやろなぁ」と思っていたのですが、ShockerさんのセミナーはそういったGPUの分岐にまつわる話を詳しく解説しており、今まで疑問だったGPUの動作の謎を明らかにしてくれました。GPUの動作を知りたい方は是非一読してほしい資料です。

speakerdeck.com

アクティビティ&本戦

朝のセミナーが終わり、昼食をしていたのですが終わり際主催の方から13:00まで〇〇〇号室に入らないで下さいとの連絡がありました。この次はアクティビティがある予定でそれの準備だろうということで「レイトレお焚き上げ?」などと色々予想しつつ、時間になったので部屋に行ってみるとずらっと並んだマテリアルのカードが床一面に敷き詰められていました。

今回のアクティビティはなんとマテリアル神経衰弱!部屋でチームを分かれて同じマテリアルを引いてペアの数で競い合います。ぱっと見写真だと4~6個ぐらい同じようなマテリアルが見えますが多分全部違うものです。ピンクだけでもピンクファブリック、ピンクアクレリック、ピンクプラスチックみたいに材質が違うものが用意されており、ちゃんとそれらも区別していかなくいけません。全部同じじゃないですか

撮影 yumcyawiz

数が多すぎるので制限時間内が設けられ、どれだけ取れるか競い合いました。信じられないぐらい種類が多く皆さんどれがどれだよと言いながら熱戦を繰り広げていきました。私は場所で覚える作戦で行きましたが正直3枚ぐらいしか覚えられず1枚も取れずに終わってしまいました。

マテリアル神経衰弱の頂点に立ったのはNishikiさんチーム!3ペア、しかも全部ちゃんと覚えて取っており純然たる実力の勝利を収めました。優勝チームには景品として神経衰弱に使われたマテリアルトランプが贈呈されました。

予想外のアクティビティに盛り上がった後、ついにレイトレ合宿本戦が始まりました。本戦は一人ずつ名前が呼ばれ、その方が提出したレンダラーによるアニメーションを流し、そのレンダラーを10点満点で評価をして順位をつけていくというものです。

今年は17個のレンダラーが提出されており、各動画はレイトレ合宿9のリザルトから見ることが出来ます。提出されたレンダラーは各々手法など特色あるレンダラー仕上がっており、非常に面白い物ばかりでした。個人的にはHoleさん、うしおさん、Nishikiさんがとても良かったなと感じました。各アニメーション発表後はそのレンダラーの解説をし、どのような手法を使ったのか技術的な事を紹介します。技術的な部分ではてらさん、うでメガネさんの作品も興味深いと感じました。

sites.google.com

ちなみにうしおさんの発表は諸事情によりこのような音声で行われました。よかったら聞いてみてください

MassiveVoxelRayTracing/usecase2_submission/ずんだもん.wav at master · Ushio/MassiveVoxelRayTracing · GitHub

無事に私のレンダラーも皆さんの前で無事に発表することが出来ました。前回のことがトラウマ過ぎて、本番になるまで本当に大丈夫なのかと頭の隅に不安を持ち続けていていましたがちゃんと出てきて安心しました。ただプロジェクターで見てみると意外と絵が暗くなりがちで結構映像が黒でつぶれてしまったなぁと思っていました。次回はもう少し色についても気にしていきたいと思います。

夜のセミナー

こうして本番の発表が終わりまして、最後のセミナーが行われました。最初の発表はishiyamaさん、ホイヘイスの原理と電磁波という物理チックな題材を発表して頂きました。ホイヘンスの原理自体は存じていたのですが、波動の原理としてあるぐらい根底の原理だとは知らず、波動としての証明に使われるのは幾何光学の話を最近した身としてはかなり興味深い話でした。なかなか難しめな内容だったのでいつか理解してみたいですね。

github.com

次はkugiさんで、レンダラーに用いたWebGPUについて紹介して頂きました。WebGPUは名前だけ知っている感じだったので、概略でも分かったのでとても良かったです。WebGPUっててっきりWebだけしかできないと思っていたのですが、C++から呼び出すことも可能なのは色々出来そうで面白そうでした。

speakerdeck.com

公開されている中では最後の発表はPentanさんでした。AppleのグラフィックAPIのMetalについての紹介をして頂きました。全くMetalに関しては追っていなかったのでMetalでも一応レイトレを取り入れていることに驚きました。いつしかiphoneでもレイトレができる時代が来るのでしょうか

github.com

他にも謎のセミナーがあったりしましたが、こうして全セミナーが無事に終了しました。今回、本戦とは別にどのセミナーが良かったのかを投票で決める「ベストプレゼンター賞」が行われており、それの投票をしていました。

twitter.com

最終日

レイトレ合宿もついに最終日を迎えました。最終日も朝の5時から・・・ではなく何故かもっと早い4時から集合となりました。もはや早朝ではなくどう見ても夜の中本堂に向かいお勤めをしました。ものすごい早朝だってことで大半の人は起きれないんじゃないかと思っていましたが、意外にも前日に来た人は殆どお勤めに来ていて、お寺の人も予想外っぽい面持ちでした。お勤めを果たすとお菓子と参拝証明書みたいなのをもらいました。その後は皆さんと日の出を見たり、散策したりと自由時間を過ごしました。

朝4時の境内 撮影 yumcyawiz

撮影 yumcyawiz

ご近所の方が飼っていた鶏 撮影 yumcyawiz

仏舎利 撮影 yumcyawiz

twitter.com

結果発表

そうして遂に本戦の結果発表の時間になりました。栄えある優勝作品となったのはうしおさんのHako1dot0でした。ボクセル化という唯一の特徴をもち、映像作品としてみても面白いものに仕上がっていて、一位も納得の素晴らしい作品でした。レンダリング時間もかなり厳しい状況でこのような作品を出せることから、やはり技術的にも強さを感じます。

私は5位とかなり高い順位を頂くことができ、前回の汚名返上も併せてとても嬉しい結果となりました。景品として分光シート(多分,回折格子)を頂きました。これで分光器を作りたい放題

分光シート

また、ベストプレゼンター賞はshockerさんの「現代のGPUの実行スタイルとレイトレ (2023)」でした。私としてもこれが一番と感じるとても素晴らしいセミナーでした。

こうして無事にレイトレ合宿は終了を迎えました。その後はshockerさんの景品であった投げたら帰ってくるボールで遊んだり、分光で遊んだり、業を負ったりして帰りました。

twitter.com

今年も非常に面白い合宿でした。レイトレ合宿の参加者&主催者様、お疲れさまでした。

*1:メタマテリアルのための光学入門 より参照