レンダラー製品の例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/10 14:38 UTC 版)
「3DCGソフトウェア」の記事における「レンダラー製品の例」の解説
レンダラーはレンダリング機能を提供する物である。単体動作可能なアプリケーションだけでなく、プラグインモジュールとして提供されている物も存在する。またレンダリング標準APIとしてUniversal Scene Description(USD)のHydraがあり、それに対応するソフトウェアが増えている(Katana 3.0以降、Houdini 18以降のSolaris、Nuke 13.0以降など)。 レンダラーには、動画に向くものと、向かないものが存在する。動画に向くものは、フリッカー(ちらつき)が起こりにくく、高品質なモーションブラーにも対応している。また、レンダリング法により、マテリアルの表現できる範囲が異なる。それもあり、レンダラーにはあまり物理的でないものと、より物理的なものが存在する。物理ベースを謳うものであっても、幾何光学にのみ対応するものが殆どであり、光の分散やフルスペクトラルレンダリングに対応していないものも存在する。偏光・干渉・回折などの物理光学(波動光学)に対応するレンダラーは殆ど存在しない (Oceanが偏光に対応している)。 また、省メモリで大規模シーン向けのもの (RenderMan、Arnold等)、複雑なライティングに強いもの (Corona Renderer等)、マテリアルプリセットの豊富なデジタルプロトタイピング向けのもの (KeyShot等)、エフェクト向けのもの (Krakatoa等)などが存在する。また可視化などに向けてプリセットモデルの搭載してるものも増えている (KeyShotのKeyShot Cloud Library、V-Ray 5以降のChaos Cosmos、LuxCoreRender 2.4以降のLuxCore Online Libraryなど)。 3DCG統合ソフトウェアのレンダリングエンジンのいくつかは、3DCADなど別分野のソフトウェアにも提供されている (MODOやCinema4Dなど)。 また、レンダリングにはインタラクティブ (リアルタイム) なものと非インラタクティブ (非リアルタイム) なものが存在する。GPUレンダリングやレイトレーシングアクセラレータ (NVIDIAのRTX等) の普及により、レンダリングのインタラクティブ性は増している。インタラクティブ性はライティングやルックデブなどでのプレビューレンダリングや、デジタルプロトタイピング(英語版)の可視化などで重要となる。3D可視化向けソフトウェアについては#建築および製品可視化向けを参照。 リアルタイム向けレンダラー リアルタイムレンダリングはゲームやビューポート描画に使われている。実装ではHLSLやGLSLシェーダーが多用されている。 リアルタイムレンダリングでは長らく高速なラスタライズレンダリングが使われていた。ラスタライズアルゴリズムには当初オブジェクト描画を後ろから重ねていくZソート法が使われていたが、その後、深度を使って複雑な前後関係を処理できるZバッファ法が使われるようになった。照明 (ライティング) 処理は当初ポリゴン毎 (フラットシェーディング) や頂点毎 (グーローシェーディング) に行われていたが、その後、ラスタライズ後のピクセル毎にライティングを行うピクセル単位照明(英語版)が登場した。シェーディングでは当初直接光のみのダイレクトライティングが行われていたが、その後、環境マッピングや画面空間反射 (SSR) による反射、画面空間による表面下散乱 (SSSS) 、シャドウマッピング(英語版)や画面空間環境遮蔽 (SSAO) や事前計算のライトマップ(英語版)による遮蔽にも対応した。一部の事前計算にはオフスクリーンレンダラーやゲームエンジンやゲーム向けミドルウェア(#ゲームエンジン向けベイクレンダラー)が対応している。 また、リアルタイムレンダラーと異なり古いオフラインレンダラーでは半透明の綺麗なラスタライズ法であるスキャンライン法(英語版)が普及していたが、2015年のDirectX 11.3以降は順不同描画に対応しリアルタイムでも半透明が綺麗に出せるようになった。ただしこの半透明は2次元的なものであったため、リアルタイムでは屈折の再現のために画面空間屈折 (Screen Space Refraction) が普及していった。 2018年にDirectX Raytracing(英語版)が登場してGPUにレイトレーシングアクセラレータが搭載されるようになると、リアルタイムでもラスタライズとレイトレースのハイブリッドレンダリングが普及していった。また、画面空間反射と通常のレイトレースを組み合わせたリアルタイムレンダラーも登場するようになった (Enscapeなど)。 その他、かつてはオフラインレンダリングにマイクロポリゴンを用いたREYESスキャンライン法が使われていたが、リアルタイムレンダリングでもマイクロポリゴンが採用される予定となっている。 レイトレースレンダラー 時間をかけるごとに正確な値に収束していく一致 (consistent) な手法を使うことで、リアルな絵を出すことが可能。一般的に、レイトレースレンダラーは、レイトレース及びラスタライズを組み合わせたハイブリッドレンダラーよりも高速となる。現在、ハリウッドでは偏りのない (不偏な) モンテカルロ法を使った単方向パストレースレンダラーが主流となってきているが、不偏な手法を使ってもレンダー時間内に収束するとは限らない。例えば、単方向パストレース (PT) はメモリ消費が少なく大規模シーンやGPUレンダリング向きではあるものの、間接照明シーンのレンダリングで収束が難しい。また、PTや双方向パストレース (BDPT) は、映し出されたコースティクスなどのSDS(specular-diffuse-specular)パスに弱い。メトロポリス光輸送 (MLT) は、よりSDSパスに強いものの、一般的にフリッカーが起こりやすく動画には向かないとされる。フォトンマッピング (PM)はSDSパスに強いものの、非不偏かつ非一致であり、問題が多い。フォトンマッピングを改良したプログレッシブフォトンマップ (PPM) は一致となっているものの、ブラーが起こる。そのため、PPMとBDPTの両者の利点を取ったプログレッシブフォトンマッピングを伴う双方向パストレース (VCM)が登場したものの、VCMで使われているBDPTとPPMはどちらも重い処理な上に、GPUレンダリングではBDPTとの相性が悪さも存在し、VCMは使いにくいものとなっていた。そのため、フォトンマッピングから複雑な密度推定を無くしてバイアスを少なくしたLight Cache法 (ライトマッピング法)、PTで光源側の屈折コースティクスを効率よく扱うためのManifold Next Event Estimation (MNEE)法(RenderManやCycles 3.2以降などが採用)、学習によって経路を誘導するPath Guiding法、VCMからBDPTを外してなるべくPTを使うようにしたLightweight Photon Mapping(Corona Rendererが発展形を採用)などが使われることとなった。 また、レイでは直感的なRGBを使ったものと、より物理的に正確なスペクトルを使ったもの(Maxwell RenderやfinalRenderやLuxrenderなど)がある。スペクトルレンダリングでは、色とスペクトルの対応が1対1では無く、見えないスペクトルも考慮する必要があるために複雑になるものの、RGBからスペクトル特性の推計ができるようにもなっている。 GPUに対応するものや、プログレッシブ(リアルタイム)レンダリングに対応するものが増えている。タイルレンダリングは使用メモリの容量越えを回避するだけでなくキャッシュメモリの使用効率をあげて高速化するためにも使われていたものの、その後キャッシュフレンドリーなマイクロジッターサンプリング (Scramble Distance) が登場したりなどして不要な場合が増えている。 レンダーによっては、レイヤーマテリアル、異方性反射、ランダムウォーク方式の表面下散乱、薄膜干渉 (構造色の一部や金属の焼戻し等)、ポリウレタン以外のクリアコート、シルクなどの布地に使われるツヤ (Sheen)(英語版)、皮膚レイヤーを再現したスキンシェーダー、より正確な髪のためのZinke近接場散乱モデル、地表面アルベドやオゾン層対応のスカイモデルなどに標準で対応していないものがある。また、吸収や分散などのボリュームマテリアルに対応していないものもある。また、スペクトルレンダリングか否かによって、フィジカルスカイやコースティクスなどの品質が大きく異なる。なお、レイトレース法を使っていても、エネルギー保存則を満たさない旧来の手法であるフェイクスペキュラやトゥーンなどのアーティスティックな表現が組み合わせて使用されることもあり、それらの手法に対応したパストレースレンダラもあるが、ノイズが増えるため注意が必要となる。 NPRレンダラー (非写実的レンダリング) スケッチや青写真、絵画やアニメのような非写実的な絵のためのレンダリング手法。線の描画はエッジレンダリング、アニメ調のものはトゥーンレンダリング(セルレンダリング)と呼ばれる。 トゥーンレンダリングは主にラスタライズ法やレイトレース法のシェーダの上に成り立っている(トゥーンシェーダや非写実テクスチャ、手書き風Matcap(PaintMap、テクスチャ座標に法線ベクトルを用いたテクスチャ)、テクスチャ座標にオブジェクト座標を用いたテクスチャ、カメラプロジェクションなど)ため、多くのレンダラでNPRレンダリングをすることが可能。 輪郭描画については対応しているソフトウェアが多いものの、方式や機能がソフトウェアによって異なる。 眉や目などの貫通表示は対応していないソフトウェアが多い(LightWaveのunRealプラグインがSurfacePiercingシェーダとして対応)。 ベクターレンダラー NPRの一種であり、ベクター画像フォーマット (SVG、Flash、Adobe Illustrator、EPSなど) で出力を行う。多くは動画にも対応している。Webオーサリングなどに使われる。
※この「レンダラー製品の例」の解説は、「3DCGソフトウェア」の解説の一部です。
「レンダラー製品の例」を含む「3DCGソフトウェア」の記事については、「3DCGソフトウェア」の概要を参照ください。
- レンダラー製品の例のページへのリンク