レイトレ合宿4!?アドベントカレンダーの第3週目の記事です。
こんにちわ、Pocolです。
いよいよ7月になり,レイトレ合宿の季節が近づいて来ました。
今年もレイトレ合宿に参戦いたします!
そんなわけで,今回はレイトレ合宿の楽しみ方と題して記事を書いてみようと思います。
レイトレ合宿まで
1.レンダラーを書く
やはり,レイトレ合宿の最大の楽しみはレンダラーを自作して,提出してから当日参加することです。
初めてレンダラーを書く人はholeさんのeduptを参考に実装すると良いでしょう。
あとは,”Realistic Ray Tracing”や”Ray Tracing from the Ground Up”辺りを見て理解を深めると良いでしょう。
PBRT本はある程度知識が付いてから見た方が色々とためになります。最初にPBRT本に手を出すと死ねるので初心者はあまり見ないほうがお勧めです。
最近では,Shirleyさんが
“Ray Tracing in One Weekend”
“Ray Tracing: the Next Week”
“Ray Tracing: The Rest Of Your Life”
の三部作のレイトレ本を出してくれているので,初心者にはこちらの三部作がお勧めです。
Third and final @AmazonKindle #raytracing mini book is live. Will be free for five days as soon as I am allowed. https://t.co/sCVJTybUmC
— Peter Shirley (@Peter_shirley) 2016年3月31日
2. あおる
ある程度レンダラーが書けて開催が近づいてくると,Twitter上で煽り合いが始まったりします。
例えば「俺,2倍はやくなったぜ!」などのような,まだレンダラーが完成していない参加者を不安にさせるツイートは結構ダメージが来ます(体験談)。
正しい煽り方については,Schokerさんを見習うと非常に良いです。
BVHとか改良して2倍速くなっても所詮ノイズ0.7倍だろって思ってしまうことが良くあるのだけど、いざ2倍速くなるとやはりテンションあがる。
— Shocker (@Shocker_0x15) 2016年7月6日
ちなみに,自分の方は,「合宿まであとXX日!」のような暗黙的な煽り方を今年採択しています。
これだと事実を述べているだけなので,あまり反感を買わずに済むので結構気に入っています。
ついにレイトレ合宿のこり60日を切りましたね。https://t.co/MlGaeMO2lY
— Pocol (@ProjectAsura) 2016年6月30日
3.無理しない
ある程度レンダラーが書けるようになってくると,突然楽しくなって来たりとかします。そうなると,楽しいのでついつい時間を忘れてレンダラー書きまくったりして,ご飯を食べるのを忘れたり,寝る時間がなくなってしまったり…といったことが発生する可能性があります。体に無理はさせてはイケません。おいしいご飯を食べて,きっちりと睡眠をとり無理のない生活を心がけましょう。
ここで,ご飯が美味しく食べるために,漬物を作成することを個人的にお勧めします。汗などをかいたりして,塩分を失いがちなこの季節,漬物はとてもぴったりです。
最近,紫葉漬けを作っているので,作り方を紹介しておきましょう。
まず,紫葉漬けについて。実は紫葉漬けというのは2種類あるらしい。1つはスーパー等でよく見かけるしば漬けで,もう一つは生しば漬けというもの。生しば漬けは茄子と塩のみで作るらしく,興味が湧いたので作ってみることにしました。
まずは,材料ですが茄子です。今回は9本程度使いました。次に塩を用意します。塩はあらしおがお勧めです。
色付けに赤紫蘇が必要になるので,これもスーパーで手に入れます。自分の場合は,近くのスーパーに売っている店が全くなかったので,オオゼキまで遠出して,赤紫蘇を手に入れました。オオゼキを2店舗ぐらい回ってみましたが,どちらの店舗でも売っていました。値段は100円ぐらいです。
あと肝心なのが,簡易漬物器でして,これはホームセンターに売っています。自分の場合は近くの島忠まで行って買ってきました。値段は1000円ちょっとぐらいのやつです。
まずは,下準備として茄子をスライスしておきます。あとで気づいたのですが,縦にスライスしたほうが良いようですが,そこまで気が回らなかったので,横にスライスしてしまいました。茄子は空気に触れると酸化して色がグロテスクになってしまうので,水につけてアク抜きをしておきます。自分の場合は30分~1時間程度水につけました。何も考えずに茄子をただいれておくと浮いてしまって,浮いた茄子の表面が空気に触れてしまって酸化してしまうので,対策のために落し蓋をしました。落し蓋をして水を入れることでいい感じ茄子が浸かります。
つづいて,アク抜きしている間に赤紫蘇の葉の部分を摘み取っておき,水洗いしておきます。水洗いした赤紫蘇は塩まぶして塩もみしておきます。塩もみするとに灰汁と言われるアクの汁が出るので,よく絞っておきます。
茄子のアク抜きが終わったら,茄子も塩もみします。塩の量は茄子1kgに対して6%ぐらいが良いそうなので,軽量して塩を入れます。
いよいよ漬け込む準備に入ります。基本漬けたらあとは漬けっぱなしの放置プレイになるので,雑菌等が付着しているとカビの原因となりあとで漬物が台無しになります。そのため,まず簡易漬物器を念入りに洗い,洗った後はアルコール消毒しておきます。アルコール消毒した漬物器に隙間がなるべくできないように茄子→赤紫蘇,茄子→赤紫蘇といった順番で敷き詰めていきます。敷き詰め終わったら,一番上はできるだけ茄子が表面に出ない様に赤紫蘇で覆いつくしておきます。
この状態でいったん重しをかけます。重しをかけると灰汁が上がってくるので,灰汁を捨てます。捨て終わったら,カビ防止のため,茄子の上から軽くアルコールをふりかけ,簡易漬物器の重し側部分にもアルコールをふりかけておきます。あとは,空気と触れない様に茄子の上にサランラップしておき,重しをかけて簡易漬物器のふたを閉じます。
スーパーで買ってきた鮮度のいい茄子を使っていれば,1日程度放置すると泡が出始めて乳酸菌発酵が始まります。あとは,カビ無いように蓋を開けずに,外側からカビてないかこまめにチェックしましょう。ある程度乳酸菌発酵が進むと,乳酸菌が働いた後が死骸となって表面に膜を張ることがあります。膜が出てきたら,アク取りお玉などで膜をすくって捨てます。このようにしてメンテナンスしながら2週間つければ完成です。
これで美味しいご飯が食べられますね。
4. 高速化
やはり,レンダラーが少しでも速くなって奇麗な画が出せるようになるとうれしいものです。高速化もレイトレ合宿の重要な楽しみの一つでしょう。
高速化でやはりガツンと効きやすいのは,BVHなどの空間構造を導入することでしょう。
2015年に発表された”Bonsai: Rapid Bounding Volume Hierarchy Generation using Mini Trees”という論文が少しよさげに見えたので,これを軽く紹介してみます。
http://jcgt.org/published/0004/03/02/
このアルゴリズムは,レイトレーシングの向けのBVHを高速に構築するためのアルゴリズムだそうです。ミニツリーと呼ばれるユーザーが定義した三角形数のグループに分けておき,これを末端ノードのリーフと見てて,BVHを構築するようで,このミニツリーを作成するので盆栽という名前が付けられているようです。ミニツリー内では,SAHによるBVHが構築されるようです。Sweep SAHを使うと,ソートに時間がかかるため構築が遅いということが知られていますが,この論文では効率的に実行するための方法が紹介されています。気になる方は論文に目を通すと良いでしょう。このアルゴリズムは,最終的なトップツリーを構築する前に,枝刈りを実行するという点が面白いです。
P. Ganestam and R. Barringer and M. Doggett and T. Akenine-Möller, “Bonsai: Rapid Bounding Volume Hierarchy Generation using Mini Trees”, Journal of Computer Graphics Techniques, vol.4, no.3, 2015, より図を引用。
枝刈りを実行して,条件に合わないノードを削除して,ツリーの深さを浅くするというのが興味深いです。
結果は下図のように示されています。
P. Ganestam and R. Barringer and M. Doggett and T. Akenine-Möller, “Bonsai: Rapid Bounding Volume Hierarchy Generation using Mini Trees”, Journal of Computer Graphics Techniques, vol.4, no.3, 2015, より図を引用。
結構よさげに見えるので,腕に自信がある方は実装してみるのも良いのではないでしょうか?
5.CEDECに参加する
当日,話題が無いと参加者と会話が弾まずに地蔵化してしまう恐れがあります。口下手な人は,どんな人とも会話できるように話題を用意しておくと良いでしょう。用意する話題としてのお勧めはCEDECに参加することです。
特に,今年はnikqさんや,holeさん,Shuichi HayashiさんなどがCEDECで登壇され,CEDECがある週末にレイトレ合宿は開催されるのでCEDECに参加すると色々な話題を得られて楽しめると思います。
尚,CEDECの早期割引は7/31までとなっているので,会社で参加する場合は稟議とかもあるでしょうから早めに申し込みを済ませておくと良いかと思います。
http://cedec.cesa.or.jp/2016/application/index.html
レイトレ合宿当日
1. 寝坊しない
前日はCEDECの最終日ということもあり飲み会などに参加する人も多いかもしれません。折角の当日を寝坊してしまうと,テンションだださがりになるので,寝坊しない様に気を付けましょう。
特に今年は,飛行機に乗れないなどのトラブルが発生する恐れがあるので,早起きできるように目覚ましを予め早めにセットしておくと良いかもしれません。
2. ノートPCを持っていこう
昨年は,レイトレ合宿の結果を決めるために投票を行うために指定ページにアクセスして採点を入れるという方式が取られました。
今年も同じ方式かもしれませんので,ノートPCがある人はノートPCを持っていた方が良いかもしれません。
あとは,スライドを変更したいなぁという不安が出てくると,安心して合宿を楽しめない可能性があるので,スライドを修正するためにもPCは持ち込んだ方が良いかもです。
3. レクリエーションを楽しむ
毎年主催者のholeさんとqさんが,レクリエーションを用意してくれていますので,レクリエーションを思いっきり楽しみましょう。
去年は,ピンホールカメラを自作するレクリエーションがありました。今年はどんなものになるか楽しみですね!
4. 夜ご飯を楽しむ
例年レイトレ合宿の夜ご飯はBBQが定番になっています。恐らく今年もBBQかな?
夜ご飯はレイトレ合宿のメインイベントの1つなので,積極的に準備に携わり,夜ご飯を思い切って楽しみましょう。
ぶっちゃけトークなどもしたい場合は,お酒が入ったこのタイミングが良いでしょう。
5. セミナーを楽しむ
レイトレ合宿のセミナーは例年内容が非常に濃く,その辺で適当にやっている勉強会なんかと比べると非常に実践的で重要な内容のものが多くあります。
セミナーで学ぶために,何かメモできるものを用意しておくと良いかもしれません。ここでもメモを取るためにノートPCが活躍するかもしれません。
6. お風呂
やはり夜の楽しみは一日の疲れを癒すお風呂です。
大浴場で,参加者と一緒に話をしながらゆっくりお湯につかると良いでしょう。
宿泊先によっては,お風呂にはいれる時間帯が決まっているので,時間に気を付けて行動しましょう。
7. 発表とレンダリング結果を楽しむ
各自作成したレンダラーの紹介とそのレンダラーのレンダリング結果を説明し,順位決めが行われます。
色々と個性が出て,どういう所にこだわったのか,なんでこのアルゴリズムを使用したのかなどの話を聞くと結構面白いです。
疑問に思った点などは実装者が目の前にいるので,質問するのに良い機会だと思うので積極的に質問すると良いかもしれませんね。
8. お土産
最後に家に帰る前に,お土産屋さんでお土産選びを楽しみましょう。
家族や会社の人向けにお土産を持って帰ることで,どんな合宿だったかを話す機会が生まれ,レイトレ合宿に興味を持つ人が増えるかもしれません。
楽しかった体験は積極的に情報共有しましょう!
家についてから
1. レンダラーとスライドをアップロードしよう
レンダラーのアップロードは任意ですが,アップロードしておいた方がTwitterなどで話題になりやすいです。
せっかく作ったのですから,アピールするのが良いと思いますし,昨年はどうだったけ?と後から振り返るのにも非常に良いです。
「レイトレ合宿で転職先が見つかった!」という人もいるので,どっかに役に立つかもしれません。
2. 参加体験をブログに書こう
これも,書かなきゃいけないわけではないです。
ブログを書くことで,レイトレ合宿を振り返るいい機会になるので,レンダラーとスライドを合わせてブログで参加報告を書いておくと,
レイトレに興味を持つ人が増えるかもしれませんね。
レイトレ合宿3!!!参加レポート
レイトレ合宿2!!参加レポート
そんなわけで,レイトレ合宿の楽しみ方を独断と偏見でまとめてみました。
レイトレ合宿楽しみで待ち遠しいですね。
皆さん,レイトレしましょう!
レイトレーシングに詳しい方を探しています。レイトレーシングに詳しいフリーランスの方に仕事を発注できるようなコミュニティやサイトなどをご存知ないでしょうか?
クラウドソーシングなどで探してみたのですが、詳しい方に巡り合えずに困っています。
レンダリングをやっている大学の研究室あるいは,レイトレーシングを専門でやっている会社を直接訪ねるのが一番効率的かつ効果的な気がしますね。