いきなりサンプルソースの紹介です。以下をご覧下さい(各行先頭の数字は 説明のためにつけたものです)。
1: // sample1.pov 2: /* 3: コメントは C 言語と同じです。 4: ざっとソース見るとこれまた Cに近いですね 5: */ 6: 7: #include "colors.inc" 8: #include "shapes.inc" 9: #include "stones.inc" 10: 11: camera{ 12: location <0, 2, -2> 13: look_at <0, 0, 0> 14: } 15: 16: light_source{ <10, 10, -10> color White } 17: 18: object{ 19: Sphere 20: texture{ T_Stone12 } 21: } |
上のソースを sample1.pov というファイルで保存したとします。
$ povray -Isample1.pov +D |
として実行します。-I の次にソースファイルを指定するのですが 空白を開けないで下さい。+D をつけると計算の経過を出力してくれます (必ずしもつける必要はありません)。計算が終了したら PNG 形式の ファイル(sample1.png)が出来ていると思いますので確認してください。
1〜5行目 | コメントです。POV-Ray では // 以下行末までと /* から */ まではコメントとみなされます。C 言語と同じなので覚えやすいと 思います。 |
7〜9行目 | 外部のファイルを読み込む場合に #include で指定します。 これは POV-Ray ですでに定義されているファイルを読み込む 場合も自分で定義したファイルを読み込む場合も同じです。 ちなみに POV-Ray 定義のファイルは /usr/local/lib/povray-3.5/include にあります。 |
11〜14行目 | 画像をどこからどの方向に向かって見ているかを指定します。 上の例では座標(0,2,-2)から(0,0,0)を向いた画像が表示されます。 ちなみに POV-Ray の座標系はいつも我々が慣れている右手系では なく下の図にあるような左系?の座標であることに注意してください。 |
16行目 | 光源を指定します。同時に color で光の色を指定します。 選べる色の種類は colors.inc で定義されています。colors.inc で定義されていない色でも任意に指定することも可能です。 |
18〜21行目 | 物体の定義をします。ここでは球にしました。球は shapes.inc で定義されています。また、球がどのような素材かということを texture で指定します。ここでは T_Stone12 という大理石っぽい 素材であるとしました。 T_Stone12 は stones.inc で定義されています。 |
このように物体とその物体がどのような素材であるかを指定し、その物体に どのような角度でライトをあててある場所から見たらどうなるかという シナリオをソースでは記述します。
基本的にはこのような作業をするだけです。ようは高尚な積み木作業だと 思ってください。ここでは詳しくは説明しませんが、物体を移動や回転 させたり変形をさせることも可能です。また、複数の物体間で足し算引き算 をすることも可能です。