Interaktive Simulation am Beispiel einer ... - Baumaschine.de
Interaktive Simulation am Beispiel einer ... - Baumaschine.de
Interaktive Simulation am Beispiel einer ... - Baumaschine.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5. Fachtagung <strong>Baumaschine</strong>ntechnik 2012 Technische Universität Dres<strong>de</strong>n<br />
5 Abbildung <strong>de</strong>s Spritzbetons<br />
Der Prozess Betonsprühen mit <strong>einer</strong> Betonspritzmaschine lässt sich im Sinne <strong>de</strong>r Computergrafik<br />
sehr gut mit <strong>de</strong>r Projektion <strong>einer</strong> Sprühmaske (Querschnitt <strong>am</strong> En<strong>de</strong> <strong>de</strong>s Sprühstrahls)<br />
auf eine Oberfläche beschreiben. Eine solche Projektion gehört zu <strong>de</strong>n grundlegen<strong>de</strong>n<br />
Problemstellungen in <strong>de</strong>r Computergrafik und wird mittlerweile völlig auf spezieller<br />
Grafik-Hardware umgesetzt. Dies bringt einen sehr hohen Grad an Parallelisierung mit<br />
sich und somit auch eine sehr hohe Performance.<br />
Die Projektion <strong>de</strong>r 3D-Daten auf <strong>de</strong>n Bildschirm ist wohl die bekannteste und häufigste<br />
Transformation, welche durch die Grafik-Hardware realisiert wird. Daraus lässt sich eine<br />
hardwarebasierte Lösung für das Visualisieren <strong>de</strong>s Prozesses Betonsprühen ableiten,<br />
welche auf mo<strong>de</strong>rner Hardware zu <strong>einer</strong> sehr guten Performance führt. Die Umsetzung<br />
zweier wesentlicher Schritte ist für die Darstellung <strong>de</strong>s Prozesses notwendig:<br />
294<br />
- Projection Mapping: Die Sprühmaskentextur muss auf die Textur <strong>de</strong>r Oberfläche<br />
projiziert wer<strong>de</strong>n.<br />
- Ren<strong>de</strong>r-To-Textur: Eine neue Oberflächentextur mit <strong>de</strong>n projizierten Daten muss<br />
erzeugt wer<strong>de</strong>n.<br />
Bei<strong>de</strong> Schritte lassen sich ohne hohen Aufwand in ein vorhan<strong>de</strong>nes Fr<strong>am</strong>ework mittels<br />
GLSL-Sha<strong>de</strong>rn (Mo<strong>de</strong>l 2.0) integrieren. Gegeben sei eine Oberfläche O mit einem vor<strong>de</strong>finierten<br />
Mapping für die Oberflächentextur T. Das Projection Mapping liefert ein Mapping<br />
<strong>de</strong>r Oberfläche O auf die Sprühmaskentextur B. Die Formel (Gleichung 2) erinnert dabei<br />
stark an die Standardtransformation vom 3D-Koordinatensystem in das Bildschirmkoordinatensystem.<br />
T N P V<br />
(2)<br />
V entspricht <strong>de</strong>r View Matrix <strong>de</strong>r Spritzdüse, P entspricht <strong>de</strong>r Projektionsmatrix und wird<br />
durch <strong>de</strong>n Öffnungswinkel <strong>de</strong>r Düse beschrieben und N ist eine Normalisierungsmatrix,<br />
welche die Werte vom Bereich [-1,1] in <strong>de</strong>n Bereich [0,1] transformiert. In <strong>de</strong>r klassischen<br />
Bildschirmtransformationspipeline wird je<strong>de</strong>r Punkt <strong>de</strong>r Geometrie (Vertex) transformiert<br />
und an die nächste Verarbeitungseinheit (Rasterisierer) in <strong>de</strong>r Grafikpipeline übergeben.<br />
Um das Mapping B -> T zu realisieren, darf jedoch nicht <strong>de</strong>r transformierte Vertex übergeben<br />
wer<strong>de</strong>n, son<strong>de</strong>rn ausschließlich die zweidimensionale Texturkoordinate, welche die<br />
Position auf <strong>de</strong>r Oberflächentextur beschreibt. Erst mit dieser Modifikation ist ein solches<br />
Mapping auf <strong>de</strong>r Grafikhardware möglich.<br />
Mo<strong>de</strong>rne Grafikhardware unterstützt nicht mehr nur das Ren<strong>de</strong>rn in <strong>de</strong>n Fr<strong>am</strong>ebuffer,<br />
son<strong>de</strong>rn zu<strong>de</strong>m auch das Ren<strong>de</strong>rn in beliebige Puffer, die dann als Texturen interpretiert<br />
wer<strong>de</strong>n können. OpenGL bietet beispielsweise Fr<strong>am</strong>ebuffer Objects an, um diese Funktionalität<br />
komfortabel umzusetzen. Nach <strong>de</strong>r Übergabe <strong>de</strong>r Texturkoordinate an <strong>de</strong>n Rasterisierer<br />
in <strong>de</strong>r Grafikpipeline lässt sich nun eine neue Basistextur erzeugen. Die Farbinformationen<br />
wer<strong>de</strong>n nun aus <strong>de</strong>r Oberflächentextur übernommen und mit <strong>de</strong>r Sprühmaskentextur<br />
gemischt.