PO
V-Ray(Persistence of Vision Raytracer)は、オープンソースの
レイトレーシングソフトウェアであり、多くのコンピュータプラットフォームで利用可能です。この
ソフトウェアは、3D
レンダリングエンジンとして機能し、独自の
C言語風の構造化ドキュメントを用いてシーンデータを入力します。マクロ関数による半自動的な配置が可能であるため、シミュレーションツールとしても活用できます。特に、数学的モデリングにおいて強力な機能を発揮します。
PO
V-Rayの大きな特徴は、その拡張性の高さにあります。自由に拡張版を作成、配布できるため、学術的な新技法の試験実装によく利用されます。公式版に加えて、複数の独自拡張版が公開されており、ユーザーコミュニティによる活発な開発が続けられています。特に、v3.7以降は
ライセンスがAGPLv3に変更されたことで、さらなる自由な利用と開発が促進されています。
歴史
PO
V-Rayの歴史は1980年代に遡ります。David Kirk Buckが自身の
AmigaにUnixの
レイトレーシングソフトウェアのソースコードをダウンロードし、それを検証した結果、独自の
レイトレーシングソフトウェアの開発を決意しました。彼は自身の
イニシャルを取ってDKBTraceと名付け、そのプログラムを掲示板に投稿しました。その後、1987年にAaron A. CollinsがDKBTraceをダウンロードし、x86用の開発を開始しました。David Buckと協力して機能追加を行い、
ソフトウェアの評価が高まるにつれて、開発チームが結成されました。1991年7月にはプログラマが集まり、チームとして活動を開始。同時に、Davidは
ソフトウェアの名前を「Persistence of Vision Raytracer」(PO
V-Ray)に変更しました。
派生レンダラー
PO
V-Rayには、多くの派生レンダラーが存在します。以下に代表的なものを紹介します。
MegaPOV: POV-Ray 3.6系の非公式拡張版で、その多くのパッチは後のPOV-Ray 3.7に取り込まれています。
UberPOV: PO
V-Ray 3.7系の非公式拡張版で、MegaPOVの後継として位置づけられています。
PO
V-Rayと連携して利用できる
モデラーも複数存在します。
Blender: オープンソースの統合3DCGソフトウェアで、POV-Ray用アドオンが同梱されています。このアドオンを有効にすることで、POV-Rayに対応したシーン作成が可能になります。POVコードの直接編集にも対応しており、Blender 2.79からはPOVコードのシンタックスハイライトもサポートされています。
Moray: 古くから存在するPO
V-Ray用
モデラーですが、2007年にPO
V-Rayの開発元に買収されて以降、開発は停止しています。
KPovModeler: KDEベースのPOV-Ray用モデラーで、オープンソースとして公開されていますが、開発は停止しています。
Bishop3D: Windows専用のPO
V-Ray用
モデラーで、アニメーションにも対応しています。シーン記述言語のインポートも可能で、オープンソース化されていますが、parametricサーフィス及びisosurfaceには対応していません。
Structure Synth: 独自のルール記述によって3D生成を行うソフトウェアで、POV-Ray形式でのエクスポートが可能です。
機能
POV-Rayは、開発当初から豊富な機能を備えていますが、近年のバージョンでは以下の機能が強化されています。
マクロとループを搭載した
チューリング完全なSDL (scene description language)
背景、テクスチャ、オブジェクトのライブラリ
多くの幾何プリミティブとConstructive Solid Geometryのサポート
多種の光源
霧などの大気エフェクトや媒体(
煙、
雲)
フォトンマッピングによる反射やコースティクス(集光模様)
バンプマッピングによるしわ、
いぼ、
波などの模様
ラジオシティ
TGA、PNG、
JPEGなどの
テクスチャや出力画像のフォーマットサポート(
JPEGは入力のみ)
豊富なドキュメント
POV-Rayの魅力の一つは、サードパーティーによるサポートが充実している点です。多くのツール、テクスチャ、モデル、背景、チュートリアルがWeb上で公開されており、ユーザーはこれらのリソースを自由に利用できます。
関連項目
以下にPOV-Rayと関連性の高いソフトウェアや技術を挙げます。
MathMod: 数学的モデリング
ソフトウェアで、parametricサーフィス及びisosurfaceに対応しています。しかし、PO
V-Ray関数への対応は一部に限定されています。
3D-XplorMath: 数学的モデリングソフトウェアです。
Functy: 数学的モデリング
ソフトウェアです。
Shadertoy: GLSL ES言語でのピクセルシェーダーアート環境および共有サービスで、距離関数を使用したレイマーチングによる3D表現が可能です。Webベースで利用できます。
コンピュータグラフィックス
レイトレーシング
Constructive Solid Geometry
外部リンク
*
公式ウェブサイト(英語)