Query


詳細

このオプションのコールバックは、Render Manager によって使用され、QueryType 属性で指定された siRenderQueryType 列挙値に基づいてレンダリング エンジンに情報を問い合わせます。


適用対象

カスタム レンダラ


構文

CStatus <renderer_name>_Query( CRef& in_context )

{

	...

}

<renderer_name> は、PluginRegistrar::RegisterRenderer の呼び出しで指定されている名前です。この名前に含まれるスペースはアンダースコアに置き換えられます。


パラメータ

パラメータ 言語 タイプ 説明
in_context C++ CRef& RendererContext オブジェクトへのリファレンス。 Context::GetSourceRenderer を返します。


コンテキスト属性

クエリ コールバックのコンテキスト属性は、クエリ タイプによって異なります。 ただし、いずれの場合も QueryType 属性は設定されます。

属性 タイプ 説明
QueryType siRenderQueryType 問い合わせ対象の情報のタイプ。 各クエリに固有のコンテキスト属性については、次の表を参照してください。
クエリ タイプ 属性 タイプ 説明
siRenderQueryArchiveIsValid Filename CString オブジェクト アーカイブのファイル パス。
Valid bool 戻るときに、Filename で指定したオブジェクト アーカイブがこのレンダラで有効なアーカイブである場合は true に、それ以外の場合は false に設定される必要があります。
MultiFrame bool 戻るときに、有効なアーカイブが複数フレームのアーカイブである場合は true に設定される必要があります。
siRenderQueryArchiveProxies Filename CString オブジェクト アーカイブのファイル パス。
Frame int プロキシを返す必要がある、アーカイブ内のフレーム番号。 複数フレームのアーカイブについてのみ必要です。 単一フレームのアーカイブの場合、Filename 属性値で十分です。
ProxyXY

ProxyXZ

ProxyYZ
CString Filename で指定されているオブジェクト アーカイブにディスプレイ プロキシが生成された場合、このコールバックによってこれらの属性値を XY、XZ、YZ の各平面のディスプレイ プロキシの絶対パスとして設定する必要があります。 ディスプレイ プロキシは、アーカイブのバウンディング ボックスにフィットするように描画されます。 ディスプレイ プロキシ イメージは、Softimage で認識可能な形式で保存する必要があります。
siRenderQueryArchiveBBox Filename CString オブジェクト アーカイブのファイル パス。
Frame int バウンディング ボックスを返す必要がある、アーカイブ内のフレーム番号。 複数フレームのアーカイブについてのみ必要です。 単一フレームのアーカイブの場合、Filename 属性値で十分です。
BBoxMin

BBoxMax
CVector3 これらの属性値は、コールバックによって、オブジェクト アーカイブ内に含まれているレンダリング可能なジオメトリの完全なバウンディング ボックスとして設定される必要があります。 最小範囲と最大範囲は、軸に揃えられたバウンディング ボックスの CVector3 値として設定する必要があります。
siRenderQueryArchiveFrameRange Filename CString オブジェクト アーカイブのファイル パス。
FrameStart

FrameEnd
int これらの属性値は、コールバックによって、Filename 属性で指定された複数フレーム オブジェクト アーカイブのフレーム範囲として設定される必要があります。 このコールバックがこのオブジェクト アーカイブを複数フレームのアーカイブと識別した場合にのみ呼び出されます。 どちらの値も、その値自体を含みます。
siRenderQueryDisplayBitDepths BitDepths CLongArray この属性は、コールバックによって、siImageBitDepth 値の配列として設定される必要があります。レンダラがイメージ フラグメントを返す対象として Softimage が指定できるビット深度を示します(「RendererImageFragment::GetScanlineRGBA」を参照)。

現在 Softimage によって認識される値は、以下のとおりです。
siRenderQueryWantDirtyList WantDirtyList bool この属性は、レンダラがダーティ リストを必要とするかどうかを示すために、戻る前に設定する必要があります。 戻るときにこの値が true である場合は、Process コールバックの各呼び出しでレンダラにダーティ リストが提供されます。 false に設定されている場合は、ダーティ リストは提供されません。

デフォルトでは、このクエリ コードが処理されるかどうかに関係なく、ダーティ リストが提供されます。 これは主にシーン グラフを反映しないレンダラの最適化のヒントになります。
siRenderQueryVersionString Version CString この属性は、戻るときにレンダリング エンジンのバージョン識別子に設定される必要があります。 バージョン番号が異なる場合、このバージョン識別子はプラグインのバージョンとは異なる可能性があります。 バージョン識別子のフォーマットには制限はありません。


関連項目