TU Wien:Rendering VO (Weidlich)/Zusammenfassung SS09
Hinweis[Bearbeiten | Quelltext bearbeiten]
Es handelt sich hier um eine stichwortartige Zusammenfassung der Folien. Da keine Bilder enthalten sind, ist es von Vorteil sich die Folien auch anzuschauen. Für Korrektheit und Vollständigkeit kann ich nicht garantieren.
Rendering Theory[Bearbeiten | Quelltext bearbeiten]
Methoden zur lösung der rendering gleichung[Bearbeiten | Quelltext bearbeiten]
inversion[Bearbeiten | Quelltext bearbeiten]
- nicht verwendet
- kubusche zeit komplexität
- numerisch instabil
expansion[Bearbeiten | Quelltext bearbeiten]
gathering[Bearbeiten | Quelltext bearbeiten]
- serie von integralen entspricht stufen in rekursivem gathering algorithmus
shooting[Bearbeiten | Quelltext bearbeiten]
- expansion der PE
integral berechnung[Bearbeiten | Quelltext bearbeiten]
- numerische quadratur - summe gewichteter samples
- aufwand von simpson und brick steigt exponentiell mit dim des integranden
- monte carlo integration wird verwendet
- anz samples nicht abhängig von der dimension
- quasi MC
- random hat löcher ->
- halton/hammersley sequenzen werden verwendet
- weniger rauschen
- schwieriger zu implementieren
nachteile[Bearbeiten | Quelltext bearbeiten]
- pfade unabhängig - keine kohärenzen nutzbar
- hochdimensionale integrale werden ausgewertet
- rekursion beenden, wenn unter threshold
- rek beenden mit russischem roulette
- zufällige beendigung eines gesamten strahls aufgrund seiner ausbreitungswahrscheinlichkeit
vorteile[Bearbeiten | Quelltext bearbeiten]
- gathering
- es muss keine komplette repräsentation gespeichert werden -> speicherplatz
- shooting
- flexible speichermethoden
- parallele abarbeitung von walks möglich wegen unabhängigkeit
iteration[Bearbeiten | Quelltext bearbeiten]
- konvergiert, weil T contractive ist
- um die zwischenzustände von L zu speichern werden finite elemente benutzt
nachteile[Bearbeiten | Quelltext bearbeiten]
- hohe speicheranforderungen
- probleme mit hochfrequenten schatten, reflexionen, kaustiken
- auch unsichtbare teile der szene werden berechnet
vorteile[Bearbeiten | Quelltext bearbeiten]
- kohärenz kann gut ausgenützt werden
- die funktionen L sind augpunkt unabhängig
- durch diskretisierung wird implizit gesmootht -> besser als rauschen bei expansion
- robuster für hochreflektierende umgebungen
gathering type random walk - expansion algorithmen[Bearbeiten | Quelltext bearbeiten]
startet vom aug unterscheiden sich darin, wie weitergesucht wird (Trace())
ray casting[Bearbeiten | Quelltext bearbeiten]
- einzelner strahl wird mit der szene geschnitten
- first hit ray tracing
- kann als echtzeit renderer verwendet werden
- effizienter als OpenGL für sehr komplexe szenen
ray tracing[Bearbeiten | Quelltext bearbeiten]
- photorealistischer rendering algorithmus
- whitted raytracing - hybrider algorithmus
schritte[Bearbeiten | Quelltext bearbeiten]
- sichtbarkeits berechnung
- schnitt mit objekt
- schattierung auf grund vom winkel zur(/zu den) lichtquelle(n)
- bestimmung von schatten durch dazwischenliegende objekte
- reflexionen (auf andere objekte) berechnen und schattieren
- aufsummierung
distribution raytracing[Bearbeiten | Quelltext bearbeiten]
- bei jedem schnittpunkt wird wieder in N richtungen weitergegangen ->
- sehr langsame konvergenz
- pro: einfach
path tracing[Bearbeiten | Quelltext bearbeiten]
- einzelner pfad wird durch die szene verfolgt
- mit oder ohne sofortiger lichtquellenauswertung
simple PT[Bearbeiten | Quelltext bearbeiten]
- schnell
- einfach:
- man folgt dem strahl, bis man eine lichtquelle trifft oder
- bis ein schwellwert überschritten wird
- funktioniert nicht bei kleinen lichtquellen
- hemisphärische integration
propagation strategien[Bearbeiten | Quelltext bearbeiten]
- uniform, cosine, importance sampling
pfad ende[Bearbeiten | Quelltext bearbeiten]
- schwellwert
- russisches roulette
improved PT[Bearbeiten | Quelltext bearbeiten]
- zusätzlich wird die lichtquelle gesamplet (mehrfaches einflusssampling)
- normaler pfad (raumwinkel) und pfad zur lichtquelle - heuristik basierend auf den relativen samplewahrscheinlichkeiten wählt, welcher pfad verfolgt wird
- die samples werden mit ihrer relativen wahrscheinlichkeit gewichtet (nur notwendig, wenn beide strahlen die gleiche lichtquelle treffen, sonst einfach addieren)
- jeder strahl hat 2 wahrscheinlichkeiten
- wahrscheinlichkeit, dass BRDF den strahl erzeugt
- wahrscheinlichkeit, dass der strahl als lichtquellen sample erzeugt wird
- problem: richtige gewichtung der 2 samples (normaler pfad + lichtquelle)
- direktes lichtquellen sampling
- integrand wird in direkte und indirekte beleuchtungskomponente geteilt
vorteile[Bearbeiten | Quelltext bearbeiten]
- einfach
- konvergiert gegen die lösung
nachteile[Bearbeiten | Quelltext bearbeiten]
- eher schlechtes konvergenzverhalten, vA für kleine lichtquellen
shooting type random walk - (expansion?) algorithmen[Bearbeiten | Quelltext bearbeiten]
beginnt bei der lichtquelle verteilt das licht auf besuchte punkte, die dann in den bildraum projiziert werden unterscheiden sich darin, wie weiter geschossen wird (Shoot())
forward raytracing/photon tracing[Bearbeiten | Quelltext bearbeiten]
- umgekehrtes raytracing
- unbrauchbare konvergenz
light tracing (/forward path tracing)[Bearbeiten | Quelltext bearbeiten]
- umgekehrtes path tracing
- hohe varianz (=rauschen?)
- konvergiert gegen die lösung
- unbrauchbar in der praxis
bidirektionale random walk algorithmen[Bearbeiten | Quelltext bearbeiten]
kombinieren gathering und shooting
bidirektionales path tracing[Bearbeiten | Quelltext bearbeiten]
- 2 strahlen werden ausgeschickt
- einer vom aug
- einer von einer lichtquelle
- walks können von zwischen shooting und gathering umgewandelt werden
- es können alle gegenseitigen verbindungen ausgewertet werden, oder nur die letzte
- nicht so gut bei kaustiken
metropolis light transport[Bearbeiten | Quelltext bearbeiten]
- bidirektionales tracing wird durchgeführt, bis ein brauchbarer pfad gefunden wird
- dann wird der gefundene pfad leicht verändert, in der hoffnung, noch mehr nützliche pfade zu finden
- bidirectional mutations
- pfad länge wird geändert, indem vertices weggelassen werden
- perturbations
- an manchen punkten, werden die richtungen leicht geändert
- bidirectional mutations
vorteile[Bearbeiten | Quelltext bearbeiten]
- gut für schwierige situationen (kaustiken, viel specular...)
nachteile[Bearbeiten | Quelltext bearbeiten]
- anfangsproblem (?) macht das verfahren suboptimal für normale szenen
- sehr schwer zu implementieren
storage-based algorithmen[Bearbeiten | Quelltext bearbeiten]
classical radiosity (iteration)[Bearbeiten | Quelltext bearbeiten]
- deterministisch
- mit formfaktoren, szene wird in patches geteilt
- formfaktor gibt an, welchen einfluss ein anderer patch auf den aktuellen patch hat - geometrische größe
geometrische diskretisierung[Bearbeiten | Quelltext bearbeiten]
- mehr patches sind teuer -> bessere darstellung auf weniger patches
- meshing - in wohlgeformte polygone
- führt zu schatten/licht leaks
- discontiuity meshing
- meshes werden direkt an unterbrechungsstellen erzeugt (verhindert leaks)
- regular subdivision
hierarchical radiosity[Bearbeiten | Quelltext bearbeiten]
- es werden nur beeinflussungen berechnet, die wichtig sind - schaut auf die formfaktoren
- push/pull
- formfaktoren werden geschätzt, wenns nicht passt - weiter verfeinern
- in jeder ebene wird radiosity hinzugefügt
- unschärfer als discomeshes, aber wohl schneller
zur darstellung muss der mesh interpoliert werden (kann bei discomeshes zu problemen führen) beschränkt auf
- polygone
- diffuses material (spiegel durch erweiterungen möglich)
stochastische annäherungen (expansion)[Bearbeiten | Quelltext bearbeiten]
global lines[Bearbeiten | Quelltext bearbeiten]
- stochastisches radiosity verfahren
- strahlen werden in die szene geworfen und mit allen objekten geschnitten und der lichttransport aufgezeichnet
- unter umständen schneller als photon tracing
- wird nicht verwendet (neuere verfahren)
photon tracing[Bearbeiten | Quelltext bearbeiten]
- interaktion von photonen mit oberflächen werden gespeichert
- speicherstrukturen
- photonmaps
- sehr effizient für kaustiken
- mehrere photonen werden zu specular objekten emittiert und beim auftreffen auf diffuse oberflächen gespeichert
- für schatten
- path tracing von der lichtquelle, 1. schnitt ist licht und alle folgenden schatten
- langsam und speicherintensiv
- sehr effizient für kaustiken
- lightmaps
- lichttexturen auf objekten
- photonmaps
- probleme bei steigender komplexität
- speicherverbrauch explodiert (viele texels)
- lange setup zeit
- langsame konvergenz (zu langsam für monte carlo)
Shading Models[Bearbeiten | Quelltext bearbeiten]
lösen der rendering gleichung[Bearbeiten | Quelltext bearbeiten]
scanline rendering[Bearbeiten | Quelltext bearbeiten]
- g - teilweise
- E - ja (wenn implementiert)
- integral - nein
- oberflächen/brdf/rho - rudimentär
- rekursion - nein
ray tracing[Bearbeiten | Quelltext bearbeiten]
- g - ja, recht genau
- E - ja
- integral - nein
- oberflächen - teilweise/rudimentär
- rekursion - teilweise (spiegel)
radiosity[Bearbeiten | Quelltext bearbeiten]
- g - ja
- E - ja
- integral - teilweise (diffus)
- oberflächen - teilweise (diffus)
- rekursion - ja
photon tracing[Bearbeiten | Quelltext bearbeiten]
- g - ja
- E - ja
- integral - tw (lichtquelle-ja)
- oberflächen - tw (lichtquelle-ja)
- rekursion - ja
path tracing[Bearbeiten | Quelltext bearbeiten]
- g - ja
- E - ja
- integral - ja
- oberflächen - ja
- rekursion - ja
aussehn eines objektes durch oberflächen reflexion[Bearbeiten | Quelltext bearbeiten]
BRDF[Bearbeiten | Quelltext bearbeiten]
- reflexionsverhalten für eine bestimmte wellenlänge
- über halbkugel
isotrop (richtungsgleich)[Bearbeiten | Quelltext bearbeiten]
- rotationsinvariant
- gilt für viele oberflächen
anisotrop[Bearbeiten | Quelltext bearbeiten]
- reflexionseigenschaften ändern sich bei rotation
repräsentationsformen[Bearbeiten | Quelltext bearbeiten]
- tabellen mit messungen oder simulationsergebnissen
- riesen datenmengen
- anforderungen
- schnelles sampling mit monte carlo soll möglich sein - notwendig für nicht-perfekte oberflächen
- annäherung durch analytische funktionen
- anforderungen
- reziprozität
- energieerhaltung
- schnelle auswertung
- einfaches stochastisches sampling
- anforderungen
BSDF - scattering[Bearbeiten | Quelltext bearbeiten]
- BRDF & BTDF (transmission - wie BRDF, für strahlen die ins material hinein gehen)
- über kugel
- kaum verwendet
BTF - texturen[Bearbeiten | Quelltext bearbeiten]
- zusätzlich positionsinformationen um BRDF daten zu kombinieren
- problem: übergangslose texturen erzeugen
empirische modelle[Bearbeiten | Quelltext bearbeiten]
- zusammensetzung von komponenten
lambert[Bearbeiten | Quelltext bearbeiten]
- nur diffus
- reflektierte lichtmenge wird durch cos des einfallswinkels berechnet
phong[Bearbeiten | Quelltext bearbeiten]
- specular kommt dazu
- cos^n, je größer n, umso spitzer cos^n -> mehr specular reflexion
kombinierter phong[Bearbeiten | Quelltext bearbeiten]
- directional diffuse
normaler cos zacken berechnet die helligkeit falsch, bei steil vs flachen winkel cos zacken mit specular ist schon besser generalisierter cos zacken (lafortune) machts richtig
- zacken nimmt mit flachem winkel zu
ward[Bearbeiten | Quelltext bearbeiten]
- anisotrop
- basiert auf elliptischer gaussverteilung und reflektometer messungen
fresnel[Bearbeiten | Quelltext bearbeiten]
- interface zwischen 2 materialien mit komplexem (leiter) / realem (nichtleiter) brechungsindex
physikalische modelle[Bearbeiten | Quelltext bearbeiten]
torrance-sparrow[Bearbeiten | Quelltext bearbeiten]
- komponenten
- mikrofaser modell
- fresnel reflexionsterm
- rauheitsterm
- fasern sind perfekte spiegel (reflectors), abgesehn von
- self-shadowing
- unebenheit verdeckt reflektiertes licht -> es kommt weniger an
- masking
- unebenheit verdeckt eingehendes licht -> es kann weniger reflektiert werden
- self-shadowing
- vordefinierte oberflächentypen vorhande
- pro
- physikalisch korrekt
- exzellente ergebnisse
- contra
- schwer zu samplen, programmieren
- hängt von materialkonstanten ab
oren-nayar[Bearbeiten | Quelltext bearbeiten]
- wie lambert bei sigma=0
- bei steigendem sigma - immer stärker rückreflektierend
HTSG[Bearbeiten | Quelltext bearbeiten]
- basierend auf wellenoptik und brechungstheorie
- diffus und directional diffus wird getrennt
- komplex und mächtig, teuer in der berechnung
jenseits von BRDF-fähigkeiten[Bearbeiten | Quelltext bearbeiten]
- phosphoreszierend
- fluoreszierend
- metallic
- pearlescent
- subsurface scattering
Appearance Modelling[Bearbeiten | Quelltext bearbeiten]
BRDFs für advanced materials[Bearbeiten | Quelltext bearbeiten]
probleme:
- komplexe struktur
- spektrale materialmodelle
fluoreszenz[Bearbeiten | Quelltext bearbeiten]
- eingehendes licht, wird mit anderer wellenlänge abgestrahlt
- 2färbiges reflexionsmuster
- an der oberfläche (substrat) reflektierte strahlen behalten die farbe
- strahlen, die mit dem farbstoff zusammentreffen (subsurface), ändern die wellenlänge
- 2 phong cos zacken (einer für normal+einer für fluoreszierendes licht) liefern kein tolles ergebnis
- 2 schichten torrance-sparrow
- rauer nichtleiter über fluoreszierendem lambert
- mäßig gutes ergebnis
metallic[Bearbeiten | Quelltext bearbeiten]
- statistische modelle
subsurface scattering[Bearbeiten | Quelltext bearbeiten]
- licht dringt ins material ein und wird an einer anderen stelle reflektiert
- BSSRDF - surface scattering reflectance
- frei in position & richtung - monte carlo würde sehr lang dauern
- gilt nur für semi-infinite homogene medien
- beispiel
- haut - 3 schichten BSSRDF
- blätter
- diffus, specular und durchlässigkeits term
Spectral Rendering[Bearbeiten | Quelltext bearbeiten]
zur lichtberechnung in ray tracern kann entweder der farbraum oder spektrales rendering verwendet werden licht ist elektromagnetische strahlung in einem bereich des gesamten spektrums, bestimmt durch die frequenz die verteilung der wellenlängen eines lichtstrahls wird als spektrum bezeichnet
licht berechnungsgrößen[Bearbeiten | Quelltext bearbeiten]
farbraum[Bearbeiten | Quelltext bearbeiten]
- hauptsächlich RGB
- geräte abhängig, nicht ideal
- kann nicht alle farben darstellen
- schnell + weit verbreitet
- CIE XYZ
- gültige farben sind ein unterraum des 1. XYZ oktanten
- ist nicht geschlossen unter der multiplikation
spektral[Bearbeiten | Quelltext bearbeiten]
- maxwell renderer
- manchmal notwendig wegen den problemen von RGB und XYZ
- die spektralsamples (sginal gefaltet mit den 3 spektren) werden separat verarbeitet während den renderingberechnungen
- displayfarbe wird mit CIE colour matching funktionen berechnet
- licht wird als frequenzverteilung repräsentiert
diskretisieren[Bearbeiten | Quelltext bearbeiten]
- regulär samplen
- aliasing
- schnelle faltung
- linear oder höhere speicherformen
- speichereffizient
- langsame faltung
eigenschaften[Bearbeiten | Quelltext bearbeiten]
- genau
- vorhersagen der natur möglich
- hohe kosten, aliasing, kompliziert
bsp[Bearbeiten | Quelltext bearbeiten]
- subtraktive farbmischung mit spektral viel genauer als mit rgb
effekte die spektrale berechnung verlangen[Bearbeiten | Quelltext bearbeiten]
metamerismen[Bearbeiten | Quelltext bearbeiten]
- verschiedene spektren erzeugen den gleichen farbeindruck
- -> farben sehen unter einer beleuchtung gleich aus, unter einer anderen verschieden
volumsabsorption[Bearbeiten | Quelltext bearbeiten]
- vorhersage der absorption in transparenten materialien - im farbraum schwer möglich
dispersion[Bearbeiten | Quelltext bearbeiten]
- interferenz und brechung abhängig von der wellenlänge
bsp[Bearbeiten | Quelltext bearbeiten]
- prsima, zur lichtstreuung
interferenz und beugung[Bearbeiten | Quelltext bearbeiten]
interferenz[Bearbeiten | Quelltext bearbeiten]
- entsteht durch kleine stukturen
- minimal verschiedene ausbreitungszeiten führen zu auslöschung oder verstärkung
- seifenblasen
beugung[Bearbeiten | Quelltext bearbeiten]
- passiert in kleinen strukturen
- cds
fuoreszente materialien und lichtquellen[Bearbeiten | Quelltext bearbeiten]
polarisation[Bearbeiten | Quelltext bearbeiten]
- notwendig für
- kristalle
- transparente objekte
- szenen im freien
- die meisten szenen sehen auch ohne plausibel aus
- kann mit der phasendifferenz der x,y komponenten beschrieben werden
- 2 energiebezogene größen notwendig
- strahlungsintensität
- dämpfung (einfluss von oberflächen, einfließend/filternd)
beschreibungsformen[Bearbeiten | Quelltext bearbeiten]
- kohärenzmatrix (hermitische) und kohärenzmatrix modifier
- stokes vektoren und müller matrizen
- 4 komponenten - 1.strahlungsintensität, rest koord/orientierung
- 4x4 filter
Participating Media[Bearbeiten | Quelltext bearbeiten]
licht wird gestreut und gedämpft (nebel, rauch, wolken)
schwierigkeiten[Bearbeiten | Quelltext bearbeiten]
- kann an jeder stelle im medium passieren
- spektrale abhängigkeit der charakteristischen parameter
absorption[Bearbeiten | Quelltext bearbeiten]
- energie wird reduziert (zb in hitze umgewandelt)
emission[Bearbeiten | Quelltext bearbeiten]
- lichtreaktive partikel fügen energie hinzu (chemischer, thermaler vorgang)
scattering[Bearbeiten | Quelltext bearbeiten]
out[Bearbeiten | Quelltext bearbeiten]
- licht wird an teilchen gestreut
- hauptstrahl wie bei absorption
in[Bearbeiten | Quelltext bearbeiten]
- licht aus anderen richtungen wird in richtung des hauptstrahls gestreut
- wie emission
phasenfunktion[Bearbeiten | Quelltext bearbeiten]
- gibt die räumliche verteilung des gestreuten lichts an
isotropisch[Bearbeiten | Quelltext bearbeiten]
- wie diffuse brdf
rayleigh[Bearbeiten | Quelltext bearbeiten]
- kleine sphärische partikel
mie[Bearbeiten | Quelltext bearbeiten]
- partikel in der größe der wellenlängen des lichts (aerosole)
henyey-greenstein[Bearbeiten | Quelltext bearbeiten]
- annäherung von mie
transportgleichung[Bearbeiten | Quelltext bearbeiten]
- gibt für einen punkt x die strahlung L(x) in eine richtung an
- ist die summe der gedämpften eingangsstrahlung ins medium und des strahlungsbeitrags im medium
- beschreibt die veränderung der strahlung
eingabedaten[Bearbeiten | Quelltext bearbeiten]
- homogen
- inhomogen
lösungsmethoden[Bearbeiten | Quelltext bearbeiten]
- speicherung gemessener daten
- voxel, medizin, volume rendering
- numerische lösungen
- analytische funktionen
- dichtefunktionen, exponentialfunktionen
- analytische funktionen
- lösen der gleichung
- vereinfachungen
- keine streuung (feuer)
- einfachstreuung
- meist unrealistisch (bei wolken - zu dunkel - fehlendes in-scattering)
- berücksichtigt nur direkte einstrahlung
- vorgehensweise
- direkte beleuchtung berechnen
- ray marching
- an jedem punkt - strahl zur lichtquelle - check ob verdeckt
- absorption/emission
- raymarching für heterogene materialien
- strahl wird in kleinere segmente geteilt um beitrag des mediums zu messen
- schrittweite
- zufällig
- gleichmäßig mit zufälligem start
- deterministisch (artefakte)
- raymarching für heterogene materialien
- mehrfachstreuung
- 2stufig
- beleuchtungsberechnung (volume photon mapping)
- visualisierung (transportgleichung, ray marching)
- 2stufig
- vereinfachungen
volume photon mapping[Bearbeiten | Quelltext bearbeiten]
- photonen im volumen gespeichert
volume photon tracing[Bearbeiten | Quelltext bearbeiten]
- photonen können
- unverändert durchgehen
- absorbiert oder gestreut werden
- russisches roulette entscheidet, was passiert
- neue richtung bestimmt durch phasengleichung
direkte beleuchtung durch ray marching indirekt, durch schätzung im volumen
skydome luminance[Bearbeiten | Quelltext bearbeiten]
- einfärbiger himmel sieht falsch aus
- HDR fischaugen environment maps sehr beliebt
- alternativ: analytische luminance modelle
- CIE (einfärbig - abgestuft)
- Perez (verbessertes CIE)
- Preetham
- basiert auf Perez
- spektralfarben für jede sonnenerhebung
- 5parameter
- helligkeit des horizont
- luminance gradient beim horizont
- relative intensität der sonnenregion
- weite der sonnenregion
- relativ zurückgestreutes licht
wolken[Bearbeiten | Quelltext bearbeiten]
- environment map
- simulation
- probleme
- form
- lichtverhalten
- probleme
- niedrige puffball wolken oft 3D modelle
- höhere eiswolken eher texturen
- plasma fraktale - überzeugend aber ineffizient
- zur beleuchtung
- eigenschatten wichtig fürs aussehen
- path tracing - viel zu langsam
Cameras[Bearbeiten | Quelltext bearbeiten]
camera typen[Bearbeiten | Quelltext bearbeiten]
perspective camera[Bearbeiten | Quelltext bearbeiten]
- perspektivische projektion
pinhole (loch) camera[Bearbeiten | Quelltext bearbeiten]
- simpel
- entfernungen und parallelität gehen verloren
- verkürzungen
- überall in der szene scharf -> nicht realistisch
- echte cameras brauchen blende und linse
- für rendering mit schärfentiefe müssen bessere konzepte verwendet werden
orthographic camera[Bearbeiten | Quelltext bearbeiten]
- parallelprojektion
- relative entfernung und parallelität bleiben erhalten
- keine verkürzung
- view volume ist eine ausgerichtete box
fisheye camera[Bearbeiten | Quelltext bearbeiten]
- linien, die nicht durch die bildmitte gehen, werden gebogen/verzeichnet
environment/spherical camera[Bearbeiten | Quelltext bearbeiten]
- ray tracing von einem punkt in alle richtungen
- für environment lighting
blende[Bearbeiten | Quelltext bearbeiten]
durchmesser der öffnung (darf nicht 0 sein - zumindest etwas licht muss auf den film treffen) größere blende bedeutet mehr licht, aber auch mehr unschärfe bei kleinerer blende wird das bild schärfer in einem größeren bereich belichtungszeit ändert sich dadurch
f-stops[Bearbeiten | Quelltext bearbeiten]
- f-stop = brennweite / durchmesser(/blende(?))
- die belichtungszeit ist proportional zum quadrat der f-stops, daher wählt man gern sqrt(2) als schrittweite
linse[Bearbeiten | Quelltext bearbeiten]
ohne linse, keine bildgenerierung möglich meistens reicht eine planare linse mit fixem brechungsindex
brennweite[Bearbeiten | Quelltext bearbeiten]
- klein bei weitwinkel (zb 35mm)
- groß bei tele linsen (70-200mm)
bild wird invertiert es kann immer nur auf eine bestimmte entfernung fokusiert werden (schärfentiefe)
fehler echter linsen[Bearbeiten | Quelltext bearbeiten]
- abweichungen, verzerrung, unschärfe
- farbabweichungen am rand (farbränder)
- fähigkeiten beschränkt durch beugung
zerstreuungskreis[Bearbeiten | Quelltext bearbeiten]
entsteht auf dem film in bereichen außerhalb des schärfebereichs
methoden für schärfetiefeneffekt[Bearbeiten | Quelltext bearbeiten]
zufällige samples im bereich der blende erzeugen und strahlen durch den augpunkt legen (path tracer)
stereo projection[Bearbeiten | Quelltext bearbeiten]
2 beamer mit kreisförmig polarisiertem licht (bei einem links, beim andern rechts polarisiert) nachreflektierende leinwand sezene wird 2mal gerendert, um den augenabstand versetzt
techniken[Bearbeiten | Quelltext bearbeiten]
offset[Bearbeiten | Quelltext bearbeiten]
- view matrix wird verschoben
- projection matrix beleibt
toe-in[Bearbeiten | Quelltext bearbeiten]
- view matrix verschoben und rotiert - beide zeigen auf einen punkt
- projection matrix beleibt
- sieht richtig aus, erzeugt aber ein unwohles gefühl
offaxis[Bearbeiten | Quelltext bearbeiten]
- view matrizen werden verschoben
- asymmetrische projektion
- korrekt und weniger anstrengend (zum ansehen)
Tone Mapping[Bearbeiten | Quelltext bearbeiten]
bilderzeugungs pipeline[Bearbeiten | Quelltext bearbeiten]
- modellierung
- rendering
- RGB, XYZ oder spektral
- HDR für predictive rendering
- display
bildtypen[Bearbeiten | Quelltext bearbeiten]
- relative (kontrast)werte
- absolute radiometrische werte
bildformate[Bearbeiten | Quelltext bearbeiten]
herkömmliche[Bearbeiten | Quelltext bearbeiten]
- meist RGB (TIFF, PNG, JPG)
- TIFF
- auch CIE Lab
- 8 (normal) - 16 bit
- helligkeit <= 1 -> geräteabhängig
- keine physikalische bedeutung der werte
- TIFF
HDR farbraum[Bearbeiten | Quelltext bearbeiten]
- werte haben physikalische bedeutung
- große bereiche (float)
- kompakte größe
- artefakte möglich bei kompression
- OpenEXR
- HDR für die anforderungen der filmindustrie
- open source
- 16 und 32 bit float farben
- 16: 10^9 range, 30 f-stops
- verlustfreie komprimierung
- beliebige information kann zu den bildern gespeichert werden
- daten größer als display für filter
spektrale (+polarisation)[Bearbeiten | Quelltext bearbeiten]
- N spektrale sample pro pixel
- float
- werte haben physikalische bedeutung
- keine information geht verloren
- riesige datein, kaum support
postprocessing[Bearbeiten | Quelltext bearbeiten]
gamut mapping[Bearbeiten | Quelltext bearbeiten]
- die farben in die display skala transferieren
- lokal
- punkte außerhalb werden einzeln in die skala versetzt
- glanzpunkte können verloren gehen
- global
- die gesamte punktwolke wird so geschrumpft, dass sie in die skala passt
- farbrelationen bleiben
- bild wird entsättigt
tone mapping[Bearbeiten | Quelltext bearbeiten]
- den helligkeitsbereich an ein bestimmtes gerät anpassen
global[Bearbeiten | Quelltext bearbeiten]
- der gesamte helligkeitsbereich wird um einen faktor skaliert
- einfach und schnell
- oft ausreichend
- bei breiter HDR reichweite wird das ergebnis sehr dunkel
- linearer faktor
- mean value mapping
- mittelwert des histogramms wird auf 0.5 gemapt
- werte außerhalb des intervalls werden abgeschnitten
- interactive calibration
- das gebiet und die reichweite (breite) des intervalls können interaktiv festgelegt werden
- ward
- kontrast-basierter skalierungsfaktor
- recht gute ergebnisse
- bild muss in absoluten einheiten gespeichert sein
- mean value mapping
- nicht linearer faktor
- exponential mapping
- entspricht der menschlichen wahrnehmung
- reduziert den einfluss weniger sehr heller pixel
- schlick
- ähnlich der exponentialfunktion
- gut bei hohem kontrast
- kann völlig daneben gehn
- tumblin und rushmeier
- ferwerda (visual adaptation model)
- exponential mapping
lokal[Bearbeiten | Quelltext bearbeiten]
- teile des bilds werden betrachtet
- kann künstlich aussehen
- die kern-größe bestimmt die schärfe des ergebnis
wahrnehmungsorientiert (perceptual)[Bearbeiten | Quelltext bearbeiten]
- 2 stufen
- bestimmen, was eine person in einer bestimmten szene sehen würde
- reproduktion dieser wahrnehmung am display
- adaptionsmodell und die inverse davon werden zur berechnung verwendet
- ferwerda
- parameter
- schwellwert empfindlichkeit
- farberscheinung
- visuelle schärfe
- hell/dunkel anpassung
- parameter
farbwahrnehmung[Bearbeiten | Quelltext bearbeiten]
- hirn erkennt trotz farbiger beleuchtung das aussehen von szenen und passt die farben an
colour correction[Bearbeiten | Quelltext bearbeiten]
- es wird versucht die funktion des gehirns nachzustellen
- viele algorithmen - die meisten bildbasiert
- 2 stufen
- erkennen der beleuchtungsfarbe
- anwendung einer kompensationstransformation
- 1.schritt schwierig nur mit bilddaten
- idee: sammeln von informationen beim rendering
- robust
- 2 zusätzliche bilder werden erzeugt
- alle direkt gesehenen oberflächen werden auf neutral gesetzt
- die lichter werden auf neutral gesetzt auf allen direkt gesehenen objekten
- algorithmus
- 1-chroma bild aus bild mit neutraler beleuchtung (hell an stellen mit neutraler oberfläche)
- multipliziert mit dem bild mit neutralen objekten
- extraktion des dominanten farbtons
- entfernung des farbtons aus dem originalbild
interaktives tonemapping[Bearbeiten | Quelltext bearbeiten]
- walkthroughs
- spiele
- flugsimulatoren
Renderman[Bearbeiten | Quelltext bearbeiten]
pixar renderman - komplexes software system
namen[Bearbeiten | Quelltext bearbeiten]
- renderman sl
- scene description language
- renderman interface
- schnittstelle zwischen modellierung und rendering
- prman
- renderman scanline renderer von pixar
shadowmaps für jede lichtquelle notwendig durch ray tracing und globale beleuchtung in neueren rman versionen nicht notwendig
deep shadowmaps[Bearbeiten | Quelltext bearbeiten]
- beschreibt lichtabfall beim treffen auf ein medium
reflexionen[Bearbeiten | Quelltext bearbeiten]
- müssen vorberechnet werden - reflection maps
- nicht mehr notwendig mit ray tracing on demand
prman[Bearbeiten | Quelltext bearbeiten]
- stammt vom lucasfilm renderer ab
- indirekte und globale beleuchtung
- paralleles netzwerk rendering
- on demand ray tracing
ziele[Bearbeiten | Quelltext bearbeiten]
- hohe mögliche model komplexität
- programmierbare shader
- minimales ray tracing - zb durch shadowmaps
- geschwindigkeit und qualität (anti aliasing...)
darstellung mit mikropolygonen[Bearbeiten | Quelltext bearbeiten]
- die gesamte geometrie wird während dem renderin in mikropolygone geteilt
vorteile[Bearbeiten | Quelltext bearbeiten]
- kann beliebig viele primitiven verarbeiten
nachteile[Bearbeiten | Quelltext bearbeiten]
- kohärenzen werden nicht ausgenützt, alles wird zerteilt
- keinerlei globale beleuchtungs information wird berechnet
rm interface[Bearbeiten | Quelltext bearbeiten]
beinhaltet[Bearbeiten | Quelltext bearbeiten]
- mächtige oberflächenprimitiven
- hierarchische modellierung/geometrie
- CSG
- camera model
- generalisiertes shading model
shaders[Bearbeiten | Quelltext bearbeiten]
shape vs shading[Bearbeiten | Quelltext bearbeiten]
- shape: form, geometrie
- shading
- berechnet das aussehen eines objekts
- definiert durch materialeigenschaften & umwelt
shadertypen[Bearbeiten | Quelltext bearbeiten]
- emission an der lichtquelle
- interaktion an der objektoberfläche
- atmosphärischer effekt zwischen objekt und auge
rm interface shader[Bearbeiten | Quelltext bearbeiten]
light source shader[Bearbeiten | Quelltext bearbeiten]
- bestimmt die farbe und intensität, die von der lichtquelle in eine bestimmte richtung geht
- zb: beamer
surface shader[Bearbeiten | Quelltext bearbeiten]
- bestimmt die farbe, die von einer oberfläche in eine bestimmte richtung reflektiert wird
- zb: nemo - fish eingeweide scheinen durch die haut
volume shader / atmosphärischer shader[Bearbeiten | Quelltext bearbeiten]
- die atmosphäre beeinflusst licht, das von einer oberfläche zum auge kommt
- zb: unterwassereffekt, explosion
displacement shader[Bearbeiten | Quelltext bearbeiten]
- die geometrie vom objekt wird verändert
- korrekte silhouette
transformation shader[Bearbeiten | Quelltext bearbeiten]
- transformiert ganze objekte
imager shader[Bearbeiten | Quelltext bearbeiten]
- bereits berechnete farben werden in etwas anderes transformiert
- zb: cartoon shader
shader variablen typen[Bearbeiten | Quelltext bearbeiten]
- float
- colour
- point
- string