To support point geometry, or not to support point geometry in lucille.

by syoyo

I am now discussing with point renderist(effect TDs) whether lucille should support point rendering(e.g. RiPoints in RIB) or not.

Rendering points has different architecture compared ordinary surface-based GI renderer.
Supporting points in the renderer, especially in the GI renderer, might break the beautiful architecture of rendering process.
I’d like to keep rendering algorithm simple, beautiful and robust: Rendering points is nasty for surface-based GI renderers.

But, on the other hand, there are many demands for rendering points in the renderer, because, as far as I know, it’s practical rendering method and add good VFX effects to the image.

It’s a difficult decision for me to add support on rendering points in lucille at this time…

[Ja]

The day the earth stood still(2008 年版)を見たこともあり, ポイントのサポートについてまた取り上げてみます.

最近もいろいろな人と話をしていますけど、やはりいわゆるパーティクルレンダラ/ボリュームレンダラを求めるひとが多いですねぇ.
パーティクル専用レンダラとは行かなくても,

「RenderMan 系なら, ポイント(RiPoints)ジオメトリのサポートが欲しいですね」

という声も多く聞きます.

ポイントジオメトリって点の位置(と大きさ)くらいのデータで, 多くの場合はエフェクト系に使われます.

んー, レンダラ野郎としては, ポイントっていうのは、特異なプリミティブなんですよね.
ポイントデータを許すと, レンダラ内部の設計の美しさを壊してしまうし,
そもそも 「GI レンダラなのになんでポイントをサポートするのですか?」ということにもなる.

かと言って別レンダラにするのもめんどくさいので,
そこまでやるならまあポイントくらい GI レンダラであってもサポートしてもいいんじゃね?とも思います.

あとは lucille は美しくないものはサポートしません!と言い切って漢気(というか lucille の場合は女傑さ, かな)を通すというのもあり.
最終的には, ここは需要と供給, レンダラのビジョンや設計方針との兼ね合いというところでしょうか.

ポイントの定義

まあ食わず嫌いで「ポイントはイヤ!」と物事を判断するのもアレなので,
RIB でのポイントの定義について調べてみました.
参考にしたのは 3delight のドキュメント.

http://www.3delight.com/en/uploads/docs/3delight/3delight_28.html#SEC61

これによると, ポイントはパーティクル(位置と大きさだけ)のほかに, ポイントを RenderMan プリミティブである球やディスクとして作成することもできるようになっている.
ポイントのパラメータとしては幅(大きさ)くらいしか指定できない.

… んー, こんな程度のサポートでいいのかな? 他に特殊なことはいらないのかな?
シェーダで法線とか取れないんだよ(“particle” の場合)?
こんなチョー基本的なサポートだけでポイントレンダラ野郎(エフェクト野郎)は満足なのだろうか?

たとえばポイントを球ジオメトリで表現するのは, 単にポイントの位置に球ジオメトリを配置すればいいだけなので,
レンダラ側にとってはなんのマジックもいらないですね.
(データ量とかメモリの効率性が “particle” に比べると違いますが)

Advertisements