proseminar – computer graphics martin dummer computer graphics & visualization die...

Post on 06-Apr-2016

247 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Proseminar – Computer GraphicsProseminar – Computer GraphicsMartin DummerMartin Dummer

computer graphics & computer graphics & visualizationvisualization

Die RenderpipelineDie 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 ...

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 )

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

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

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

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

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

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

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

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

visualizationvisualization

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

wdzwzdywydxwx

wzyx

dzdydx

***

1000100010001

HomogeneHomogene KoordinatenKoordinaten

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

visualizationvisualization

LichtquellenLichtquellenVerschiedene Arten von LichtquellenVerschiedene Arten von Lichtquellen

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

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

((θθ))

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

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

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 )

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%

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 )

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

visualizationvisualization

Perspective DivisionPerspective Division

normierte Gerätekoordinatennormierte Gerätekoordinaten

1

1*zyx

wwzyx

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

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

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

visualizationvisualization

Texture-MappingTexture-Mapping

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 ?

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

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

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.

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

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

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

visualizationvisualization

Ausblick – UT2007Ausblick – UT2007Unreal Tournament 2007Unreal Tournament 2007

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

visualizationvisualization

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

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

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

visualizationvisualization

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

top related