This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
GUI ノード(GUI node)は、ほかのノードの描画方法を制御するマスクである クリッピング(clipping) ノードとして使用できます。このマニュアルでは、この機能の仕組みを説明します。
ボックスノード(box node)、テキストノード(text node)、円や扇形を表示するパイノード(pie node)は、クリッピングに使用できます。クリッピングノードを作成するには、GUI にノードを追加してから、次のプロパティを適切に設定します。
None は、クリッピングを行わずにノードを描画します。Stencil は、ノードが現在のステンシルマスク(stencil mask)に書き込むようにします。次に、クリッピングしたいノードをクリッピングノードの子として追加します。

クリッピングは、ノードが ステンシルバッファー(stencil buffer) に書き込むことで機能します。このバッファーにはクリッピングマスク、つまりピクセルを描画するかどうかをグラフィックスカードに伝える情報が格納されます。
Stencil に設定されたノードは、ステンシルバッファーに格納される新しいクリッピングマスクに自身の形状(または反転した形状)を書き込みます。
ここでは、3つのノードが階層構造に設定されています。
この階層では、通常のクリッピングノードと反転したクリッピングノードの組み合わせが4通りあります。緑色の領域は円の描画される部分を示しています。残りの部分はマスクされます。

レイヤー(layer)は、ノードの描画順序(およびバッチ処理)を制御するために使用できます。レイヤーとクリッピングノードを併用すると、通常のレイヤー順は上書きされます。レイヤー順は常にクリッピング順より優先されます。レイヤーの割り当てをクリッピングノードと組み合わせた場合、クリッピングが有効な親ノードが子よりも上位のレイヤーに属していると、クリッピングが順不同で行われる可能性があります。レイヤーが割り当てられていない子は引き続き階層に従い、親の後に描画およびクリッピングされます。
クリッピングノードとその階層は、レイヤーが割り当てられている場合は最初に描画され、レイヤーが割り当てられていない場合は通常の順序で描画されます。

この例では、クリッピングノードの「Donut BG」と「BG」が、どちらも同じレイヤー1を使用しています。この2つの間の描画順序は階層内の順序に従うため、「Donut BG」が「BG」より先に描画されます。一方、子ノードの「Donut Shadow」は、レイヤー順が上位のレイヤー2に割り当てられているため、両方のクリッピングノードの後に描画されます。この場合、描画順序は次のようになります。
Donut BGBGBG FrameDonut Shadowこのように、「Donut Shadow」オブジェクトは、一方のクリッピングノードの子でしかないにもかかわらず、レイヤー順によって両方のクリッピングノードでクリッピングされます。