まずは球を描いてみたいと思います。
ソフトを起動して始めに思うことは「何書いているのか全然わかんない」でしょう。
元からあるサンプルは、貴重な参考資料ですので、壊さないように注意しましょう。
メニューFile -> New File
にて、新しいファイルを作成して下さい。
初めて接する言語で、まず確認しなければならないのは、最小構成です。
C言語で言うところの「Hello World」みたいなもののことです。
とりあえず、全くの空白のままでレンダリングしてみます。
メニュー -> Render -> Start Rendering
そうすると、ファイルを保存するように促されます。
恐らく、保存したファイルを、別プログラムでレンダリングする仕組みなのでしょう。
無事レンダリングが完了すると、真っ黒な画面が表示されます。
これで、必ず記述しなければならない内容は無いと言うことが分かりました。
とりあえず、球を置いてみます。
球は sphere(スフィア)です。
sphere { < X座標, Y座標, Z座標>, 直径 >
さぁ、置いてみましょう。
ど真ん中に置いてみます。
sphere { <0, 0, 0>, 3}
これでレンダリングを行うと真っ黒ですね(泣)
なぜ真っ黒なのかを考えます。
物体に色が無いからだと思います。
そこで、テクスチャーを貼って、色を塗ってみます。
テクスチャーは pigment(ピグメント)です。
pigment { テクスチャーに関する記述 }
色を塗るのは color(カラー)です。
color rgb < 赤成分, 緑成分, 青成分 >
rgb(アールジービー)指定では無く、white等の色定数が使えそうですが、書くとエラーになります(謎)
で、これらをどのように記述するのかと言うと、colorは pigmentの中、pigmentは sphereの中に記述します。
実際の記述を見た方が分かり易いでしょう。
sphere { <0, 0, 0>, 3 pigment { color rgb <1, 1, 1> } }
色は白で塗ってみました(バックが黒で、一番目立ちそうだから)
これでレンダリングを行うと、まだ真っ黒ですね(泣)
カメラ位置が世界の中心にあるのでは無いかと予想する。
球の位置を動かすと、その予測が正しい事が分かった。
しかも、Z軸に対してマイナス方向を向いているようだ。
球を Z軸に対してマイナス方向へ動かして、見えるようにする。
sphere { <0, 0, 10>, 3 pigment { color rgb <1, 1, 1> } }
これをレンダリングすると、球が表示されるはずだ。
レンダリングした画像を見ると、球と言うよりは円ですね(汗)
なぜそう見えるのかと言うと、陰影が無いからです。
光を当てて陰影を付けてみましょう。
光源を設定するのは light_source(ライトソース)です。
light_source { < X座標, Y座標, Z座標 > rgb < 赤成分, 緑成分, 青成分 > }
light_source { <10, 20, -10> rgb <1,1,1> }
これを追加してレンダリングを行うと、球に見えるはずです。
ウィンドウを右クリックしても保存のようなメニューはありません。
しばらく、画面キャプチャしていましたが、実は自動的に保存されている事が分かりました(^^;
povファイルと同じフォルダに bmp形式で保存されています。
sphere { <0, 0, 10>, 3 pigment { color rgb <1, 1, 1> } } light_source { <10, 20, -10> rgb <1,1,1> }