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-Knoten können als Knoten zum Beschneiden (Clipping) verwendet werden—Masken, die steuern, wie andere Knoten gerendert werden. Dieses Handbuch erklärt, wie diese Funktion arbeitet.
Knoten der Typen Box, Text und Pie können zum Beschneiden verwendet werden. Um einen beschneidenden Knoten zu erstellen, füge deiner GUI einen Knoten hinzu und lege seine Eigenschaften entsprechend fest:
None rendert den Knoten, ohne dass ein Beschneiden stattfindet.Stencil bewirkt, dass der Knoten in die aktuelle Stencil-Maske schreibt.Füge anschließend die Knoten, die du beschneiden möchtest, als untergeordnete Knoten des beschneidenden Knotens hinzu.

Das Beschneiden funktioniert, indem Knoten in einen Stencil-Puffer schreiben. Dieser Puffer enthält Beschneidemasken: Informationen, die der Grafikkarte mitteilen, ob ein Pixel gerendert werden soll oder nicht.
Stencil gesetzt ist, schreibt seine Form (oder deren Umkehrung) in eine neue Beschneidemaske, die im Stencil-Puffer gespeichert wird.
Hier sind drei Knoten in einer Hierarchie angeordnet:
Für diese Hierarchie sind vier Kombinationen aus normalen und invertierten beschneidenden Knoten möglich. Der grüne Bereich markiert den Teil des Kreises, der gerendert wird. Der Rest wird maskiert:

Mit Ebenen kannst du die Renderreihenfolge (und die Bündelung von Zeichenoperationen, Batching) von Knoten steuern. Wenn du Ebenen und beschneidende Knoten verwendest, wird die übliche Ebenenreihenfolge überschrieben. Die Ebenenreihenfolge hat immer Vorrang vor der Beschneidereihenfolge—wenn Ebenenzuweisungen mit beschneidenden Knoten kombiniert werden, kann das Beschneiden in der falschen Reihenfolge erfolgen, falls ein übergeordneter Knoten mit aktiviertem Beschneiden zu einer höheren Ebene als seine untergeordneten Knoten gehört. Untergeordnete Knoten ohne zugewiesene Ebene halten sich weiterhin an die Hierarchie und werden daher nach dem übergeordneten Knoten gezeichnet und beschnitten.
Ein beschneidender Knoten und seine Hierarchie werden zuerst gezeichnet, wenn ihm eine Ebene zugewiesen ist, und in der regulären Reihenfolge, wenn ihm keine Ebene zugewiesen ist.

In diesem Beispiel verwenden die beiden beschneidenden Knoten „Donut BG“ und „BG“ dieselbe Ebene 1. Ihre Renderreihenfolge entspricht ihrer Reihenfolge in der Hierarchie, in der „Donut BG“ vor „BG“ gerendert wird. Der untergeordnete Knoten „Donut Shadow“ ist jedoch Ebene 2 zugewiesen, die in der Ebenenreihenfolge höher liegt, und wird deshalb nach den beiden beschneidenden Knoten gerendert. In diesem Fall lautet die Renderreihenfolge:
Donut BGBGBG FrameDonut ShadowHier siehst du, dass das Objekt „Donut Shadow“ aufgrund der Ebenenzuweisung von beiden beschneidenden Knoten beschnitten wird, obwohl es nur einem von ihnen untergeordnet ist.