Aufbau und Funktion von 3D- Grafikkarten von Christian Reis.

Slides:



Advertisements
Ähnliche Präsentationen
Computer Graphics Shader
Advertisements

Simulation und 3D-Programmierung Praxis: Dreiecke, Texturen, Vertex-Buffer Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung.
Java3d „Licht und Material“
EXCAVE ein 3D-Modell eines archäologischen Grabungsquadranten
OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen
Displacement Mapping Dynamische Generierung detaillierter Geometrien
Special Effects Realistischeres Rendern einer Scene.
FHP - Fachbereich Bauingenieurwesen
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
Shader.
Geometrie : Rekonstruktion
Medizinische Visualisierung
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.
3D Graphics APIs: OpenGL & Fixed Function Pipeline
Die Renderpipeline.
Multimedia und Virtual Reality Vorlesung am Martin Kurze Multimedia in 3D.
Mario´s kleines Hardwarelexikon Vom Arbeitsspeicher bis zur Soundkarte.
Gemeinde Algermissen Kita-Bedarfsplanung Krippe Kindergarten Hort Tagespflege Ferienbetreuung Bedarfsplanung Kindertagesbetreuung Neu:
Einführung in OpenGL Seminarvortrag im Rahmen des Bachelorstudiengangs „Scientific Programming“ Tural Bilalov.
Fakultät Architektur, Lehrstuhl für Bauökonomie und Computergestütztes Entwerfen Informationstechnologien (IT) in der Architektur Raster- oder Vektorgrafik.
Joachim Herber Verfahren zur korrekten Darstellung von Transparenz ohne Vorsortierung Seminarvortrag
Ein Dozent hat mittels eines Fragebogens die Körpergröße seiner Studenten festgestellt. Anhand der erfassten Daten weiß er, dass der kleinste Student 158.
Institut für C omputer G raphik, TU Braunschweig M. Kühnel, Einführungsvortrag, Radiosity in der Simulation von Mobilfunkwellen Einführungsvortrag.
06 Mathematik Lösung 2011 ZKM - MAC.
AGP - Bus Von Dennis Völckers
MLDM Übung 8 – IBL 2 Musterlösung.
Geo-Informationssysteme (GIS)
Objektorientiertes Modellieren und Programmieren mit Java
Anforderungen an die neue Datenstruktur
Projekt Activtiy Tracker
Applikationsbaustein, REG AB/S 1.1
Aufgaben zum zentralen ebenen Kraftsystem
Video- und Audio- Schnittkurs
Musterlösung zur Klausur "Diskrete Mathematik" vom
Netzwerke.
Abiturprüfung Mathematik 2017 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analysis A 1 Lösungen der Aufgaben A 1.1 und A 1.2
Prismenschnitt Aufgabenstellung: Ein fünfseitiges Prisma wird mit einer drittproji-zierenden Ebene geschnitten. Zeichne den Restkörper und das Netz. Fünfseitiges,
DG3 - Angittern Gerades, quadratisches Prisma, Grundfläche parallel zu
KI in Computerspielen Tactical and Strategic AI
Ein schematischer Kirschbaum in Java
Komponenten des Computers
Referenzen In c kennen wir gewöhnliche Variablen und Pointer.
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
Abiturprüfung Mathematik 2012 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
Robuste mit Aluminium beschichtete Stecker
Routing … … die Suche nach dem Weg..
Christian Scheideler WS 2008
Galaxien und ihre Entfernungsbestimmung
Wachstumsprozesse Natürliches Wachstum Größenbeschränktes Wachstum
SS 04 Christiane Rauh Christian Hellinger
Tutorium Physik 2. Rotation
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
Abstandsbestimmungen
9. Vererbung und Polymorphie
Wahlteil 2009 – Geometrie II 1
Pflichtteil 2016 Aufgabe 6: Gegeben ist die Gerade
Aufgabe 1) Der Graph der Funktion
Wahlteil 2016 – Aufgabe B 1 Aufgabe B 1.1 In einem Koordinatensystem beschreiben die Punkte
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Von Wietlisbach, Lenzin und Winter
Punkte im Raum
Spiegelungen Punkt an Gerade Punkt an Ebene Gerade an Ebene
1. Gib das Ergebnis an: (975.2 : 23) + (12 · 21.9) − (12 · 6.9) − (892.4 : 23) : 23 = · 21.9 = · 6.9 = : 23 =
Pyramidenschnitt Eine regelmäßige, dreiseitige Pyramide wird von einem quadratischen Prisma durchdrungen. Die Aufgabe soll im ersten Teil im Auf- und im.
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analytische Geometrie / Stochastik Aufgabe B 2.1 und B Lösungen.
Aufstellen und Lösen von Gleichungen
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analysis A 2 Lösungen der Aufgaben A 2.1 und A 2.2
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Lage von Ebenen im Koord.system
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

Aufbau und Funktion von 3D- Grafikkarten von Christian Reis

Schnittstellen AGP Intel 1997 i440LX Pentium2 Übertragung:Parallel ● 1.0: 1x 32bit/clock 66MHz 3.3V 266MB/s ● 1.0: 2x 533 MB/s 3.3V ● 2.0: 4x 1066MB/s 1.5V ● 3.0 8x 2133 MB/s 0.8V ● AGP Bridge PCIe seit 2004 Übertragung:Seriell ● 1.0/1.1 clock 1.25 GHz 250MB/s ● 2.0 clock 2.5 Ghz 500MB/s pro lane ● bei 16 lanes 8GB/s

Verarbeitung der Daten in der Grafikpipeline Vertex Shader Vertex Setup Lightning Viewpoint Clipping Triangle Setup Fragmentation Rasterizierung Texture und Shading Blending Framebuffer

Vertex Shader Für jedes Polygon werden Information über die Eckpunkte (Vektoren) benötigt. Vertex-Shader sind Einheiten in der GPU und lesen und speichern Eckdaten von Polygonen. Mit ihnen kann auch die Form eines Polygons verändert werden, indem man die z.B Koordinaten eines Vektors verändert. Neben den Werten für die Koordinaten können Vertizes zusätzlich Farbwerte und Transparenzwerte zugewiesen werden, wodurch es möglich ist Vertizes als Eckpunkte für Texturen zu verwenden. Um den räumlichen Standpunkt für einen Vertex zu bestimmen werden 3 Gleitkommawerte je für die X,-Y,- und Z-Achse festgelegt, wobei X die seitliche Verschiebung, Y die Höhe und Z die Tiefe repräsentiert. Mehrere Vertexe werden zu Dreiecken oder Polygonen verbunden; es entstehen sogenannte Primitive. Beispiel unten: Eine Funktion in OpenGl um ein Dreieck zu zeichnen. Durch die Funktion glBegin mit dem Aufruf GL_TRIANGLES weiß der Shader,daß alle nachfolgenden Vertizes bis zum Funktionsende glEnd() zu Dreiecken zusammengefasst werden sollen. Durch glVertex3f werden die Koordinaten für die Vertizes festgelegt. Die Reihenfolge ist X,Y,Z. Jede Zahl ist vom Typ float und benötigt somit 4 Byte, ein Vertex folglich 12Byte. glBegin(GL_TRIANGLES); glVertex3f(3.0,0.0,3.0); glVertex3f(-3.0,0.0,3.0); glVertex3f(0.0,3.0,0.0); glEnd();

Triangle Setup Der nächste Verarbeitungsschritt ist das Triangle-Setup. Anhand einer Clippingeinheit wird bestimmt welche Objekte derzeit sichtbar sind und welche sich außerhalb des Betrachtungsfeldes befinden. Die Daten der nicht sichtbaren Primitive werden nicht weiterverarbeitet was sich zeit- und ressourcenschonend auswirkt. Für die Bestimmung der sichtbaren Primitive spielt neben dem Z-Buffer der Blickwinkel (Viewpoint) eine große Rolle. Beispiel: Bestimmung des Viewpoints unter OpenGl: GluLookAt(4.0,3.0,10.0, // Wo befinden sich die Augen: X, Y, Z 0.0,1.0,0.0, //Auf welchen Punkt der Szene wird geblickt X, Y, Z 0.0,1.0,0.0);//In welchem Winkel wird auf die Szene geblickt

Rasterisierung Der nächste Verarbeitungsschritt ist die Rasterisierung. Hier wir den Primitiven der Pixelinhalt zugeordnet. Bedingt durch die Auflösung des Monitors entstehen hier die ungewünschten Treppeneffekte, welche allerdings durch höhere Monitorauflösung und Antialiasing verringert werden können. Durch Hidden Surface Removal werden hier auch Teile von Primitiven entfernt, die derzeit nicht sichtbar sind. Diese Informationen werden anhand des Z-Buffers bestimmt. Der Z-Buffer enthält alle Tiefeninformationen der Primitive und ermöglicht es zu erkennen, welche Objekte derzeit verdeckt sind

Fragmentshader und ROP Fragmentshader, auch Pixelshader genannt sind Einheiten der GPU in welchen die Oberflächeneigenschaften der Objekte z.B Spiegelungen und Schattierungen auf Pixelebene berechnet werden.Wichtige Informationen für den Pixelshader sind die Farbwerte Rot, Grün und Blau sowie die Transparenz. Alle Anweisungen zur Berechnung sind softwareseitig im Pixelshader der API, z,B OpenGl festgelegt. Es können nur für 4 Pixel die gleichen Berechnungen durchgeführt werden, so daß 4 Pixelpipelines an einem Pixelquad arbeiten. Die Geschwindigkeit einer Grafikkarte hängt maßgeblich von der Anzahl der Pixelpipelines ab, da bei höheren Auflösungen wesentlich mehr Pixel zu berechnen sind, die Zahl der Vertizes allerdings gleich bleibt. Ist ein Pixelquad fertig berechnet wird dieser an die ROP´s (Rasteroperatoren) gesendet. Hier findet unter anderem das sogenannte Blending statt, d.h. Es werden die einzelnen Fragmente der Pixelpipelines zu einem ganzen Bild zusammengefügt und es werden anschließend die Kanten geglättet (Antialiasing). Ist ein Bild fertig berchnet wird es im Framebuffer des VRAM abgelegt und wartet auf die Ausgabe auf dem Bildschirm.

Referenzen opengl.org wikipedia.de 3dcenter.de tweakpc.de