よしClojureでレンダラを実装するぞ

amazon.co.ukに Pharr and Humphreys, Physically Based Rendering, 2nd ed., Morgan Kaufmann という本を注文中 (dispatched) なんだが*1,この本はCWEB (C++) で書かれた実際に動くレンダラ pbrt のソースを示しながらレンダリングアルゴリズムを解説している評判の良い教科書である.pbrt のソースはGPLv2で公開されている.

さてLispマシンのELIS復活祭@JAISTにわざわざ行くのに「いやー最近はVisual StudioとバッチファイルとCMakeがせいぜいですわ」という現状だけでは少々つまらないので,ちょっとした話のネタになればと,↑の本のレンダラ pbrt をClojureに移植してみることにした.フルセットは辛そうなので一通りのサンプルが動く所までを目標とする.なおCWEBはC++用の文芸的プログラミング・ツールで,地の文にはアルゴリズムの解説が入ってる訳だが,この部分に関しては私が付け加えられることは無さげだ.つまり文芸的プログラミングである必然性は無いので,普通のClojureソースにしてしまおうと思う.
さて(週末を含むとは言え)残業漬けサラリーマンが10日間で果たしてどれほどのことができるものか? 無論,真の直訳ではつまらないのでC++Clojureの(と言うかLisp族の)差のようなものが出るように書きたいが,その結果は? はたまたJVMベースであることの影響は?(CGのレンダリングは極めて計算負荷が高い.) ...といったことが話のネタになるといいな.
Clojureについてはとりあえず(紙の)参考文献はこの1冊

プログラミングClojure

プログラミングClojure

だけで,他は直接本家のリファレンスやらソースを参照することになるだろう.
長引くと他のタスクが割り込んでしまってうやむやになってしまいがちだが,本件についてはJAISTに発つまでの9日間でどこまで行けるか,短期決戦とする.旅支度も考えないといけないんだけどね...
ぎゃー言っちゃった言っちゃった! まだ部屋にダンボールが転がってるのに...

*1:いやぁ,サラリーマンをやってると自分の意志ではないあれこれが色々と降ってくるものですな... 一応言っておくと,私自身はCGには何も興味無いです.