GraphicsモジュールのすべてのオブジェクトはSDKクラスGRSdkによって管理されます. GRSdkクラスは,プログラムの実行を通してただ1つのオブジェクトが存在するシングルトンクラスです. GRSdkオブジェクトを作成す るには以下のようにします.
GRSdkIf* grSdk = GRSdkIf::CreateSdk();
通常この操作はプログラムの初期化時に一度だけ実行します. また,Frameworkモジュールを使用する場合はユーザが直接GRSdkを作成する必要はありません.
GRSdkには以下の機能があります.
• レンダラの作成
• デバイスの作成
• シーンの管理
レンダラとは処理系に依存しない抽象化された描画機能を提供するクラスです. レンダラのクラスはGRRenderです.
一方,デバイスは処理系ごとの描画処理の実装を行うクラスです. 現在のSpringheadではOpenGLによる描画のみがサポートされています. OpenGL用デバイスクラスはGRDeviceGLです.
レンダラをデバイスに関するGRSdkの関数を以下に示します.
GRSdkIf |
||
GRRenderIf* |
CreateRender() |
レンダラを作成 |
GRDeviceGLIf* |
CreateDeviceGL() |
OpenGLデバイスを作成 |
GRRenderIf |
||
void |
SetDevice(GRDeviceIf*) |
デバイスの設定 |
GRDeviceIf* |
GetDevice() |
デバイスの取得 |
Graphicsモジュールを使用するには以下の初期化処理を必ず実行する必要があります.
GRRenderIf* render = grSdk->CreateRender(); GRDeviceIf* device = grSdk->CreateDeviceGL(); device->Init(); render->SetDevice(device);
GRRenderのSetDevice関数でデバイスを登録すると,レンダラは実際の描画処理をそのデバイスを用いて行います. 将来的に処理系ごとにデバイスを使い分けることを想定し,上の処理はユーザが行うことになっています. Frameworkモジュ ールを使用する場合はユーザ自身で上の手続きを行う必要はありません.