proseminar – computer graphics martin dummer computer graphics & visualization die...
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 ?