De/Brush

Ein Brush in ist eine konvexe dreidimensionale Form, die ausschließlich von geraden Flächen begrenzt wird (Polyeder).
Die Bezeichnung 'Brush' stammt aus dem Englischen und heißt auf Deutsch 'Pinsel'. Die Verwendung des Begriffes 'Brush' lässt sich wohl auf Grafikprogramme zurückführen, wo unterschiedliche Pinsel eingesetzt werden, um verschiedene Effekte zu erzeugen, und hat sich im gesamten Bereich der computergestützten Grafik etabliert. Der deutsche Begriff für einen Brush in Hammer ist grafisches Primitiv, da Brushes im Regelfall vergleichsweise primitive Formen abbilden. Angesichts der Verbreitung des Begriffes 'Brush' auch im deutschen Sprachraum sollte die eher unbekannte Bezeichnung 'Primitiv' aber nicht verwendet werden (ganz zu schweigen von der Bezeichnung 'Pinsel'). Im Folgenden wird daher weiterhin von einem Brush gesprochen.
Brushes können in Hammer zu zwei Zwecken eingesetzt werden:
* Formung der ()Ein Welten-Brush bildet das sogenannte 'Rückgrat der Welt' (world backbone) und beeinflusst die innerhalb der geschaffenen Welt, da Brushes grundsätzlich Festkörper sind, durch die nicht hindurch gesehen werden kann.
* Erzeugung von Entitäten ().Brush-Entitäten beeinflussen die Sicht nicht, was nicht dahingehend missverstanden werden darf, dass man durch Brush-Entitäten hindurchsehen kann. Mehr Informationen hierzu enthält der Artikel über die in Hammer Welten.
Im Vergleich zu einem sind Brushes:
* jedesmal einzigartig,
* wenig detailliert und ,
* im Rahmen einer vorberechneten beleuchtet und
* fest (also nicht verformbar).
== Brushes in der Kompilierung ==
Während der einer in Hammer erstellten Welt wird das Programm ausgeführt. Dieses Programm erzeugt sogenannte und je Visleaf wiederum eine Gruppe zweidimensionaler Polygone aus diejenigen Flächen der Brushes, die das Visleaf berühren . Die daraus resultierenden 'Brush-Modelle' werden in der BSP-Datei gespeichert und können von Entitäten beansprucht werden (also beispielsweise von der Welt oder von Brush-Entitäten). Die ursprünglichen Brushes werden ebenfalls in der BSP-Datei aufbewahrt, wobei der Sinn hiervon unklar ist.
Die Erzeugung von Polygonen aus Brushes verläuft nach den folgenden Regeln:
# Jeder einzelne Brush wird darauf hin untersucht, welche seiner Flächen ein Visleaf berührt. Aus diesen Flächen werden Polygone berechnet, wie in der folgenden Grafik zu erkennen ist:
# Für den Fall, dass nur ein Teil einer Brushfläche ein Visleaf berührt, während der Rest das Visleaf nicht berührt, wird die Fläche aufgeteilt und der 'verdeckte' Teil, also der Teil, der das Visleaf nicht berührt, entfernt.
Zu diesen einfachen Regeln gibt es zwei Ausnahmen:
* Obwohl in Hammer getrennte Brush-Entitäten sind, werden sie während der Kompilation in eine Einheit verschmolzen. Daher ist es nicht erforderlich, diejenigen Flächen eines func_detail mit einer -Textur zu versehen, die vollständig an die Fläche eines anderen func_detail angrenzt. Dort, wo ein func_detail an die Welt angrenzt, sind demgegenüber auf jeden Fall Nodraw-Texturen zu verwenden.
* Flächen mit Material werden niemals teilweise entfernt. Deswegen solltest du lichtdurchlässige Materialien niemals auf internen oder versteckten Flächen anwenden, es sei denn, dies ist unbedingt erforderlich.
== Grenzen ==
In der Kompilierung erzwingt VBSP folgende Höchstwerte:
* 8192 Brushes;
* 128 Flächen pro Brush;
* 65536 Flächen insgesamt.
Auch unsichtbare Brushes wie und selbst werden von der Zählung erfasst. Nur mit Nodraw-Textur versehene Flächen fallen aus der Zählung heraus, da diese Flächen während der Kompilierung entfernt werden. Nichstdestotrotz bleiben deren Kollosionsdaten, ihre Grenzen und ihre Position in der Welt bestehen.
== Siehe auch ==
* 
* 
* 
*