レンダリングとは、作成した3次元空間上のオブジェクトを
コンピュータ内部の仮想的なカメラで撮影し、2次元画像を生成する作業です。
レンダリングを始める前には、あらかじめ、オブジェクトの作成、オブジェクト表面のマテリアルの設定、
ライトの配置、カメラアングルの指定を行っておく必要があります。
レンダリングウィンドウの各項目は以下の通りです。
現在選択されているオブジェクトをレンダリングします。
すべてのオブジェクトをレンダリングします。
レンダリングを行っている最中に、レンダリングを中断できます。
後述のレンダリング設定ダイアログが現れ、レンダリングに関する設定を行うことができます。
後述のレンダリングイメージ調整ダイアログが現れ、レンダリングイメージの明るさ調整を行えます。
レンダリングで生成された画像をファイルに保存します。
レンダリングされた画像が表示されます。
レンダリング中に、レンダリングの進行状況を表示します。
レンダリングウィンドウ中の"設定"ボタンを押すと、レンダリング設定ダイアログが現れ、
レンダリングに関する設定を行えます。
レンダリング設定ダイアログの各項目は以下の通りです。
レンダリング画像の横幅です
レンダリング画像の縦の高さです。
各ピクセルを描画するときのサンプリング数を指定します。
サンプリング数1×1,2×2,3×3,4×4と上げるにしたがって、ジャギー
(コンピュータ上の画像が四角形のピクセルの集まりで表現されているために現れる
ギザギザな部分)を減らすことができますが、その分レンダリング時間も多くなります。
現在のRiosレンダラでは、単純に1倍、4倍、9倍、16倍とレンダリング時間が増加します。
レイトレーシングで追跡するレイの反射・屈折の上限数です。
この値が大きいほど、光の反射や屈折の計算をたくさん行います。
またこの値は、フォトンマッピングで放射されたフォトンが反射・屈折するときの
上限数としても使われます。
カメラの焦点が合っていないときにできる、ブラー(ボケ)の強さを指定します。
この値が大きければ、焦点の合っていない部分のブラーが強くなります。
このチェックがついているときは、影計算を行います。
ここで"影"とは、ライトとオブジェクトの間に他のオブジェクトがあって、
光をさえぎっているためにできる、光のあたらない部分です。
なお、GIの設定が"間接光フォトンマップ"になっているときは、このチェックに関係なく
影計算が行われます。
ライトオブジェクトが1つも作成されていないときに、デフォルトライトを使用するかどうかを指定します。
レンダリングイメージ中でポリゴンが描画されないピクセルに背景を表示するかどうかを指定します。
このチェックをOFFにすると背景は表示されませんが、反射や透過、IBL効果などには背景の影響が反映されます。
Riosでは、レンダリングされるシーンは、無限に大きな背景球に囲まれているとし、
レンダリング画像中で何もオブジェクトが描画されないピクセルには、この背景球の
色が描画されます。
また背景球は、鏡面反射面に映り込んだり、透過面の後ろに透けて見えたりします。
上半球背景色は、この背景球の上半球の色です。
背景球の下半球の色です。
背景球の色の強度です。後述のIBLの強度調整としても使えます。
通常、背景球の色には"上半球背景色"と"下半球背景色"が使用されますが、
この背景イメージが設定されている場合には、背景色の変わりにファイルから読み込んだ
画像が使われます。
"背景読込"ボタンを押すと、読み込むファイルを指定して読み込みます。
"背景消去"ボタンを押すと、背景イメージは消去され、上半球/下半球背景色が使われるようになります。
背景イメージとしては、BMPやJPEGといった一般的に使われるイメージファイル(LDRI : Low Dynamic Range Image)のほかに
HDRI(High Dynamic Range Image)と呼ばれるイメージファイルを使用できます。
HDRIはLDRIに比べ情報量が多く、LDRIよりも幅広い階調の色を表現できます。
輝度分布の広いHDRIを背景イメージにしてレンダリングを行うと、
レンダリングされるオブジェクトが背景イメージに照らされたような効果を得ることができ(IBL : Image Based Lighting)、
オブジェクトがまるでそのイメージ中の環境におかれたかのようなレンダリング結果を得ることができます。
LDRIを背景としてもIBLは可能ですが、HDRIを使った方がよりリアル感のあるレンダリング結果を得られるようです。
なお、RiosでIBLを行うには、後述のGIタイプを「ファイナルギャザリング」か「パストレーシング」にしておく必要があります。
(「フォトンマップ」でも背景イメージを考慮したフォトンマップ構築を行いますが、あまりいい結果は得られないかもしれません。)
RiosではRadiance .hdr(拡張子 .hdr)とILM OpenEXR(拡張子 .exr)の2種類のHDRIフォーマットの読込みをサポートしています。
Rios形式でのファイル保存時のレンダリングイメージの保存形式を指定します。
Rios形式ではレンダリングイメージの圧縮などを何も行っていないので、イメージが占める容量が大きくなってしまいます。 この「保存しない」を選ぶとRios形式での保存時にレンダリングイメージを保存しないので、ファイル容量を小さくすることができます。
レンダリングイメージのRGBカラーを0〜255の値で保存します。イメージの容量はBMPファイルと同等になります。
Riosではレンダリング結果をHDRIとして内部に保持していますが、LDRIで保存をするとHDRIとしてのイメージ情報は失われます。
LDRIでの保存時にはRios内部のHDRIにレンダリングイメージ調整ダイアログでの変更を適用してから保存が行われ、
イメージ調整のトーンカーブはデフォルトに戻ります。
レンダリングイメージのRGB値を32bit浮動小数で保存します。Riosでのレンダリング結果の情報をまったく失わずに保存ができますが、 イメージ容量はBMPファイルの4倍と非常に大きくなってしまいます。
GI(グローバルイルミネーション)の計算方法を指定します。
単純なレンダリングでは、光源から直接オブジェクトに当たる光(直接光)のみを計算しますが、
GIでは、光源を出てから何度か他のオブジェクトに反射・透過した光(間接光)も計算します。
GI計算を行わず、直接光のみのレンダリングをします。
GI計算を行わないので、高速です。
フォトンマップ法によりGI計算します。
直接光と間接光の両方が、フォトンマップにより計算されます。
フォトンマップを使うと、直接光のみにくらべて
全体的にぼやけた感じの画像になってしまう傾向があります。
また、計算の都合上、バンプマップによる凹凸が出ません。
直接光計算は"直接光のみ"の時と同じ計算方法で行い、
間接光計算はフォトンマップを使って行います。
直接光にフォトンマップを使わないので、直接光の影響が大きいシーンでは、
フォトンマップ特有のぼやけた感じが減ります。
しかし、間接光の影響のほうが大きいシーンでは、ぼやけた感じは残ってしまいます。
直接光計算は"直接光のみ"と同じ計算方法を用い、間接光の計算はファイナルギャザリングで
半球面上からやってくる光をサンプリングすることで行います。
この方法だと、フォトンマップに特有のフォトンの斑模様が生じない一方、サンプル数が少ないと、
ノイズが発生してしまいます。
後述のイラディアンスキャッシュエラーを0より大きくすると、ノイズが消え滑らかなイメージを得ることができます。
半球面上をサンプリングすることである点での入射光の強度を推定するパストレーシングによりGI計算を行います。
ファイナルギャザリングでは入射光のサンプルをフォトンマップを基に行うのに対し、パストレーシングではサンプルレイを
シーン中で何度も反射させて追跡することにより、間接光の推定を行います。
5種類も選択肢がありどれを選んでいいかわからない場合は、こんな感じで選んでみてください。
「フォトンマップ」はレンダリング結果に斑模様のようなものが発生しやすく、良好な結果を得るのが難しいかもしれませんが、
コースティクス(集光模様)の表現は他の手法に比べて得意なようです。(Riosのフォトンマップはコースティクスをきれいに再現するような工夫を
何もしていないので、そこまでいい結果にはならないようですが。。。)
なお、「パストレーシング」、「ファイナルギャザリング」ではいまのところコースティクスに関する計算は何もしていません。
フォトンマップで使用するフォトンの数です。
フォトン数が多いほど、フォトンマップによる計算が正確になります。
なお、1つのフォトンに使用されるメモリ量は28Byteです。
現在の一般的なPCのメモリ量を考えると、100万個(28MByte)程度なら問題なく動くと思われます。
もちろん、フォトン数が多いほど計算時間は増加しやすくなります。
フォトンマップ法では、光源からフォトンをばらまいた後、オブジェクト上の各点で
周囲にどれくらいのフォトンがあるかを探し、そのフォトン密度から明るさを計算します。
周囲のフォトンをどれくらい離れた所まで探しにいくかを、このフォトン探索範囲では設定します。
探索範囲が大きいと、探す範囲が広くなり計算結果が正確になると思われますが、
あまり大きすぎると、全体的にぼやけた感じの画像になる傾向があるようです。
また、この値が小さすぎると、場所によって計算に十分なフォトンを集められず、
全体としてはフォトンの斑点のようなものが現れてしまいます。
フォトンマップでの計算時間は、この探索範囲の大きさに大きく影響されます。
フォトンマップ使用時のレンダリング時間が極端に長いときは、この値を少し小さくしてみてください。
フォトン探索時に集めるフォトンの最大数を指定します。
フォトン探索時には、フォトン探索範囲内に集めるフォトン数
の分だけフォトンがあれば、そのフォトンがある範囲の面積をもとにフォトン密度を求めます。
フォトン探索範囲内に十分なフォトンがなければ、フォトン探索範囲の面積から
フォトン密度を求めます。
集めるフォトン数を少なめにして、フォトン探索範囲を大きめにすれば、
フォトン密度の高い明るい部分と、密度の低い暗い部分とのメリハリがはっきりすると
思われます。
しかし、集めるフォトン数を少なくしすぎると、フォトンの斑点が現れてしまうようです。
斑点が現れる場合には、集めるフォトン数を多くしてみると解決するかもしれません。
ファイナルギャザリングまたはパストレーシング使用時の半球サンプリング数を指定します。
ここで指定した値の2乗がレンダリング時のサンプル数として使用されます。
この値が大きいほどファイナルギャザリング・パストレーシングでのレンダリングの精度が上がり、ノイズが減りますが、
レンダリング時間が増加します。
パストレーシングで半球サンプリングのレイが物体と交差したときに、その交差点で反射したレイを再び追跡する確率です。
0.0〜0.99の間で指定してください。
この値が大きいほどパストレーシングのサンプルレイを追跡する長さが長くなりレンダリング時間が増加しますが、
計算の精密さが増します(大して変わらないかも?)。
ファイナルギャザリング・パストレーシング時に使用できるイラディアンスキャッシュの計算に関わる値です。
イラディアンスキャッシュとは、パストレーシングなどの計算で時間のかかるサンプリングをすべてのピクセルに対して行うのではなく、
一部のピクセルでのみ行い、その他の部分では近くにあるサンプリング計算を行った点での結果を補間することで、
計算をサボってレンダリングスピードをアップするという方法です。
このイラディアンスキャッシュエラー値が大きいほど、実際にサンプリング計算を行う部分が少なくなり、補間に頼る部分が多くなります。
その結果、レンダリングスピードの向上とノイズのない滑らかな画像を得ることができますが、陰影のディテールは失われます。
この値をを小さくするにつれ、サンプリング計算を行う部分が増え、レンダリングスピードが落ちていきますが、細かい陰影も再現できるようになります。
この値を0.0にするとイラディアンスキャッシュを行わず、すべてのピクセルでサンプリングを行います。
Riosでのイラディアンスキャッシュエラー値は、0.1〜1.0程度を指定してみてください。 細部の陰影が失われてもいいからスピード優先でレンダリングしたいという場合は、1.0以上を指定してみてください。
イラディアンスキャッシュを使用する場合には、上記の半球サンプリング数を多めにとってください(少なくとも16×16以上?)。
サンプリング数が少ないと、サンプリングを行った点で誤差の大きい計算結果が出てしまい、その点を使って補間を行った部分全体に誤差の影響が広がり、
不自然な円模様が現れてしまいます。
レンダリング設定を初期設定に戻します。
レンダリングウィンドウの「調整」ボタンを押すとレンダリングイメージ調整ダイアログが現れ、イメージの明るさの調整ができます。
RiosではHDRIのレンダリング結果をLDRIとして画面に表示する際に、HDRIでの値1.0をLDRIの255に対応させ、0.0を0に対応させていますが、
IBLで非常に高い値を持つHDRIを背景として使用した場合など、レンダリング結果が1.0を超えてしまい、表示されるイメージが白く飛んでしまうことがあります。
このようなときにこのダイアログでイメージ表示の明るさを調整してやると、白く飛んだ部分が見えるようになります。
このダイアログに表示されるグラフにより、明るさの調整が行われます。横軸が元の画像の色の値を表し、縦軸が調整後の色を表します。
イメージが白く飛んでいるようなときは、横軸の1.0以上の部分が縦軸の1.0より下の部分に対応するようにグラフを調整すると、ちゃんとしたイメージが表示されます。
グラフの操作法は次の通りです。
グラフの表示範囲を入力できます。
グラフをデフォルトに戻します。デフォルト調整では、元の画像からの明るさ変換は行われません。
グラフの表示範囲をデフォルトに戻します。デフォルト範囲は横軸・縦軸ともに0.0〜1.0です。
レンダリングイメージ調整ダイアログを閉じ、イメージ調整を終了します。右上の×ボタンと同じです。