POV-Ray

POV-Rayとは

ポブレイ(POV-Ray)は、世界的に使われている汎用CGプログラミング言語です。 POV-Rayはオブジェクトなどの空間位置などを記述するだけで、高度な数学の知識がなくてもCGを作成することができます。

POV-Ray

POV-Rayの公式サイト

POV-Rayには、POV-Ray公式サイト(http://www.povray.org/)があります。 ダウンロードもPOV-Ray公式サイトより行います。 ダウンロードへのリンクは、POV-Ray公式サイトのトップページの左上にあります。

POV-Rayのダウンロードとインストール(動画解説)

POV-Rayのダウンロードとインストールを動画で解説します。

POV-Rayの使い方(動画解説)

POV-Rayの使い方を動画で解説します。

POV-Rayアニメーションの作り方(動画)

POV-Rayのアニメ―ションの作り方を動画で解説します。

POV-Rayのシーンファイル

POV-Rayのプログラムを記述するファイルをシーンファイルといいます。 下記は、オレンジ色の球を描画するシーンファイルです。 背景はプラム色(Plum)、影は非表示(shadowless)です。
#include "colors.inc"
#include "shapes.inc"

camera{
     location<5, 3, 5>
     look_at<0, 0, 0>
     angle 40
}

light_source{<10, 5, 5> color White shadowless}

object{
     sphere{<0, 0, 0>, 1}
     pigment{color Orange}
}

object{
     plane{<0, 1, 0>, -100}
     pigment{Plum}
}

sphere

POV-Rayアニメーションのシーンファイル

POV-Rayアニメ―ションは、clock変数を利用して作成します。また、コマンドボックスには開始フレーム番号(+KFI*)、終了フレーム番号(+KFF*)を記述します。 下記は、POV-Rayアニメーションのシーンファイル、および、コマンドボックスの状態です。 オレンジ色の球が10コマで上方向(Y軸プラス方向)へ1.5移動します。
#include "colors.inc"
#include "shapes.inc"

camera{
     location<5, 3, 5>
     look_at<0, 0, 0>
     angle 40
}

light_source{<10, 5, 5> color White}

object{
     sphere{<0, 0, 0>, 0.1}
     pigment{color Orange}
     translate<0, 1.5*clock, 0>
}

sphere

sphere


インクルードファイルの利用

外部ファイルをインクルードファイルとして「.pov」ファイルに読み込むと、使い回しが出来て便利です。 ここでは、外部ファイルとして「zukei1.inc」「zukei2.inc」を作成し、「incsample.pov」に読み込ませています。
// incsample.pov

#include "colors.inc"
#include "shapes.inc"
#include "zukei1.inc"
#include "zukei2.inc"

camera{
        location<30, 30, 30>
        look_at<0, 0, 0>
}
        
light_source{<100, 100, 100> color White*2 shadowless}

object{a}
object{b}
aa
bb

object{
    plane{<0, 1, 0>, -100}
    pigment{color Plum}
}
// zukei1.inc

#declare a = sphere{
			<0, 0, 0>, 3
			pigment{color Orange}
            }

#declare aa = object{
			sphere{<0, 15, 0>, 2}
			pigment{color Red}
            }
// zukei2.inc

#declare b = torus{
			10, 1
			pigment{color Green}
                }

#declare bb = object{
			torus{20, 1}
			pigment{color Blue}
                }

sphere