TU - München Multiresolution deformable Objects: Model generation and

Slides:



Advertisements
Ähnliche Präsentationen
GrafStat Ausgabe 2009 Ein kurzer Überblick.
Advertisements

Computer Graphics Shader
Algorithmentheorie 08 – Dynamische Programmierung (1)
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Vom graphischen Differenzieren
Sortieren I - Bubblesort -
On the Criteria to Be Used in Decomposing Systems into Modules
Kollisionen erkennen Kollisions- und Schnittpunkttests auf Dreieckbasis Kollisions- und Schnittpunkttests auf Viereckbasis Einsatz von achsenausgerichteten.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Bestimmung des Next-Arrays im KMP-Algorithmus
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Geometrisches Divide and Conquer
Tricks mit Zahlen. Kapitel 2 © Beutelspacher Mai 2004 Seite 2 Idee / Aufgaben In jeder Woche stelle ich Ihnen einen Zaubertrick mit Zahlen vor. Ihre Aufgaben:
Java3d „Licht und Material“
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Quaternionen Eugenia Schwamberger.
Displacement Mapping Dynamische Generierung detaillierter Geometrien
Special Effects Realistischeres Rendern einer Scene.
Wismar Business School
Kennlinie Lichtregelung in JavaNNS Version 1.1
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Heute: Scherenzange zeichnen
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
DG1 – Sichtbarkeit Aufgabenstellung: Bei einem Pyramidenschnitt soll die Sichtbarkeit festgestellt werden.
Daten auswerten Boxplots
FHP - Fachbereich Bauingenieurwesen
Neue variable Lernkontrollen mit Diagnose und Förderplanung
Projekteilnehmer: Ertas Mutlu Önal Kenan
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
2007 Office - Bestellung Backup Medium -Schritt für Schritt Anleitung- Hinweis: Die Bildausschnitte wurden mit Windows Vista Ultimate (Aero Oberfläche)
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Dynamisches Geometrieprogramm Andreas Glöckl, MiB Eichstätt
Was macht eigentlich dieses ExsoForm? Ein Beispiel für eine Dokumentendefinition in Screenshots.
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
§3 Allgemeine lineare Gleichungssysteme
Polynome und schnelle Fourier-Transformation
Shader.
Jakis Überblick! Ein Viereck hat 4 Ecken (und 4 Seiten).
Verhalten von Objekten in der Szene
… oder wie finde ich den Weg
Medizinische Visualisierung
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
ProSeminar WS 2007/08 Leo Hackstein
Rationelle Vorgehensweise bei der Fiona-Antragstellung
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Objekte Objekte sind Elemente, die man mit dem Programm bearbeiten kann. Datei, aufgebaut als Tabelle (Relation) Datensatz, entspricht einer Zeile der.
LOD Levels of Detail Oliver Gassner Christian Troger.
Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Vom graphischen Differenzieren
Die Welt der Shader Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Fortgeschrittene Techniken.
Stefan Röttger Universität Stuttgart (VIS). Überblick 1. Motivation 2. Shadow Volumes [Crow77] 3. Verfahren ohne Stencil Buffer 4. Demonstrationsfilm.
Binärbäume.
Beispiel-Aufgaben für Unterricht, Klausur oder Prüfung Diese kleine Sammlung soll aufzeigen, dass dieser Lehrplan auch neue Aufgaben- stellungen erfordert.
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
Christoph Wirtz | Seminarvortrag EBC | Lehrstuhl für Gebäude- und Raumklimatechnik Ein Tool zum automatisierten Erstellen von Conversion Scripts.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
 Präsentation transkript:

TU - München Multiresolution deformable Objects: Model generation and advanced rendering techniques Systementwicklungsprojekt WS 2004/ 2005 Referenten: Ludwig Hoegner Jochen Strunck Stefan Plafka 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Anwendungsgebiete Simulation Forschung Medizin Ingenieurwesen etc. 03.02.2004 SEP - Model generation and advanced rendering techniques

Aufgaben und Vortragsablauf Überblick: 3D-Objekte Tetraedisieren (für Deformationsprogramm) Deformation Finden der Controlmesh Flächen Gewichtung der Control-Punkte Darstellung mit OpenGL Berechnung der Normalen CPU GPU-Beschleunigung Fell Shader Generieren einer Fell-Textur Dynamisches Fell Fell auf bestimmte Teile des Objektes begrenzen Kurze Demonstration 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques 3D-Daten aufbereiten Einführung zum Tetraedisieren Was ist Tetraedisieren und warum brauchen wir es? Vorarbeiten Erzeugung verschiedener Auflösungen eines 3D-Modells Umwandeln der Modelle in für den Tetraedisierer lesbare Daten Fehlerkorrektur Festlegung der gewünschten Ausgangswerte Tetraedisierung der verschiedenen Auflösungen mit unterschiedlichen Qualitätsstufen Auswahl der optimalen Qualität Zusammenstellen der ausgewählten Qualitätsstufen und Umwandlung der Daten in das für die Simulation lesbare Format 03.02.2004 SEP - Model generation and advanced rendering techniques

Einführung zum Tetraedisieren Was ist Tetraedisieren ? 3D-Modelle liegen meist als Oberflächen vor, die aus Dreiecken aufgebaut sind. Das Objekt in im Inneren quasi hohl. Ein Tetraedisierer wandelt nun dieses aus Dreiecken bestehende Oberflächenmodell in ein aus Tetraedern bestehenden Volumenmodell um. Warum Tetraedisieren ? Zur Berechnung von physikalischen Eigenschaften wie Deformationen benötigt man Volumenkörper, später mehr dazu. 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Vorarbeiten Erzeugung von verschiedenen Auslösungen eines Modells Als Ausgangsdaten liegen verschiedene Auslösungen eines Modells vor, in unserem Fall im obj-Format, wie es z.B. Maja erzeugt. Umwandeln der Modelle in lesbare Daten Diese obj-Daten werden im ersten Schritt so umkonvertiert, dass sie für den verwendeten Tetraedisierer lesbar sind. Für die beiden alternativ zur Auswahl stehenden Tetraedisierer Tetgen und Netgen sind das jeweils unterschiedliche Formate. Tetgen erhält seine Eingangsdaten im poly-Format Netgen erhält seine Eingangsdaten im stl-Format 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fehlerkorrektur Leider gibt es häufig fehlerhafte Werte aus den Eingangsdaten. Die meisten Fehler sind: Löcher Hervorstehende einzelne Dreiecke 2 sich überschneidende Flächen Einzelne im freien Raum schwebende Punkte Lösungsweg: Alle Linien aller Dreiecke sammeln und zählen. Linien zu korrekten Dreiecken kommen genau 2 mal vor - löschen aller Dreiecke, die eine Linie besitzen, die nur einmal vorkommt (Löcher, hervorstehenden Kanten) Bei 2 überschneidenden Flächen eine Fläche auf einen Punkt der anderen Fläche zusammenschrumpfen und die Nachbardreiecke nachziehen Jetzt nicht mehr verwendete Punkte löschen und die Ids der Punkte in den Dreiecken anpassen Verfahren wenn nötig mehrmals wiederholen, funktioniert leider nicht immer 03.02.2004 SEP - Model generation and advanced rendering techniques

Festlegung der Ausgangswerte Anzahl der einzulesenden Detailstufen Anzahl der zu erzeugenden Detailstufen In der späteren Simulation kann auch mit mehreren Qualitätsstufen gearbeitet werden. Wie viele das sind, wird hier festegelegt Mindestzahl und Höchstzahl an Elementen Die Mindestzahl gibt die gewünschte Elementezahl der niedrigsten Detailstufe an, die Höchstzahl die gewünschte Elementezahl auf der höchsten Detailstufe. Für dazwischen liegende Detailstufen k wird die gewünschte Punktzahl interpoliert nach der Formel: Mindestzahl * ( (Höchstzahl / Mindesatzahl )^(1/(Anzahl Level-1)) )^k 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Tetraedisierung Einbindung der Tetraedisierer als eigene Programme über Kommandozeilenaufruf Vorteil: Neue Versionen können ohne Eingriff in den Quellcode verwendet werden Erstellung verschiedener Qualitätsstufen für jedes Eingangslevel Netgen: Erzeugt von sich aus 5 Qualitätsstufen Tetgen: Wird mehrmals mit verschiedenen Parametern aufgerufen Nacharbeiten bei Netgen Während Tetgen die Daten bereits im für die Simulation lesbaren Format liefert, müssen sie für vom Netgen erst noch umgewandelt werden. Für die weitere Bearbeitung werden die Ausgaben in 2 Dateien je Ausgabe aufgeteilt: eine node-Datei, in der alle Punkte mit ihren Koordinaten stehen eine ele-Datei, in der alle Tetraeder aufgelistet sind und mit den Punkte über deren Index verbunden sind. 03.02.2004 SEP - Model generation and advanced rendering techniques

Auswahl der optimalen Qualität Speicherung aller erzeugten Qualitätsstufen für jedes Level und Vermerk der Elementezahlen in einer Liste nach dem Schema: Level1 - Qualität schlecht Level1 - Qualität gut Level2 - Qualität schlecht Level2 - Qualität gut Dabei kann Level1 - Qualität gut durchaus mehr Elemente haben wie Level2 - Qualität schlecht Suche von der obersten Detailstufe abwärts Beginnend mit dem letzten Elemente der eben erzeugten Liste wird nach der ersten Ausgabe gesucht, die der gewünschten Elementezahl entspricht. Auf Grund der Speicherreihenfolge ist das dann automatisch die Ausgabe der qualitativ hochstwertigen Eingangsdetailstufe, die für diese Elementezahl möglich ist. Dabei wird in mehren Suchdurchläufen die erlaubte Abweichung von der optimalen Zahl zunehmend erhöht, bis ein Treffer gefunden ist. 03.02.2004 SEP - Model generation and advanced rendering techniques

Zusammenstellen und Umwandeln Zusammenstellen der Ausgabedetails in ein einer Datei In einem letzten Schritt müssen die ausgewählten Detailstufen nun noch für das Simulationsprogramm zusammengestellt werden. Dabei werden getrennt nach der node- und der ele-Datei die verschiedenen Detailstufen hintereinander gereiht. Dabei erfolgt eine nochmalige Prüfung der Punkte auf ihre Verwendung in den Tetraedern. Erzeugung einer einfachen Parameterdatei zur sofortigen Anzeige im Simulationsprogramm Beinhaltet rudimentäre Daten wie Skalierung oder eine Standardtextur und -oberfläche 03.02.2004 SEP - Model generation and advanced rendering techniques

Deformation Definition von Controlmesh Flächen und Control-Punkte Die Flächen oder die Punkte des physikalisch korrekt berechneten Volumenobjektes, an die wir unser hochauflösendes Objekt binden. Diese Punkte des Hochauflösenden Meshes sollten sich genauso bewegen und verhalten wie das dreieck von dem Control mesh. Gewichtete Interpolation der hochauflösenden Punkte zwischen den Punkten des Controlmeshes. Physikalisch korrekt berechnetes Volumenobjekt Ziel: Angleichung einer hochauflösenden Oberfläche 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Problem Gewichtete Interpolation der hochauflösenden Punkte zwischen den Punkten des Controlmeshes. Finden der drei besten Control-Punkte für jeden Vertex des hochauflösenden Objektes. Problemfall 03.02.2004 SEP - Model generation and advanced rendering techniques

Finden der Kontroll-Punkte Per Punkteabstand Leider findet die Methode nicht immer die richtigen Punkte. Kleinster Abstand zur Flächenebene Findet Flächendreiecke, die häufig entfernt liegen. 1. Methode: Funktioniert für die meisten punkte ganz gut, aber es kann (wie auf diesem Bild zu sehen) auch vorkommen, dass der Punkt an ein ganz anderes Objekt gebunden wird. Deshalb benötigen wir einen Ansatz. (Entweder grobes Man Verfeinern, aber davon kann nicht ausgehen) ODER der uns die näheste Fläche gibt: nächstes Bsp. Punkt auf Fläche projizieren, dann die Fläche auswählen, die den projizierten Punkt enthält und am nächsten liegt: Leider findet auch die Methode andere Flächen. 03.02.2004 SEP - Model generation and advanced rendering techniques

Baryzentrische Koordinaten Baryzentrische Koordinaten für ein 2-Dimmensionales Dreieck: Gegeben seien drei Punkte A, B, C. Jeder weitere Punkt der Ebene lässt sich dann als gewichtetes arithmetisches Mittel der Punkte A, B, C mit Gewichtssumme 1 schreiben: P = a1 * A + a2 * B + a3 * C Die Koeffizienten a1, a2, a3 heißen Baryzentische Koordinaten von P und werden wie folgt berechnen: a1 = Fläche (PBC) / Fläche (ABC), a2 = Fläche (APC) / Fläche (ABC), a3 = Fläche (ABP) / Fläche (ABC), ABC ist das Koordinatendreieck. B A P Baryzentrische Koordinaten: Strecken-Wert ist der Flächeninhalt der Fläche gegenüber. C 03.02.2004 SEP - Model generation and advanced rendering techniques

Finden der Controlmesch Fläche Endgültig verbinden wir zwei Methoden Projektion des Punktes auf die Fläche und dessen bayzentrischen Werte Kleinsten Abstand zur Flächenebene Einsetzen der baryzentrischen Koordinaten sind die drei baryzentrischen Werte positiv, tritt kein Problem auf. Ist min. eine von ihnen negativ, nehmen wir von allen Flächen diejenige, die den kleinsten Abstand zum hochauflösenden Punkt hat. Beim Abspeichern werden die baryzentrischen Koordinaten für die Gewichtung der jeweiligen Punkte mitgespeichert. 03.02.2004 SEP - Model generation and advanced rendering techniques

Beschleunigen des Vorgangs Aufteilung vom Schwerpunkt aus. Die Oberflächen der Tetraeder werden separat gespeichert. Grenzflächen werden doppelt eingetragen. Beschleunigung des Aufbaus bei dem hochauflösendem Bunny von 5 Minuten auf 30 Sekunden. Nur Tetraeda an der Oberfläche überprüfen Einordnen der Kontrollflächen in Raumsegmente 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Normalenberechnung Wird nicht von openGL gelöst Die Mittelung der Normalen ergibt die gewünschte Glatte Oberfläche. Für jede Fläche die Normale berechnen Zu jedem Punkt der Fläche den Normalenwert dazuzählen Danach jeden Punkt normalisieren (per openGL möglich) 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Deformation Ergebnis: Jedes beliebige tetraedisierbares Objekt lässt sich verformen. Jeder Punkt wurde auf der CPU berechnet und dann an die Grafikkarte geschickt. 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques GPU Beschleunigung Berechnungen auf der GPU Warum? GPU höher parallelisiert. Deshalb bei Berechnung der selben Operation auf viele Daten wesentlich schneller als CPU. Daten (Geometrie) müssen nicht für jeden Frame über den Bus Optimale Nutzung der Resourcen. Selbst für animierte Geometrie müssen die daten nicht in jedem frame alle vertices über den Bus. Hier Hinweis auf Möglichkeiten die Offscreendaten in den vertex buffer zu bekommen? (SuperBuffer, Texture-fetch im Vertexshader, Readpixel) 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques GPU Beschleunigung Vertex-Shader: Ausführung bei Angabe einer Vertex-Position (z.B. per „glVertex“) Nicht möglich: Auf andere Vertices zugreifen Fragment-Shader: Ausführung für jedes rasterisierte Fragment Schnelle ausführung von: Texturzugriff und Operationen auf interpolierten Attributen Fixed Function-Pipeline: Vertex Shader Fragment Shader Können geändert werden: Vertex- / Normalentransformation, Beleuchtung / Materialanwendung, Texturkoordinatengenerierung / -transformation Vertex Prozessor Fragment Prozessor Frame Buffer 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques GPU Beschleunigung Daten werden im Vertex-Shader benötigt: Pre-Pass Rendering Fragment-Shader ist Leistungsfähiger als der Vertexshader. Berechnungen im Fragment Shader: - Dateneingabe in Form von Texturen - Ergebnis wird in Offscreenbuffer ausgegeben. Zweiter Rendering Durchgang: auslesen der Offscreen Inhalte und Verwendung als vertex-Position Texture-fetch in Vertex-Shader Copy to Bufferobject auf der GPU Superbuffer (derzeit nicht von Nvidia unterstützt) Erst vertex, dann fragment shader. Selbst für animierte Geometrie müssen die daten nicht in jedem frame alle vertices über den Bus. Hier Hinweis auf Möglichkeiten die Offscreendaten in den vertex buffer zu bekommen? (SuperBuffer, Texture-fetch im Vertexshader, Readpixel) 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques GPU Beschleunigung + w3 = 1-w1-w2 = Nur deformatinos Textur wird in jedem Durchgang hochgeladen. 2. Durchgang liest Ergebnis ein. 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Fell Shader: Volumen Textur Ebenen Modell Generierung einer Fell Textur Generierung geeigneter Textur Koordinaten Möglichkeiten den Realismus zu Steigern Erweiterte rendertechnik. Echtzeitfähiges Fell. 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Volumen Textur: Warum? Geometrie für jedes Haar ist zu langsam Kaum Realistische Darstellung möglich Ebenen: Viele Ebenen werden erstellt. Extrusion in Richtung der Normalen 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Generierung der Fell Textur: Alpha-Rauschen: Textur mit Zufallswert in jedem Texel bestimmt Position und Form der Haare Farb-Variation Verlauf vom Fell-Ansatz zu Spitze: Rauschen auf Alphakanal wird dunkler (durchsichtiger) Farbwert geht von dunkel (Schatten) nach hell 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Generierung der Fell-Textur Koordinaten: Ziel: Fell muss ohne Verzerrungen auf beliebigen Oberflächen liegen Lapped Patches Box Texture-Coordinates pro Vertex ein Texturkoordinatenpaar Vertex Separierung an Textur Koordinaten Grenze => Alle Punkte entlang der Grenze Speichern. Die Normalen an den Grenzen müssen geglättet werden 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Ergebnis: 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Dynamisches Fell: Ziel: Fell soll sich bei Deformation des Modells korrekt bewegen Merken des Controlmeshes vom letzten Frame Vergleich mit aktueller Position => der Unterschied ergibt die deformation Begrenzung der Fellbewegung 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Darstellung: Glanzlicht vom Fell Mit Alpha-Kanal vom Fell skalieren Reflektions-winkel: Normale Oberfläche Fell Reflektion 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader Darstellung: Einfärben des Fells mit Textur Generiere Weißes Fell Nutzung des Alpha-Kanals zum Freistellen bestimmter Bereiche. Skalierung der Helligkeit und des Glanzlichtes auf der Grundfläche 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Fell-Shader 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques Literatur A Multiresolution Approach for Real-Time Simulation of Deformable Objects, Joachim Georgii Dynamic Fur, Tomohide Kano http://www.ati.com/developer/indexsc.html Hair & Fur, Anand Mathew Lapped Textures & Fur, Hugues Hoppe http://research.microsoft.com/~hoppe/ Vielen Dank für Eure Aufmerksamkeit 03.02.2004 SEP - Model generation and advanced rendering techniques

SEP - Model generation and advanced rendering techniques 03.02.2004 SEP - Model generation and advanced rendering techniques