シーンを作成したら,次はそのコンテンツであるフレームやメッシュ,カメラやライトなどを作成してシーンに加えていきます. この方法としては完全に手動でシーンを構築する他にもFileIOモジュールを使用してファイルからシーンをロードする方法もあります. 以下にGRSceneの関数を示します.
GRSceneIf |
||
GRFrameIf* |
GetWorld() |
ワールドフレームの取得 |
GRCameraIf* |
GetCamera() |
カメラの取得 |
void |
SetCamera(const GRCameraDesc&) |
カメラの設定 |
GRVisualIf* |
CreateVisual(const GRVisualDesc&, GRFrameIf*) |
描画アイテムの作成 |
void |
Render(GRRenderIf*) |
描画 |
Fig. #.#.#に示すように,1つのシーンはただ1つのワールドフレームを持ち,それを基点として 任意の数の描画アイテムがツリー状に連なります. ワールドフレームはGetWorldで取得します.
特殊な描画アイテムにカメラがあります. カメラはワールドフレーム以下のツリーとは別に,GRSceneが保持します(Fig. #.#.#). カメラの設定はSetCameraで行います. カメラを取得するにはGetCameraを使います. また,カメラはシーングラフ中の1つのフレームを参照し,これを視点の設定に用います. イメージとしてはカメラが参照先のフレームに取り付けられていると考える方が自然でしょう. 参照先のフレームの移動に応じてカメラもシーン中を移動することになります.