angelina, 検証用レンダラ

さて、 lucille の本来の目的は、各種レンダリング技術の実装をためしつつも、 RenderMan インターフェイスをサポートした、クロスプラットフォームで それなりにつかるレンダラを製作することであるのだが、 しかし、SSE による最適化やらメモリ最適やらぽこぽこ追加していくに従って、 新しい試したい機能やらアーキティクチャが変わるような機能を追加することは 困難になってきているのを感じている。 結局今のところ、lucille 十分にコアとなるアーキティクチャ構成も決まらずに、 すでにしてリファクタリングをするのもおっくうなほどソースコードが ごちゃごちゃになっている。 また、レンダラを 1 本しか書かないで新しい機能をテストするとなると、 果たしてそれが正しい結果なのだろうかと検証するのが困難であることを 常に感じてきていました。 そこで、もうひとつ、簡単な検証用のレンダラを作ったほうが、 トータルでみると効率的ではないかという結論に達した。 この検証用レンダラは、基本的に最小限の機能しか持たず、 ほとんどのパラメータは決め打ちで、浮動小数点計算に double を使うようにする など、特に最適化も行わない。 クロスプラットフォーム性も特に意識せずに、自分の環境でビルドできれば十分とする。 もちろんこのようにするのは、必要な機能のラピッドタイプに集中するためです。 というか、そもそも最初からこのようにすべきであった気がする。 ラピッドタイピング ラピッドタイプに集中するためには、どのような言語にしたらよいかを考えてみた。 最終的に lucille は C 言語であることには変わりはないが、検証用レンダラは 不明なバグに悩まされることなく、機能のプログラミングに集中できるものがよい。 まず思いつくのは python などのスクリプト言語である。 しかし、レンダラにおいては数値演算をはじめとして、 全体的なパフォーマンスを引き出せるものが必須となるので、 スクリプト言語はやはりあきらめざるを得ないであろう。 そうなると、C 言語ベースの言語しかしらない私としては、 C, C++, C#, java のいずれかになる。 C#, java については、中間言語方式であるけれども、C/C++ と同程度の 数値演算速度が出せるとのことであるから、パフォーマンスには問題がないだろう。Continue reading “angelina, 検証用レンダラ”

pukiwiki + texvc で TeX 数式の書ける wiki

自サーバの強みを生かし、latex をインストールして mediawiki による TeX 数式の書ける wiki をもう一度立て直してみました。 (参考) しかし、自サーバが非力なこともあってか、ページを表示するだけでもすっトロく、 これではまったくもって使い物にならないことが判明しました。 そこで、前々から使いやすそうに感じていた pukiwiki をインストールすることにしました。 http://pukiwiki.org/ pukiwiki には mimetexによる数式記述プラグイン PukiWiki/keyの拡張/mimetex があります。 これを参考に、数式処理を mimetex ではなくtexvc に変えるプラグインを作成しました。 http://lucille.atso-net.jp/blog/codes/texvc.inc.php.txt texvc およびテンポラリ用のディレクトリを適宜作成しておけば、 以下のようにして texvc による TeX 数式を記述することができます。 #texvc(TeX 数式) というわけで、TeX 数式を記述可能な wiki を新しく立てました。 http://lucille.atso-net.jp/wiki/ レンダラ解体新書やら lucille 開発ノートなどのコンテンツはこちらに 移行していきいこうかと思います。

subversion

自サーバに移行して、自由にサーバをカスタマイズできるようになりました。 まずは、lucille のソースコードの管理を、sourceforge の cvs から、 自サーバでの subversion に変えることにしました。 http://lucille.atso-net.jp/svn/lucille/ 今まで cvs を使っていた身としては、subversion のディレクトリの自由な移動やコピー、 バイナリファイルの扱いなど非常に使いやすく感じました。 Windows であれば、エクスプローラに subversion の機能を統合する TortoiseSVN(トータス SVN、通称 亀。ただし”こうら”に鍵穴はありません) を 利用することができます。 http://tortoisesvn.tigris.org/ また、web ブラウザでリポジトリを直接閲覧できることも subversion の利点の一つですね。 サーバ容量もそれなりに十分あるので、 シーンファイルや画像データなどのコード以外のデータも subversion で管理していこうかと思います。 web からシーンファイルをダウンロードしてレンダリングとか、 ネットワーク分散レンダリングに使えそう。