レンダラ

画像をレンダリングするための手法について

レンダラ は手法を実装することで画像を生成するため、フレームワークの中で最も重要な部分です。 現在、幾つかのモンテカルロ手法ベースのレンダリング技法を比較やテスト用に提供しています。 ほとんどのレンダリング手法はマルチコアプロセッサを用いることで並列化されるようになっています。 レンダラはシーンファイルの中のrenderer部分で指定します。

renderer:
  type: <renderer_type>
  params:
    <parameters_for_renderer>
    ...

一般的なパラメータ

並列化

全てのレンダラ技法で幾つかのパラメータは共通で用いられます。 レンダラの並列化に関しては、以下のパラメータを全てのレンダラに対して用います。

品質の制御

レンダラの質を決定するパラメータ群を紹介します。

ほとんどのレンダリング手法はランダム性を用いたものなため、レンダリングの質はどれだけ計算に時間をかけたのかに依存します。 より多くの時間をかければ、その分、レンダリングの質が良くなります。 しかしながら、レンダリング時間の正しい尺度はないので、ユーザーは適切な計算時間をユーザが要求する質に合うように制御する必要があります。

この二つは独占的なパラメータなので、 num_samplerender_time を同時に使用する事はできません。

レンダリング手法

Path tracing(パストレーシング)

タイプ

説明

このレンダラの実装はKajiyaらのパストレーシングをベースに作られています。 パストレーシングは最も基礎的なモンテカルロ法を基にしたレンダリング手法です。 センサーから出たレイが光源に到達するまでレイトレースを行う手法です。

Light tracing(ライトトレーシング)

タイプ

説明

パストレーシングと違い、光源から出たレイをセンサーに到達するまでの光路を計算します。 2つのバージョンを実装していて、交差点からセンサーのサンプリングを直接行うものと行わないものです。

Bidirectional path tracing(双方向パストレーシング)

タイプ

説明

双方向パストレーシングは光源とセンサー両方からのパスをトレースする手法です。 いくつもの異なる交差点を繋げたパスを結合することで光路計算を効率よく行うことができます。