シーンの機能

シーンを作成したら,次はそのコンテンツであるフレームやメッシュ,カメラやライトなどを作成してシーンに加えていきます. この方法としては完全に手動でシーンを構築する他にも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つのフレームを参照し,これを視点の設定に用います. イメージとしてはカメラが参照先のフレームに取り付けられていると考える方が自然でしょう. 参照先のフレームの移動に応じてカメラもシーン中を移動することになります.