Compiled-Retained Mode


Compiled-Retained Mode についての解説です。

Compiled-Retained Mode とは / 基本処理 / Capability / 戻る / トップページ


Compiled-Retained Mode とは

Compiled-Retained Mode は SceneGraph を実行時にコンパイルすることで 高パフォーマンスを獲得する Retained Mode です。
 
コンパイルされた SceneGraph は特別な (機能的にはコンパイル前と同じ) 内部形式に変換されます。

基本処理

Retained Mode 同様、SceneGraph を普通に作っていけば OK です。 ただし、レンダリング中に SceneGraph のどの部分が変更されるかを Capability bit で指定し (詳細は 後述 します)、 コンパイルする処理が加わります。
 
SceneGraph についての説明は こちら です。
 
コンパイルする方法はコンパイルしたい BranchGroup オブジェクトや SharedGroup オブジェクトに対して compile() メソッドを呼び出すだけです。
	root.compile();

Capability bit

Compiled-Retained Mode で SceneGraph を作るとレンダリングが自動的に始まりますが、 一度レンダリングが開始された後に SceneGraph にぶら下がっているオブジェクトや そのオブジェクトの属性を変更しようとすると CapabilityNotSetException が発生します。 これは Capability bit を設定していないために起こります。
 
Capability bit とは SceneGraph の Node の属性の変更を許可するためのフラグです。 通常どの属性の変更も許されていないので、 属性を変更したい時は Capability bit をセットする必要があります。
 
詳しくは Capability bit について をご覧下さい。

戻る