3DCGソフトウェア
その他、かつてはオフラインレンダリングにマイクロポリゴンを用いたREYESスキャンライン法などが使われており、レイレースと組み合わせたハイブリッドレンダリングが特に映画において一般的となっていたものの、ライティングの問題などがあり廃れていった。しかしながらリアルタイムレンダリングでは時を経てマイクロポリゴンが採用されるようになってきている(2022年にリリースされたUnreal Engine 5など)。
時間をかけるごとに正確な値に収束していく一致 (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を使ったものと、より物理的に正確なスペクトルを使ったものがあり、条件等色などで大きな違いをもたらしてる(物理ベースシェーディング#電磁スペクトル参照)。これは特にVFXでの現実との色合わせに重要となっており(#VFX向きのプロダクションレンダラー参照)、高速な計算手法の登場によってスペクトルレンダリングに対応するレンダラーが増えていったものの、複雑なケースではスペクトルノイズの問題が残っている。
またレンダーによっては、レイヤーマテリアル、異方性反射、ランダムウォーク方式の表面下散乱、薄膜干渉 (構造色の一部や金属の焼戻し等)、ポリウレタン以外のクリアコート、シルクなどの布地に使われるツヤ塗装、皮膚レイヤーを再現したスキンシェーダー、より正確な髪のためのZinke近接場散乱モデル、地表面アルベドやオゾン層対応のスカイモデルなどに標準で対応していないものがある。また、吸収や分散などのボリュームマテリアルに対応していないものもある。なお、レイトレース法を使っていても、エネルギー保存則を満たさない旧来の手法であるフェイクスペキュラやトゥーンなどのアーティスティックな表現が組み合わせて使用されることもあり、それらの手法に対応したパストレースレンダラもあるが、ノイズが増えるため注意が必要となる。
これらレンダリング手法にはノイズやファイアフライなどの誤差や外れ値が付き物となっているため、後処理としてノイズ除去が行われている(3Dライブラリ#ノイズ除去ライブラリも参照)。3DCGのノイズ除去では実写と異なり拡散反射パスや鏡面反射パスなどの各レンダリングパスに対する処理が可能なほか、ノイズの無いアルベド(カラー)パスや深度パスや法線パスをガイドとして使用することも可能となっている。また、不偏レンダリング (Unbiased rendering) では推定量に偏りが生じないため、その予測誤差は分散に起因する所が大きく、デノイズ処理に各パスの分散推定量や誤差推定量を使用したり (RenderMan、ArnoldのNoice、Blender 3.0未満の独自デノイザ等)、分布と共分散を使用したり(BCD等)、二組のレンダリング結果を使用したり (AltusAltusは昔は単体販売も行われており、Arnold、Nuke、Houdiniに対応していた。等) といったことも行われていた。しかしながらこれらは設定が複雑となっており、機械学習の進化に伴って設定の簡単な機械学習ベースのノイズ除去が普及していった(NVIDIA OptiX AI-Accelerated Denoiser、AMD Radeon Image Filtering (RIF) LibraryのAIデノイザー、Intel OIDN、Octane Render 4以降の独自AIデノイザー、RenderMan 25以降のAIデノイザーなど)。機械学習ベースのノイズ除去はサンプリング数の少ないプレビューレンダリングに強いものの偏りが大きく、2022年現在その偏りを誤差推定で抑えたProgressive Denoisingが提案されている。またどんなノイズ除去手法でも正確にはならいないため、動画ではフレームを跨いでちらつきを抑えたデノイズ処理が必要となる(OptiXのtemporal denoisingなど)。その他、レンダラーによってはノイズ除去の他に分散推定量の大きい所でサンプリング数を増やす適応サンプリング (adaptive sampling) が使えるものの、こちらも局所的収束に陥った場合にバイアスが生じるため注意が必要となる。
NPRレンダラー (非写実的レンダリング)
スケッチや青写真、絵画やアニメのような非写実的な絵のためのレンダリング手法。線の描画はエッジレンダリング、アニメ調のものはトゥーンレンダリング(セルレンダリング)と呼ばれる。
トゥーンレンダリングは主にラスタライズ法やレイトレース法のシェーダの上に成り立っている(トゥーンシェーダや非写実テクスチャ、手書き風Matcap(PaintMap、テクスチャ座標に法線ベクトルを用いたテクスチャ)、テクスチャ座標にオブジェクト座標を用いたテクスチャ、カメラプロジェクションなど)ため、多くのレンダラでNPRレンダリングをすることが可能。
輪郭描画については対応しているソフトウェアが多いものの、方式や機能がソフトウェアによって異なる。
眉や目などの貫通表示は対応していないソフトウェアが多い(LightWaveのunRealプラグインがSurfacePiercingシェーダとして対応)。
NPRの一種であり、ベクター画像フォーマット (SVG、Flash、Adobe Illustrator、EPSなど) で出力を行う。多くは動画にも対応している。Webオーサリングなどに使われる。
大規模なエクステリア向きの単方向パストレース (PT)及び、複雑なライティング向きのレンダリング手法 (VCM、BDPT+MLT、Two-Way PTパストレーシングとライトトレーシングを多重重点的サンプリングで結合したもの、Light Cache又は学習ベースの手法 (Path Guiding、AI Light等)) の両方に対応し、かつモーションブラー対応するもの。
V-Ray (Chaos。国内サポートはオーク)
物理レンダラー。空気遠近大気エフェクトに対応。非商用無料のPLE版も存在する。
RenderMan(ピクサー。国内総代理店はインディゾーン)
物理レンダラー。旧PhotoRealistic RenderMan (PRMan)。非商用無料。
以前はRenderManインターフェース仕様が公開されていたため、多数の互換レンダーが存在していた。
Corona Renderer (Chaos←Render Legion)
物理レンダラー。
Indigo Renderer (Glare Technologies)
物理レンダラー。廉価版にIndigo RTがある。
Maxwell Render (Next Limit Technologies)
物理レンダラー。単体版のMaxwell Studioもある。カメラレンズやフィルムをシミュレーションするため、絞り形状やレンズグレアも再現可能。
Redshift (MAXON Computer←Redshift Rendering Technologies)
GPU専用バイアスレンダラー。ウォーターマーク付きのデモ版が無料頒布されている。
finalRender (cebas)
3ds Max用物理レンダラー。finalToonが付属する。4.0でGPUレンダラのmoskitoRenderを吸収した。一部機能が制限された無料版も存在する。
Thea Render (Altair Engineering←Solid Iris Technologies)
Kerkytheaの後継。物理ベースレンダラー。前身のKerkytheaは無料であり、そのエンジンは、SketchUp用のTwilight Renderにも使われている。
Kray (MindBerries)
Lightwave用の物理ベースレンダラー。
CineRender (MAXON Computer)
Cinema 4D等搭載のレンダラー。
Octane Render (OTOY)
GPUに対応する物理ベースレンダラー。無料版のPrimeも存在するが、1GPUまでの制限があるほか、Unity、Unreal Engine、Blender、DAZ Studioにのみ対応している。
Karma (Side Effects Software)
Houdini内蔵のレンダラー。Mantraの後継。
Guerilla Render (Mercenaries Engineering。国内販売代理店はKhepris Japan)
物理ベースレンダラー。一台16コアまでという制限のある商用可能な無料ライセンスが提供されている。
NVIDIA Iray (NVIDIA←Mental Images)
物理ベースレンダラー。
Blender等に付属の物理ベースレンダラー。単体版のCycles Standaloneもある。Apacheライセンス。
オープンソースの物理レンダラー。旧LuxCore←SmallLuxGPU。LuxRenderの後継。ライセンスはApache License 2.0。
コンポジットに使われるディープ画像へのレンダリング又はCryptomatte出力に対応のもの。上述のV-Ray、RenderMan、Maxwell Render、Redshift及びOctane Renderも参照。
なお色合わせ(カラーマッチング)の容易なスペクトルレンダリングもVFXに使われてきている。
Arnold (オートデスク←Solid Angle (国内代理店はアーノルド・ジャパン))
物理ベースレンダラー。
3Delight NSI (DNA Research。国内代理店はクレッセント)
元RenderMan互換レンダラー。CPUを12コアまで使用可能な無料版も存在する。
Modo renderer (The Foundry Visionmongers←Luxology)
Modo搭載のレンダラー。
Radeon ProRender (AMD)
旧FireRender。オープンソースの物理ベースレンダラー。
オープンソースの物理ベースレンダラー。MITライセンス。toxicの後継。
NVIDIA mental ray (NVIDIA←Mental Images)
GPUにも対応する物理レンダラー。irayが統合されていた。NPR向けとしては、Softimageに付属するToonシェーダに定評があった。
標準でベイク向けのレンダラーを持っているソフトウェアも存在する (MayaのTurtle、Unity 5.6以降のProgressive Lightmapperなど)。#UVアトラス/パッキングや#レンダリングミドルウェアも参照。
Parthenon Renderer (Toshiya Hachisuka)
GPUのラスタライザーを活用してグローバル光束トレーシングによるGIを実現した国産レンダラー。無料。Windows専用。ライトマップのベイクにも対応している。未踏ユースプロジェクトの支援を受けてアルゴリズムが開発された。開発停止中。
近年は一般的なレンダラーがOpenVDBに対応してきており (対応表参照)、エフェクトのレンダリングに多用されはじめている。
Krakatoa (Amazon.com←Thinkbox Software←Prime Focus Group←Frantic Films)
パーティクルレンダリングに特化したレンダラー。ボクセルレンダリングにも対応。3ds Max用のKrakatoa MX、Maya用のKrakatoa MY、Cinema 4D用のKrakatoa C4D、スタンドアロン版のKrakatoa SRがある。オープンソース化された。
Exocortex Fury (Exocortex Technologies)
Maya及びSoftimage向けのパーティクルレンダラー。
emRPC4 (Mootzoid)
SoftimageのICE向けポイントクラウドレンダラー。
JetStream FX (D-Storm)
LightWave用のパーティクルレンダラー。販売終了。
学術を目的としているため、最適化よりも実装しやすさが優先されている。
オープンソースのGPU対応物理ベースレンダラー。初代はMLTや双方向パストレース、イラディアンキャッシュ、Manifold Explorationなど様々な手法に対応していた。モーションブラーにも対応していた。2以降は偏光や逆レンダリングなどに対応している。初代はGPLライセンス、2以降はBSDライセンス。
派生レンダラーのgradientdomain-mitsubaでは、勾配空間単方向/双方向パストレースにも対応。
オープンソースの学術向け物理ベースレンダラー。書籍「Physically Based Rendering: From Theory To Implementation」のために作られており、版上げに合わせて新バージョンがリリースされている。双方向パストレーシングやBDPT+MLTに対応している。モーションブラーにも対応している。4でスペクトラルレンダリングやGPUレンダリングに対応した。
GPU未搭載のスーパーコンピュータで算出したデータの可視化は、昔は別途レンダリング用コンピュータ・クラスタを用意して行っていたが、現在はスーパーコンピュータで直接CPUレンダリングすることも行われている。
OSPRay (Intel)
スケーラビリティの高いレイトレースレンダリングエンジン。Intelがソフトウェア定義可視化(SDViz)構想の一環として開発し、その後Intel oneAPIの一部となった。OSPRayはParaView 5.1以降にも独自レンダラーだったMantaの後継として搭載されている。USDにもHdOSPRayで対応。
OSPRayのサンプルレンダラーとしてPathTracerがある。PathTracerは、レイトレースカーネルembreeのサンプルレンダラーであったEmbree Example Rendererの実質的後継となっている。
OpenGLアプリケーションのバックエンドとしてOSPRayを使うためのGLuRayも存在する。
NVIDIA IndeX (NVIDIA)
GPU専用のボリューム可視化ツール。ParaView 5.5以降にも搭載されている。
Ocean (Eclat-Digital Recherche)
物理ベースレンダラー。フルスペクトルレンダリング、偏光、レイリー散乱/ミー散乱などに対応している。Advanced版では、測定マテリアル、赤外光や紫外線にも対応している。
3ds Max、SketchUp、Rhinocerosに対応している。
3Dモーションブラーに対応していないレンダラーであっても、中間のフレームをレンダリングして合成することでモーションブラーをかけたり (3ds Maxのマルチパス レンダリング効果、Cinema4DのSub-Frame Motion Blurなど)、スピードベクトルを使って2Dモーションブラーをかけること (Mayaの2D Motion Blur、Cinema 4DのVector Motion Blur、BlenderのコンポジットノードのVector Blurなど)は可能。ただし、品質は3Dモーションブラーに劣る。
また、以前はラスタライザ(含スキャンライン及びREYES)とレイトレースのハイブリッドレンダリングが主流であったものの、その後、パストレースレンダリングが台頭した。しかし、標準でREYESスキャンラインレンダリングに対応するソフトウェア (PoserのFirefly、DAZ Studio搭載の3delightのREYESモード、HoudiniのMantraのREYESモードなど)や、スキャンライン/レイトレーシングハイブリッドレンダラーを搭載するソフトウェア (3ds MaxのScanline、MayaのMaya Softwareなど) も残っている。その中には、ラジオシティに対応するものもある (3ds MaxのScanline (Lightscape Technologie製Lightscape由来)など)。
nXtRender (nXtRender←Robert McNeel & Associates)
AutoCAD用。旧AccuRender nXtであり、AccuRenderの後継。
Render Plus SoftwareからはRevit向けのnXtRender for RevitとSketchUp向けのIRender nXtが、Robert McNeel & AssociatesからはRhinoceros向けのFlamingo (レイトレーサー)が販売されている。
REDsdk (Redway3D)
GPU対応の物理ベースレンダラー。ABVENT製の、Vectorworks、Rhinoceros、Revit、SketchUp、ArchiCAD用レンダラーであるArtlantis v6以降に搭載されている (以前はMaxwell Renderのエンジンを搭載していた)。また、BricsCADにも搭載されている。
FluidRay (Fluid Interactive)
旧FluidRay RT。スペクトルレンダリングにも対応したCPU専用インタラクティブGIレンダラー。
3ds Maxからのエクスポーターがある。Modo、Shade3D、SketchUp、Rhinocerosに対応していた。
Autodesk Raytracer (Autodesk←Opticore)
別名RapidRT。可視化向けレンダラー。3ds Max 2017以降、AutoCAD、Revit、Fusion 360に搭載されている。
FStormRender (Pinksoft)
GPU専用の非バイアスレンダラー。3ds Maxに対応している。
オープンソースのレンダラー。照明解析に良く使われている。5.0でフォトンマッピングに対応したほか、グレア解析ツールのEvalglareが追加された。
CentiLeo Renderer (CentiLeo)
GPU専用の物理ベースレンダラー。3ds Max及びCinema 4D用が頒布されている。
オープンソースの物理レンダラー。ライトトレーシングに似た手法を採用している。最終バージョンは2005年リリースの0.46。Linux用のxOSiも存在する。
オープンソースのレンダラー。Javaで書かれている。パストレースとイラディアンスキャッシュに対応。SPECjvm2008に含まれており、Java環境の性能評価で使われている。
Lightworks Author (シーメンス←LightWork Design)
旧Lightworks。最新バージョンは2014年リリースのv9.1。ArchiCADやtrueSpace、Pictorex Artisan (旧Lightworks Artisan)、formZのRenderZoneなどに搭載されていたレンダラー。NVIDIA irayベースのIray+に取って代わられた。
オープンソースのレイトレースレンダラー。LGPLライセンス。双方向パストレーシングにも対応。BlenderやWings 3D等に対応。モーションブラーには未対応。
FurryBall RT (Art And Animation studio)
GPU専用の物理レンダラー。Maya、Cinema 4D、3ds Maxに対応していた。OptiXを使用しており、NVIDIA GPU専用。
RTより前のバージョンは、DirectXベースのラスタライズレンダラーであった。
Brazil (Imagination Technologies←Caustic Graphics←SplutterFish)
旧Brazil Rendering System。Brazil 3.0はOpenRL使用のリアルタイムレンダリングエンジンであり、レイトレ・アクセラレータに対応していた。このSDKはMaya及びSketchUp用のCaustic Visualizer (開発終了)や、Rhinoceros用のNeon (開発終了)に搭載されていた。
Brazil R/S 2.0の3ds Max用は開発終了したが、Rhinoceros用は販売が継続している。
Autodesk Realtime Renderer (Autodesk ← Virtual Shape Research Technology)
旧VSR Realtime Renderer。Rhinoceros用のリアルタイムレンダラー。
レイトレースレンダラー。プログラマブルな独自の場面記述言語を使用する。オープンソース。非公式拡張として、MegaPOVやUberPOVがあった。モーションブラーにはMegaPOVで対応していた。
標準でエッジレンダリングに対応する統合ソフトウェアが多い (3ds MaxのInk'n Paintマテリアル、3ds MaxのQuicksilverのVisual Style、MayaのMaya SoftwareのpfxToonシェーダ、Maya及び3ds Maxに搭載のArnold 5.1以降のToonシェーダー、Cinema 4DのSketch And Toon、LightWave 2018以降のCel Integrator (Super Cel Shader及びBESMシェーダーの後継)、BlenderのFreestyle及びLine Artなど)。また、標準でベクターレンダリングが可能な統合ソフトウェアも存在する (MayaのMaya Vector、Blender付属のFreestyle SVG Exporterアドオンなど)。
finalToon (cebas)
3ds Max用NPRプラグイン。ラインの反射や屈折にも対応している。ベクターレンダリングにも対応している。finalRenderに付属されている。
Pencil+ (P SOFTHOUSE)
3ds Max及びMaya用NPRプラグイン。4で眉や目などの貫通表示に対応した。ライン描画のみのPencil+ Lineもあり、こちらはUnity、After Effects (後処理のみ)に対応している。
日の丸 (SF Graphics)
Maya及び3ds Max用NPRシェーダープラグイン。Unity用のHinomaru for Mobileもある。
NPR Kit for MODO (The Foundry Visionmongers←Luxology)
Modo用NPRシェーダー集。Modo 16以降無料。
ユニティちゃんトゥーンシェーダー (Unity Technologies Japan)
Unity用NPRシェーダー。無料。
Toony Colors Pro
Unity用NPRシェーダー生成ツール。無料版のToony Colors Freeもある。アウトライン、リムライト、スケッチスタイルなどにも対応している。
SugiyamaToonShader (面白法人カヤック)
Unity用NPRシェーダー。カメラとの距離から輪郭線の幅を算出したり、UVテクスチャで輪郭線の色を指定できる。
NINGYOU Shader
Unity用NPRシェーダー。フラグメントシェーダーで暖色と寒色の色を転ばせるのが特徴。
Toon-Pro (3DVision)
Blender用のNPRシェーダー。
Flair (Artineering)
Maya用NPRレンダラー。旧MNPRX。オープンソースであったMNPRの後継。
Sketch Shader
Blender用スケッチシェーダー。無料。
Swift 3D MAX (Electric Rain)
3ds Max用NPRレンダラ。ベクターレンダリングにも対応している。
レンダーエンジンのRAViX 3Dは、Maya 5以降のVector Renderer、CarraraのVectorStyleプラグイン、Strata 3DのRender Vectorなどでも使われている。
Penguin (McNeel)
Rhinoceros及びAutoCAD用NPRレンダラであった。なお、Rhinoceros 5以降には、標準でNPR表示モードが搭載されている。
LightWave用NPRプラグイン。眉や目などの貫通表示に対応。BSDライセンス。
Liquid+ (P SOFTHOUSE)
3ds Max用NPRレンダラー。3ds Max 2016まで対応。
Illustrate! (David Gould Studios)
3ds Max用NPRレンダラ。ベクターレンダリングにも対応している。3ds Max 2017まで対応。
UBER - Standard Shader Ultra
Unity用のUber(メガ)シェーダーアセット。濡れ、波紋、半透明、雪、Parallax Occlusion Mapping、テッセレーションなどに対応している。
Universal PBR Uber-shader
Blender用のUberシェーダー。光の分散や複屈折にも対応している。
BA Shader Collection (Binary Alchemy)
MentalRay及びArnold用のシェーダー集。EssentialとVolumesが存在する。Essentialは無料。VolumesはSoftimage及びMayaのMentalRayのみ対応。Softimage|XSI 7以降に標準搭載されていた。フレークシェーダーなどが含まれている。
Arnold 4以前用のシェーダーライブラリ。MITライセンス。alSurfaceシェーダーはV-Ray 3.5以降やappleseed、Clarisse 3.5以降にも搭載されている。
Obq_Shaders (Oblique FX)
Arnold用のシェーダーライブラリ。MITライセンス。Arnold 5対応は極一部のみ。
b°wide NodePack
Blender用のシェーダー及びコンポジットノード集。ライセンスはPublic Domain。
標準で多くのマテリアルを含むマテリアルライブラリを持つレンダラーも増えている (対応表参照)。また、統合ソフトウェアに付属するものもある (3ds Max/Inventor/AutoCAD/Revit等に付属のAutodesk Material Library、KeyShotなど)。