Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

33
Proseminar – Computer Graphics Proseminar – Computer Graphics Martin Dummer Martin Dummer computer graphics & computer graphics & visualization visualization Die Renderpipeline Die Renderpipeline

Transcript of Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Page 1: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer

computer graphics & computer graphics & visualizationvisualization

Die RenderpipelineDie Renderpipeline

Page 2: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

AufgabengebietAufgabengebietAbbildung einer 3D-Umgebung auf ein RastergerätAbbildung einer 3D-Umgebung auf ein Rastergerät

- Verformung von ObjektenVerformung von Objekten- Licht - BerechnungenLicht - Berechnungen- Transformation in eine EbeneTransformation in eine Ebene- TexturierungTexturierung

- Und vieles mehr ...Und vieles mehr ...

Page 3: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Das Pipelining-KonzeptDas Pipelining-KonzeptCharakteristika :Charakteristika :

- Monotone Fließkomma-BerechnungenMonotone Fließkomma-Berechnungen- Hohe GeschwindigkeitsanforderungHohe Geschwindigkeitsanforderung- Große DatenmengenGroße Datenmengen

ParallelisierbarParallelisierbar

Vorteile einer Pipeline :Vorteile einer Pipeline :- Gleichzeitiges Arbeiten verschiedener StufenGleichzeitiges Arbeiten verschiedener Stufen- Gleichzeitiges Abarbeiten verschiedener Daten ( SIMD )Gleichzeitiges Abarbeiten verschiedener Daten ( SIMD )

Page 4: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Alle Stufen im ÜberblickAlle Stufen im ÜberblickVertex ProcessingVertex Processing• TesselationTesselation• MappingMapping

• World TransformationWorld Transformation• View TransformationView Transformation• BeleuchtungBeleuchtung• Projection TransformationProjection Transformation

• Backface CullingBackface Culling• Frustrum CullingFrustrum Culling• ShadingShading

Pixel ProcessingPixel Processing• Scan ConversionScan Conversion

• Texture MappingTexture Mapping• FilteringFiltering• ShadingShading• Texture MappingTexture Mapping

• Depth-TestDepth-Test• Alpha-BlendingAlpha-Blending

Page 5: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Tesselation ( Teil 1 )Tesselation ( Teil 1 )Zerlegung der 3D-Daten in DreieckeZerlegung der 3D-Daten in Dreiecke

Page 6: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Tesselation ( Teil 2 )Tesselation ( Teil 2 )Zerlegung der 3D-Daten in DreieckeZerlegung der 3D-Daten in Dreiecke

Page 7: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Tesselation ( Teil 3 )Tesselation ( Teil 3 )Zerlegung der 3D-Daten in DreieckeZerlegung der 3D-Daten in Dreiecke

Vorraussetzung an Polygone :Vorraussetzung an Polygone :- Keine KantenüberschneidungKeine Kantenüberschneidung- Polygone müssen konvex seinPolygone müssen konvex sein- Keine LöcherKeine Löcher

EinfachheitEinfachheit

Page 8: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

MappingMapping- Displacement MappingDisplacement Mapping

- Modifikation der Vertices durch TexturdatenModifikation der Vertices durch Texturdaten- Absolut realistisch aber „teuer“Absolut realistisch aber „teuer“

- Bump MappingBump Mapping- Scheinbar hoher DetailgradScheinbar hoher Detailgrad- Geringe LeistungseinbußenGeringe Leistungseinbußen

- Normal MappingNormal Mapping- Texturdaten als NormalenvektorenTexturdaten als Normalenvektoren- Hoher RealitätsgradHoher Realitätsgrad

Page 9: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

World TransformationWorld TransformationViele Positionsangaben sind lokalViele Positionsangaben sind lokalund nur für einzelne „Objekte“und nur für einzelne „Objekte“gültig.gültig.

Umrechnung in ein Umrechnung in ein gemeinsam genutztes, globalesgemeinsam genutztes, globalesKoordinatensystemKoordinatensystem

Page 10: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

View TransformationView TransformationAlle Positionsangaben sindAlle Positionsangaben sindunabhängig vom Betrachterunabhängig vom Betrachter

Umrechnung allerUmrechnung allerKoordinaten entsprechendKoordinaten entsprechendder Kamera-Positionder Kamera-Position

Page 11: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Matrizen-RechnungMatrizen-RechnungVerschiebung ( Translation )Verschiebung ( Translation )

wdzwzdywydxwx

wzyx

dzdydx

***

1000100010001

HomogeneHomogene KoordinatenKoordinaten

Page 12: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

LichtquellenLichtquellenVerschiedene Arten von LichtquellenVerschiedene Arten von Lichtquellen

Page 13: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

LichtbestandteileLichtbestandteile1.1.Ambientes LichtAmbientes Licht

- Kein UrsprungKein Ursprung- Gleichmäßige VerteilungGleichmäßige Verteilung

2.2.Diffuses LichtDiffuses Licht- Helligkeitsverteilung richtet sich nach NormalenvektorHelligkeitsverteilung richtet sich nach Normalenvektor- Unabhängig von der Position des BetrachtersUnabhängig von der Position des Betrachters

3.3.Spekuläres LichtSpekuläres Licht- Reflexion in eine bevorzugte RichtungReflexion in eine bevorzugte Richtung- Ermöglicht Realistische Plastik- und MetalloberflächenErmöglicht Realistische Plastik- und Metalloberflächen

Page 14: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Beleuchtungsmodell ( lokal )Beleuchtungsmodell ( lokal )BBidirektionale Reflektanzverteilungsfunktionidirektionale Reflektanzverteilungsfunktion ( BRDF )( BRDF )- Gibt das Reflexionsverhalten von Materialien anGibt das Reflexionsverhalten von Materialien an

Phong-BeleuchtungPhong-Beleuchtung- Erfüllt nicht den EnergieerhaltungsatzErfüllt nicht den Energieerhaltungsatz- Heuristisches ModellHeuristisches Modell- „„Glanzpunkte“Glanzpunkte“

Alternativen :Alternativen :- Schlick – BeleuchtungsmodellSchlick – Beleuchtungsmodell- Normal Mapping bzw. Bump MappingNormal Mapping bzw. Bump Mapping- Per-Pixel LightingPer-Pixel Lighting

ccososnn

((θθ))

Page 15: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Gouraud-ShadingGouraud-Shading Berechnung des Vertex-Normalenvektors mit Hilfe Berechnung des Vertex-Normalenvektors mit Hilfe

von benachbarten Flächenvon benachbarten Flächen Interpolation der EckpunkteInterpolation der Eckpunkte

über die gesamte Flächeüber die gesamte Fläche

Page 16: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Phong-ShadingPhong-Shading- Erweiterung des Gouraud-ShadingsErweiterung des Gouraud-Shadings

- Berechnung der Berechnung der Normalen Normalen entlang der Kantenentlang der Kanten Farbwert berechnet sich aus zwei Normalen einer ZeileFarbwert berechnet sich aus zwei Normalen einer Zeile

Page 17: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Projection Transformation Projection Transformation Umwandlung aller 3D-Daten in ein 2D-SystemUmwandlung aller 3D-Daten in ein 2D-System

- Orthogonale Projektion ( Parallel )Orthogonale Projektion ( Parallel )- Perspektivische Projektion ( Fluchtpunkt )Perspektivische Projektion ( Fluchtpunkt )

Page 18: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Backface CullingBackface CullingRückseiten - EntfernungRückseiten - Entfernung

Ersparnis : ca. 50%Ersparnis : ca. 50%

Page 19: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Frustrum Culling ( Clipping )Frustrum Culling ( Clipping )Reduktion der Umwelt auf einen KegelstumpfReduktion der Umwelt auf einen Kegelstumpf

Ersparnis : bis zu 85% ( 5/6 )Ersparnis : bis zu 85% ( 5/6 )

Page 20: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Perspective DivisionPerspective Division

normierte Gerätekoordinatennormierte Gerätekoordinaten

1

1*zyx

wwzyx

Page 21: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Viewport TransformationViewport TransformationAnpassung des Höhen-SeitenverhältnissesAnpassung des Höhen-Seitenverhältnisses

Fenster – Koordinaten inkl. TiefenwertFenster – Koordinaten inkl. Tiefenwert

Eintrag im Z-BufferEintrag im Z-Buffer

Page 22: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Scan ConversionScan ConversionAuflösung eines Dreiecks in einzelne FragmenteAuflösung eines Dreiecks in einzelne Fragmente

• Lineare InterpolationLineare Interpolation

• Lineare Lineare KanteninterpolationKanteninterpolation

Page 23: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Texture-MappingTexture-Mapping

Page 24: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Depth TestDepth TestPunkte, die sich hinter anderen Objekten befindenPunkte, die sich hinter anderen Objekten befindendürfen nicht gezeichnet werdendürfen nicht gezeichnet werden

Z – BufferingZ – Buffering

Alpha Blending ?Alpha Blending ?

Page 25: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

FilteringFiltering- Isotropisches FilternIsotropisches Filtern

- BilinearBilinear- MIP-MAPsMIP-MAPs- TrilinearTrilinear

- Anisotropisches FilternAnisotropisches Filtern- Footprint AssemblyFootprint Assembly

Page 26: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Anti-AliasingAnti-AliasingOversampling mit Oversampling mit

anschließender anschließender TiefpassfilterungTiefpassfilterung

- Full Scene AAFull Scene AA- Multisampling AAMultisampling AA

Verringerte SchärfeVerringerte Schärfe

Page 27: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Alpha - BlendingAlpha - BlendingKomposition des zu schreibenden Pixels mit dem im Komposition des zu schreibenden Pixels mit dem im

Bildspeicher bereits existierendem Farbwert.Bildspeicher bereits existierendem Farbwert.

Page 28: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

AlternativenAlternativen Vertex ShaderVertex Shader

- Geometry Processing frei programmierbarGeometry Processing frei programmierbar- Nachfolger der Nachfolger der Transform & Lighting Transform & Lighting – Funktion– Funktion- Beherrscht Beherrscht Formveränderungen und Lichtänderungen Formveränderungen und Lichtänderungen

Pixel ShaderPixel Shader- Verändert Verändert MaterialeigenschaftenMaterialeigenschaften- SpiegelungenSpiegelungen- SchattierungSchattierung- Lensglow und Lensflares Lensglow und Lensflares

Page 29: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Ausblick – HDRRAusblick – HDRRHigh Dynamic Range RenderingHigh Dynamic Range Rendering 8Bit Integer-Tupel (R,G,B) wird durch 16Bit floats ersetzt8Bit Integer-Tupel (R,G,B) wird durch 16Bit floats ersetzt

Page 30: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Ausblick – UT2007Ausblick – UT2007Unreal Tournament 2007Unreal Tournament 2007

Page 31: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Ausblick – MGS 4Ausblick – MGS 4Metal Gear Solid 4Metal Gear Solid 4

Page 32: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

RaytracingRaytracing VorteileVorteile

- hohe Flexibilität hohe Flexibilität - leichtere Austauschbarkeit der Shader leichtere Austauschbarkeit der Shader - einfache Implementierung mit überschaubarer einfache Implementierung mit überschaubarer

KomplexitätKomplexität

ProblemeProbleme- Effekte wie Nebel oderEffekte wie Nebel oder

Flammen kaum möglichFlammen kaum möglich- Sehr hoher Sehr hoher

RechenaufwandRechenaufwand

Page 33: Proseminar – Computer Graphics Martin Dummer computer graphics & visualization Die Renderpipeline.

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer computer graphics & computer graphics &

visualizationvisualization

Die RenderpipelineDie Renderpipeline- Fragen ?Fragen ?- Wünsche ?Wünsche ?- Anregungen ?Anregungen ?