スクリプト フラグメント コマンド

次に、スクリプト フラグメント xml ファイルに含めることができるコマンドのリストを示します。スクリプト フラグメントの詳細については、「ビューポートにレンダリングするフラグメントおよびフラグメント グラフを記述する」を参照してください。

AcquireTarget

指定したサイズおよび形式のキャッシュからレンダー ターゲットを取得して、ローカル変数に追加します。これは MRenderTarget の取得と似ています。

XML 構文:

<acquireTarget 
    name="beauty" 
    format="EFORMAT_R32G32B32A32_FLOAT"
    size="@finalDesc.Size" 
    relSize="1.0,1.0"
    msaa="@finalDesc.NumMSAASamples"
/>

アトリビュート

SetTarget

指定のターゲットをデバイス上の指定のターゲット スロットに設定します。ターゲットは、setTarget で使用する前に、取得しておくか、パラメータで指定しておく必要があります。

XML 構文:

<setTarget
    index="0" 
    value="beauty"
/>

アトリビュート

SetDepthStencil

指定のターゲットをデバイスの深度ステンシル バッファに設定します。ターゲットは、setDepthStencil で使用する前に、取得しておくか、パラメータで指定しておく必要があります。

XML 構文:

<setDepthStencil 
    value="myDepthStencil"
/>

アトリビュート:

ReleaseTargets

このコマンドは、ローカル キャッシュ内の 1 つまたは複数のターゲットをターゲット キャッシュにリリースし、関連付けられたパラメータをローカル キャッシュから削除します。

XML 構文:

<releaseTargets 
    value="beauty,temp0"
/>

アトリビュート:

ReleaseAll

このコマンドはすべてのローカル パラメータをキャッシュにリリースします。

XML 構文:

<releaseAll/>

クリア(Clear)

このコマンドは、カラー バッファ、深度バッファ、ステンシル バッファの組み合わせをクリアして、指定値に設定します。

XML 構文:

<clear 
    color="0,0,0,0" 
    depth="1.0" 
    stencil="0"
/>

アトリビュート:

SetCamera

このコマンドは、現在の描画カメラを指定値に設定します。

XML 構文:

<setCamera 
    value="camera0" 
    index="0" 
/>

アトリビュート:

SetViewport

このコマンドは、現在のビューポートを指定の描画領域に設定します。四角ポリゴン描画およびクリアを含むすべての描画はアクティブなビューポートに制限されます。

XML 構文:

<setViewport
    value="0.0,0.0, 0.5,0.5"
/>

アトリビュート:

SetScissorRect

このコマンドは、現在のはさみ長方形を指定の領域に設定します。はさみ長方形が有効になるようにレンダー状態が設定されていない場合は、このコマンドは無効です。はさみ長方形が有効な場合、四角ポリゴン描画を含む描画は、はさみ長方形に制限されます。

XML 構文:

<setScissorRect
    value="0.0,0.0, 0.5,0.5"
/>

アトリビュート:

SetEffect

このコマンドはオーバーライド エフェクトを指定の値に設定します。四角ポリゴン描画を含むすべての描画は、リセットされない限り、オーバーライド エフェクトを使用します。

エフェクトは 1 回のみ設定して、何度でも再利用することができます。

XML 構文:

<setEffect  
    name="DownSampleEffect"
    path="downSample"
    technique="Main"
    macrolist=""  
/>

アトリビュート:

SetEffectParameter

このコマンドは、現在のエフェクトのパラメータ値を指定の値に設定します。これ以降にこのエフェクトを使用する場合は、常にこの値が使用されます。

XML 構文:

<setEffectParameter  
    effect="downSample"  
    name="scale"  
    value="0.0,1.0" 
/>

アトリビュート:

SetTexture

このコマンドは、デバイスの指定のテクスチャ スロットの値を、指定のサンプラの状態およびテクスチャに設定します。

XML 構文:

<SetTexture 
    effect="Main" 
    name="gDistanceTex" 
    value="PointClamp" 
    texture="@DistanceMap" 
/>

アトリビュート:

SetState

このコマンドは、指定の状態ブロックをデバイスに設定します。完全デバイス状態を設定できます(“RenderState”)。または、3 つのコンポーネント(ブレンド状態、ラスタライズ状態、および深度ステンシル状態)を個別に設定することもできます。

XML 構文:

<setState
    name="DepthStencilState"  
    value="myDepthStencilState" 
/>

SetRenderParameter

このコマンドは、指定したレンダラのパラメータを設定します。パラメータで、補助ワールドを格納したり、特定の項目フラグが設定された全オブジェクトを使用できるようにオブジェクト フィルタを指定したりできます。たとえば、“visible” や “castsShadow” などです。

XML 構文:

<setRenderParameter  
    renderer="opaqueRend"  
    name="filter" 
    value="visible" 
/>

アトリビュート:

Declare

このコマンドは、指定したタイプの新しいパラメータを宣言して、ローカル キャッシュに追加します。必要に応じて、パラメータの値を指定値に設定します。これ以降、パラメータの設定には setParameter コマンドを使用します。

XML 構文:

<declare  
    name="light0Shadow" 
    type="target" 
    value="shadowBuf0" 
/>

アトリビュート:

SetParameter

このコマンドは、指定したパラメータを指定値(または別のパラメータ)に設定します。

XML 構文:

<setParameter  
    name="@output"  
    value="1.0,0.25" 
/>

アトリビュート:

 

このコマンドは、指定したパラメータが NULL または false であるかをテストし、NULL または false の場合は、「else」または「endIf」に達するまですべてのステートメントをスキップします。ステートメントはネストできます。

XML 構文:

<if  
    value="@depthStencil"
/>

アトリビュート

IfNot

このコマンドは、指定したパラメータが NULL または false であるかをテストし、NULL または false の場合は、else または endIf に達するまですべてのステートメントを実行します。true または NULL でない場合は、else または endif に達するまでステートメントは実行されません。ステートメントはネストできます。

XML 構文:

<ifNot  
    value="@depthStencil" 
/>

アトリビュート

Else

このコマンドは main セクションを終了し、if または ifNot コマンドの else セクションを開始します。また、if または ifNot で生成されたステートメントの包含状態を反転します。if ステートメントが true と評価された場合は、endIf または else に達するまでステートメントが実行されます。else に達した場合は、endIf に達するまで後続のステートメントは実行されません。条件ステートメントはネストできます。if / endIf ペアの間、または ifNot / endIf ペアの間に含める必要があります。

XML 構文:

<else/>

アトリビュート

EndIf

このコマンドは if または ifNot コマンドを終了し、標準の無条件の処理を復元します。endIf の後のすべてのステートメントは、通常どおり実行されます。条件ステートメントはネストできます。このコマンドは if コマンドと 1 対 1 で対応し、一致する if コマンドの後に指定する必要があります。

XML 構文:

<endIf/>

アトリビュート

Call

このコマンドはユーザが指定したコールバック オブジェクトを呼び出します。コールバック オブジェクトがローカル キャッシュ内にない場合は、作成されて、ローカル パラメータに追加されてから呼び出されます。コールバックは 2 つの引数を取ります。

XML 構文:

<call 
    name="myCallback " 
    arg0="doThisThing" arg1="0.125"
/>

アトリビュート

Render

このコマンドは、value アトリビュートで指定されたリスト内のすべてのオブジェクトをレンダリングします。有効値には、描画する不透明オブジェクトのリストである "opaqueList"、および単一のフルスクリーン クアッドを描画する “quad” などがあります。Render ではターゲット、カメラ、状態、オーバーライド エフェクト、またはその他のレンダリング関連の値は設定されません。インタプリタで現在設定されている状態を持つジオメトリが描画されるだけです。四角ポリゴン描画とシーン描画はいずれもビューポートの領域に制限されます。

XML 構文:

<render 
    name="@opaqueList" 
/>

アトリビュート:

SetStateCommand

このコマンドは状態セッタ クラスを使用して、仮想デバイスのレンダー状態またはサンプラ状態を管理します。また、状態変更の設定、状態変更のコミット、および古い状態の復元も行います。

XML 構文:

<SetStateCommand 
    commandName="SetStateParameter" 
    name="localStateSetter_fsShadow"
    parameter="SetBlendEnable" 
    value="true"
    index="0" 
/>