was ist das pixelpipes ???und was spielt für ne Rolle bei einem PC Spiel ???
jumm2006 Gast |
soeren444 (1.021) 5x Beste Antwort 6x "Danke"
| Re: was ist das pixelpipes ???und was spielt für ne Rolle bei einem PC Spiel |
Die Rendering-Pipeline oder Grafikpipeline beschreibt beim Echtzeitrendering den Weg von der vektoriellen, mathematischen Beschreibung einer 3D-Szene zum gerasterten Bild auf dem Monitor. Sie übernimmt dabei Dinge wie die Umrechnung von Bildschirmkoordinaten in Gerätekoordinaten, Texturierung, das Clipping oder auch das Antialiasing.
Die 3D-Daten liegen normalerweise in Form von so genannten Vertex-Streams vor. Ein Vertex definiert einen „Eckpunkt“ eines beliebigen Objektes. Diese sind meist Meshes (Drahtgitter) von 3D-Modellen oder Primitive. Je nach Format kann es sich dabei um Listen von Dreiecken versch. Formatierung oder auch Linienlisten oder einfache Punktlisten handeln. Die Vertizes werden in verschiedenen Einzelschritten transformiert, wobei das Ergebnis jeder Transformation der Ausgangspunkt der nächsten Transformation ist, bis ein fertiges 3D-Bild auf dem Bildschirm zu sehen ist. Die Gesamtheit dieser hintereinander geschalteten Transformationen nennt man Pipeline. Das Abbilden der Weltkoordinaten auf Bildschirmkoordinaten wird Screen Mapping genannt.
Aufgrund der hohen Parallelisierbarkeit der Aufgaben ist es möglich mehrere Pipelines auf einem Chip zu realisieren. Eine der vielen Grafikkarten aus dem weiten Preisbereich von 200 bis 500 Euro ist z. B. mit 8 Vertex- und 16 Pixelpipelines ausgestattet, die jeweils vollständig unabhängig voneinander arbeiten können ( siehe auch SIMD ). Ein weiterer Grund für Pipelining ist, dass die Aufgaben auf verschiedene Einheiten aufgeteilt werden können und diese somit gleichzeitig arbeiten können. Da die durchzuführenden Berechnungen stets die gleichen sind, wird die Pipeline komplett in Hardware realisiert, was einen enormen Geschwindigkeitsvorteil mit sich bringt. Eine Ausnahme bilden Vertex- und Pixel-Shader, da diese frei programmierbar sind. Die Rechenleistung moderner GPUs übersteigt die von CPUs mittlerweile deutlich, was Fließkommaoperationen betrifft. Je nach Zählweise der FLOPS erledigt eine exemplarische Grafikkarte mehrere hundert GigaFLOPS während eine Gigahertz-CPU mit SSE2 bei 5 bis 12 GigaFLOPS bleibt.
Zum Parametrisieren solcher Grafikpipelines werden sogenannte Grafik-APIs wie zum Beispiel Direct3D oder OpenGL verwendet. Diese nehmen dem Programmierer viele Aufgaben ab, so dass dieser nicht mehr auf die Hardware direkt zugreifen muss und damit unabhängiger vom System wird. Sie abstrahieren also die darunterliegende Hardware.
Zunächst wird versucht, die Anzahl der zu verarbeitenden Vertizes so klein wie möglich zu bekommen. Um dies zu erreichen, wird zunächst mit Hidden Surface Removal-Verfahren wie Binary Space Partitioning, Octrees oder Portal-Based Rendering ein Großteil der Vertizes, die von der Kamera aus nicht gesehen werden können, von der Rendering-Pipeline ausgeschlossen. Dieser Schritt wird in Software ausgeführt und ist meist als Teil von Grafik-Engines implementiert.
soeren444 (1.021) 5x Beste Antwort 6x "Danke"
| Re: was ist das pixelpipes ???und was spielt für ne Rolle bei einem PC Spiel |
Oder einfacher:
Leihenhaft ausgedrückt: Parallel berechnete Pixel für ein Bild.
Oder etwas genauer: getrennte Recheneinheiten, die parallel Pixel berechnen können.
8 Pipes sagt sozusagen, dass 8 Pixel parallel berechnet werden können.
PS: Korrigiert mich gegebenenfalls, denn 100% sicher bin ich auch nicht.
« PC läuft nicht so wie er sollte... | AGP oder PCI-E ????? » | ||