Graphische Datenverarbeitung
|
|
|
- Cathrin Heinrich
- vor 9 Jahren
- Abrufe
Transkript
1 Texturen Prof. Dr.-Ing. Detlef Krömker Goethe-Universität, Frankfurt 1. Einführung 2. Diskrete und prozedurale Texturen 3. Generalisierte Textur-Pipeline 4. Texturmapping Ebene Polygone Zweischrittverfahren 5. Corresponder-Verfahren 6. Texturabtastung Aliasing Mipmap, SAT, FPA Übersicht 2
2 Übersicht (Fortsetzung) 7. Beeinflussung der Beleuchtungsrechnung 8. Environment-Mapping 9. Bump Mapping 10.Zusammenfassung 11.Glossar 12.Weitere Informationen 13.Ausblick Nächste Schritte 3 Texturierung 4
3 In der Realität finden wir ein großes Spektrum geometrischer Feinstrukturen Maserungen und Muster von Holz, Marmorplatten, Tapeten Wolken, Rauch, Strukturen unebenen Oberflächen z.b. Rauhputzwänden, rauhes Leder, Apfelsinen oder Baumstämmen Texturen im Hintergrund sichtbare Häuser, Maschinen, Pflanzen und Personen Die geometrische Form dieser Objekte durch Flächen exakt nachzubilden, ist um Größenordnungen zu aufwendig All it takes is for the rendered image to look right. [Jim Blinn] 5 Texturen bieten Möglichkeiten, das visuelle Erscheinungsbild von Objekten detailreicher zu gestalten. Texturen Die Oberfläche einer Wand kann durch eine einzige planare Fläche(ein Polygon) modelliert werden. Ein Tapezieren kann als Aufbringen eines Bildes auf die Wandoberfläche interpretiert werden. Diesen Vorgang bezeichnet man als Texturierung. 6
4 Texturabbildungen Erste einfache Definition: Zweidimensionale Texturen oder kurz 2D-Texturen sind Funktionen, die Punkte der (u,v)-ebene auf (r,g,b)-farben abbilden: ( r, g, b) = c ( u, v ) tex Das Mapping (engl.: Abbildung) beschreibt, wie eine 2D- Textur bzw. ein Ausschnitt aus einer 2D-Textur auf eine Fläche aufgebracht wird. Beim Rendering muß jedoch das inverse Mapping-Problem gelöst werden, d.h. den bekannten (x,y,z)-koordinaten des Flächenpunktes P müssen (u,v)-koordinaten zugeordnet werden: ( u, v) = F ( P) F ( x, y, z) inv map = inv map 7 Texturabbildungen 8
5 Texturabbildungen Die Texturierung einer Fläche mit einer 2D-Textur läßt sich dann mathematisch durch die Hintereinanderausführung dieser beiden Abbildungen beschreiben: ( r, g, b) = C ( F ( x, y, z)) tex invmap Dreidimensionale Texturen oder kurz 3D-Texturen sind Funktionen, die Punkte eines (u,v,w)-raumes auf (r,g,b)-farben abbilden: ( r, g, b) = C ( u, v, w ) tex 9 Texturabbildungen Sie werden auch als Festkörpertexturen bezeichnet. Häufig genannte Beispiele hierfür sind Holz- und Marmortexturen. Beim inversen Mapping ( r, g, b) = C ( u, v, w ) tex müssen den (x,y,z)-flächenpunkten (u,v,w)-koordinaten zugeordnet werden. Man kann dietexturierung mit 3D-Texturen auch so interpretieren, daß die Körper quasi aus dem (u,v,w)-texturkörper herausgeschnitzt werden. 10
6 Diskrete und prozedurale Texturen Wir unterscheiden zwischen diskreten und prozeduralen Texturen N-dimensionale diskrete Texturen werden als (N+1) dimensionale Zahlenfelder gespeichert. Ein (N+1)-dimensionales Zahlenfeld entspricht dabei einem N- dimensionalen Vektorfeld. Diskrete farbige 2D-Texturen der Breite n und Höhe m lassen sich so z.b. durch C( i, j ) 0 i n 0 j m beschreiben, wobei C[i,j] ein Vektor mit drei Farbkomponenten ist und als Texel (TEXtur ELement) bezeichnet wird. 11 Vorteile diskreter Texturen + das Generieren komplexer 2D-Texturen für die photorealistische Visualisierung geht vergleichsweise schnell und einfach, z.b. durch Fotografieren oder Malen. 12
7 Probleme diskreter Texturen (Diskussion anhand von 2D-Texturen) Texturen mit hoher Auflösung (n,m) haben einen hohen Speicherbedarf. Beim Vergrößern von Bildern treten Artefakte auf (Pixeleffekt) Fortsetzung (Aneinandersetzen, Vergrößern) von Texturen ist oft problematisch Der in den Bildern dargestellte Kontext (Sonnenstand, Schattenwurf,...) stimmt häufig nicht mit der geplanten Szene überein. Die Suche nach geeigneten Vorlagen kann dann sehr aufwendig sein. Beim Mapping auf beliebige Flächen treten Verzerrungen und infolgedessen Abtast-Probleme auf. 13 Probleme diskreter Texturen Resampling-Methoden: 1. nächstgelegener Nachbar (nearest neighbour) C tex C un, vm : u<1,v<1 C n 1, vm : u=1,v<1 ( u, v) = C un, m 1 : u<1,v=1 C n 1, m 1 : u=1,v=1 vm un i i
8 Probleme diskreter Texturen 2. Bilineare Interpolation uˆ = un un vˆ = vm vm C ˆ ˆ 0( u, v) = u* C un+ 1, vm + (1 u)* Cun, vm C ˆ ˆ 1( u, v) = u* C un+ 1, vm+ 1 + (1 u)* C un, vm+ 1 C u v vˆ C u v vˆ C u v tex(, ) = * 1(, ) + (1 )* 0(, ) vm +1 vm vm 3. Aufwendigere Filtern (später) un un un Abtastung diskreter 2D-Texturen Entspricht einem Resampling eines Digitalen Bildes Einfache Funktionen wie nearest neightbour bilinbeare Interpolation erzeugen gravierende Aliasing- Effekte 16
9 Beispiel (Minification) Abbildung einer Reihe Pixel auf eine Schachbrett-Textur 17 Probleme Pixellation oder Unschärfe (Magnification) Ausgangstextur: 32 x 64 Texels Nearest Neighbour bilineare Interpolation 18
10 Prozedurale Texturen Prozedurale Texturen werten bei jedem Aufruf von C tex ( u, v) bzw. Ctex( u, v, w) eine mathematische Formel bzw. einen (fraktalen) Algorithmus aus. Dies hat folgende Vorteile: + Der Speicheraufwand ist minimal. + Die Texturwerte können an jeder Stelle ( u, v) bzw. (u, v, w) mit optimaler Genauigkeit berechnet werden. + Die Texturen sind im gesamten Raum definiert. - Der entscheidende Nachteil prozeduraler Texturen ist, daß selbst Experten Probleme haben, komplexe Texturen, die sie bildlich vor Augen haben, durch mathematische Formeln zu beschreiben. (hilfreich sind auf jeden Fall gute Grundkenntnisse der Fourier-Synthese und der fraktalen Geometrie). 19 Generalisierte Textur-Pipeline (Beispiel 2D) (x,y) Berechne Objektraumkoordinaten Projektorfunktion Mapping Corresponder-Funktion Texturwert Transformation (x,y,z) (u,v) (s,t) (r,g,b)... Modifiziere Beleuchtungsgleichung 1. Aus 2D-Bildschirmkoordinaten in den 3D-Objektraum zurückprojezieren 2. Anwenden der Projektorfunktion: Mapping Planar, Kugel, Zylinder, Quader (box), bei parametrischen Flächen ggf. nicht nötig Bei Realtime-Renderer i.d.r. schon beim Modelling ausgeführt und (u,v)-werte, in den Vertices gespeichert und dann interpoliert. (Aber z.b. OpenGL stellt einige Projektionsmethoden zur Verfügung). 20
11 Generalisierte Textur-Pipeline (Beispiel 2D) Berechne Objektraumkoordinaten Projektorfunktion Corresponder-Funktion Texturwert- Abtastung & Anpassung Modifiziere Beleuchtungsgleichung (x,y) (x,y,z) (u,v) (s,t) (r,g,b) Corresponder- Funktion: Transformation vom Parameterraum zum Texturraum (-ebene) (Texturkoordinaten): Weitere Matrix-Transformation (OpenGL): translieren, rotieren, skalieren,... Fortsetzungsmodi: wrap (repeat, tile), mirror, clamp, border 4. Abtasten des Texturwertes und Wertanpassung 5. Modifiziere Beleuchtungsrechnung: Replace, Modulate (Multiplikation) den (r,g.b)-wert oder irgend einen anderen Parameter der Beleuchtungsgleichung (siehe unten) 21 Mapping (x,y) Berechne Objektraumkoordinaten Projektorfunktion Mapping Corresponder-Funktion Texturwert Transformation (x,y,z) (u,v) (s,t) (r,g,b)... Modifiziere Beleuchtungsgleichung K In der Regel sind jedem Eckpunkt eines polygonalen Modells Texturkoordinaten (u,v) beim Modelling zugeordnet also zum Zeitpunkt des Rendering bekannt K Rückprojektion und Mapping werden in der Regel zusammengefaßt K Gesucht ist eine Operation, die bilinear interpolierte (x,y)- Koordinaten auf (u,v) abbildet 22
12 Fehler bei einfacher Interpolation Wird die Texturierung in den Prozess der Rasterung integriert, so ist zu beachten, daß die Textur perspektivisch korrekt verzerrt wird. Einfache Interpolation der Texturwerte aus den Texturwerten an den Eckpunkten führt zu Artefakten. 23 Prinzip Inverses Mapping In homogenen Koordinaten kann das Inverse Mapping ausgedrückt werden durch: x' a b = y ' d e w g h bzw. dessen c u' f v ' mit (x, y) i q Inverse = x' y' (, w w )und(u, v) = u' v' (, ) (normalisi q q eren! ) u' v ' q = A D G B E H C x' F y ' I w Wenn die Transformationen der Eckpunkte eines Dreiecks bekannt sind, kann diese Matrix bestimmt werden. 24
13 In der Praxis: Inverses Mapping durch bilineare Interpolation Texturkoordinaten und z-wert oder Beleuchtungsparameter im Scanline-Modus interpolieren Aufgrund der perspektivischen Verzerrung kann dieses für (u,v) nicht linear erfolgen, sondern für ( u', v', q) mit u = u', q v = v', q q = 1 z 25 Texturierung komplexer Objektoberflächen Bisher wurde Textur-Mapping für ein einzelnes Polygon beschrieben. Besteht ein Objekt aus sehr wenigen Polygonen, dann kann ein Anwender diese Zuordnung der (u i,v i )-Parameter unter Umständen noch interaktiv am Bildschirm vornehmen. Bei komplexeren Objekten ist dies jedoch unmöglich. 26
14 Zweischrittverfahren (Two-Part Mapping) K Bier und Sloan (86 ) haben ein Zweischrittverfahren vorgestellt, das die (u,v)-berechnung automatisiert. K Grundidee: ein komplexes Objekt, das aus beliebig vielen primitiven Teilobjekten bestehen darf, wird mit einer einfach parametrisierbaren, virtuellen Fläche umhüllt. K Die 2D-Textur wird dann zunächst einmal auf diese umhüllende Fläche abgebildet, und erst von dort aus auf die Objektoberfläche. Geeignete umhüllende Flächen sind Zylinder-, Kugel- und Quaderoberflächen. 27 Zylinder-Mapping Beim Zylinder-Mapping wird das Objekt von einem endlichen Zylinder umhüllt. Die Berechnungen sind besonders einfach, wenn die Zylinderhauptachse parallel zur z-achse des Objektraumkoordinatensystems verläuft. Die Endpunkte der Achse sind dann durch die Koordinaten ( xcyl, xcyl, zcyl min ), ( x, x, z ) gegeben. cyl cyl cyl max Note: in Gleichungen y cyl... Die Zylinderoberfläche läßt sich leicht durch einen Rotationswinkel φ und die Höhe h parametrisieren. Punkte (x,y,z) im Innern des Zylinders werden dann senkrecht von der Zylinderachse aus auf die Zylinderoberfläche projiziert, und deren (φ,h)-parameter werden, nach entsprechender Normierung, als (u,v)-parameter interpretiert. 28
15 Kugel-Mapping Kugeloberflächen können leicht durch Kugelkoordinaten φ und θ parametrisiert werden. Hat eine umhüllende Kugel den Mittelpunkt (x s,y s,z s ), dann werden Punkte (x,y,z) im Kugelinnern vom Mittelpunkt aus auf die Kugeloberfläche projiziert. Dadurch werden ihnen die Parameter u und v zugeordnet: z π + arctan 2( y ys, x xs ) u = 2π θ 2 2 ( x xs + y ys z zs) arctan 2 ( ) ( ), v = π x φ y 29 Box-Mapping Beim Box-Mapping beschreibt die umhüllende Fläche einen Quader. In der Regel wählt man hierfür die achsenparallele Bounding Box des Objekts. Eine mögliche Parametrisierung von Punkten (x,y,z) im Innern der Bounding Box definiert einfach die längste Kante der Bounding Box als u-achse und die zweitlängste Kante als v-achse. Gilt also z.b. ( x x ) ( y y ) ( z z ) box,max box,min box,max box,min box,max box,min dann kann man die Texturparameter einfach durch x xbox,min y ybox u = und v = x x y y berechnen. box,max box,min z box,max,min box,min x u v y 30
16 Corresponder Funktion (x,y) Corresponder- Funktion: Transformation vom Parameterraum zum Texturraum (-ebene) (Texturkoordinaten): Berechne Objektraumkoordinaten Projektorfunktion Mapping Corresponder-Funktion Texturwert Transformation (x,y,z) (u,v) (s,t) (r,g,b)... Modifiziere Beleuchtungsgleichung Weitere Matrix-Transformation (OpenGL): translieren, rotieren, skalieren,... Nicht immer realisiert Fortsetzungsmodi: wrap (repeat, tile), mirror, clamp, border 31 Fortsetzungsmodi wrap mirror clamp border 32
17 Texturwert-Abtastung (x,y) Berechne Objektraumkoordinaten Projektorfunktion Mapping Corresponder-Funktion K Resampling des Texturwertes und ggf. Wertanpassung Texturwert Transformation (x,y,z) (u,v) (s,t) (r,g,b)... Modifiziere Beleuchtungsgleichung 33 Probleme Pixellation oder Unschärfe (Magnification) Ausgangstextur: 32 x 64 Texels Nearest Neighbour bilineare Interpolation 34
18 Abtastung diskreter 2D-Texturen Entspricht einem Resampling eines Digitalen Bildes Einfache Funktionen wie nearest neightbour bilinbeare Interpolation erzeugen gravierende Aliasing- Effekte 35 Filterung diskreter 2D-Texturen Die Projektion eines quadratischen Bildschirmpixels (Kantenlänge 1) auf die Texturebene, wird Footprint genannt (= beliebiges Viereck) und wird näherungsweise als ein Parallelogramm angenommen, das von den Vektoren u v t u v t r1 = (, ), r2 = (, ) x x y y aufgespannt wird. Bei den Echtzeitverfahren wird dieser Footprint nun durch einfachere Flächen ersetzt, für die die Summe oder der Mittelwert der dazugehörenden Texturwerte im voraus berechnet werden kann. 36
19 Beispiel (Minification) Abbildung einer Reihe Pixel auf eine Schachbrett-Textur 37 Mip-Mapping Das wichtigste und bekannteste Verfahren für Echtzeitanwendungen ist das Mip-Mapping-Verfahren. Eine Mip-Map C mip [i,j] speichert eine quadratische Textur C[i,j] der Größe n n, wobei n = 2 k eine Zweierpotenz sein muß, in fortlaufend halbierten Auflösungsstufen. 38
20 Auf der Stufe d=0 werden die Texturwerte direkt übernommen. 0 k Cmip[ i, j] = C[, i j], 0 i,j<2. Mip-Mapping Die übrigen Stufen d entstehen durch Filterung der jeweils vorhergehenden Stufe. d 1 d d d d Cmip[ i, j] = Cmip [2 i,2 j] + Cmip [2i+ 1,2 j] + Cmip [2 i,2 j+ 1] + Cmip [2i+ 1,2 j+ 1] 4 kd - 1 d < k-1 und 0 i, j< ( ) Auf der Stufe d der Texturhierarchie werden also 2 2d Texel der Originaltextur als ein einziges Texel dargestellt. 39 Mip-Mapping Nach dieser nur ein einziges Mal zu berechnenden Vorfilterung können beliebige Flächenelemente folgendermaßen texturiert werden: die Texturkoordinaten (u,v) des Pixelmittelpunkts und die Ableitungen nach den Bildschirmkoordinaten u v u v,,, x x y y gegeben. Dann hat die Projektion des quadratischen Pixels auf die Texturebene, also der Footprint, die Kantenlängen u u a = x + y 2 2 v v b = x + y 2 2. u x u y 40
21 Mip-Mapping Als Seitenlänge des quadratischen Footprints wählt man oft l=max(a,b). Das Maximum und nicht etwa der Mittelwert wird deshalb gewählt, weil die entstehende zusätzliche Verschmierung des Ergebnisbildes durch zu große Footprints eher in Kauf genommen werden kann als Aliasing durch zu kleine Footprints. Unter diesen Voraussetzungen kann der Gesamttexturwert auf der Stufe d= log 2 (l) gemäß d C ( u, v, d) = BiLinInt( C, u, v) tex berechnet werden. Dies geht natürlich nur, wenn d ein ganzzahliger Wert ist. Ist dies nicht der Fall, dann muß d entweder zum nächstgelegenen ganzzahligen Wert gerundet werden, oder aber man führt eine lineare Interpolation zwischen den beiden benachbarten Stufen d und d+1 durch. Als Ergebnis der sog. trilinearen Interpolation erhalten wir dann: C u v d d d BiLinInt C u v d d BiLinInt C u v 1 (,, ) ( )* ( d + d tex = mip,, ) + ( + 1 )* ( mip,, ). mip 41 Summed Area Tables (SAT) Die Richtungsabhängigkeit der Projektion (Anisotropie) des Footprints kann durch das Mip-Mapping gar nicht berücksichtigt werden. SAT erlauben anstatt der Approximation durch Quadrate (u,v)-achsenparallele Rechtecke zu verwenden und somit diesem Defizit etwas Rechnung zu tragen. u x u y Quadratische Approximation des Footprints beim MipMap-Verfahren 42
22 Summed Area Tables (SAT) Der Berechnungsaufwand der einfachsten Methode, das arithmetische Mittel über alle Texturwerte eines (u,v)-achsenparallele Rechtecks ((i 0,j 0 ),(i 1,j 1 )) zu berechnen, ist proportional zur Größe des Rechtecks: 1 1 Ci [, j] i= i0 j= j0 Cavg ( i0, j0, i1, j1) = ( i i + 1)( j j + 1) i Berechnet man dagegen in einem Vorverarbeitungsschritt eine sogenannte Summed-Area-Tabelle i j sat s s i= i j= j s s C ( i, j ) C[ i, j] = 0 0 j und setzt C [, i 1] = C [ 1, j] = 0, sat sat 43 Summed Area Tables (SAT) Dann kann C avg alternativ mit konstantem Berechnungsaufwand, unabhängig von der Rechteckgröße berechnet werden: C ( i, j, i, j ) = avg i 1 1 i= i j= j 0 0 Ci [, j] ( i i + 1)( j j + 1) j C i j i j C [ i, j ] C [ i 1, j ] C [ i, j 1] + C [ i 1, j 1] sat 1 1 sat 0 1 sat 1 0 sat 0 0 avg ( 0, 0, 1, 1) =. ( i1 i0 + 1)( j1 j0 + 1) 44
23 Footprint-Assembly (FPA) Die wesentliche Idee des FPA-Verfahrens besteht darin, die leicht und schnell zu erzeugenden Mip-Maps so einzusetzen, daß der näherungsweise als Parallelogramm angenommene Footprint möglichst genau abgedeckt wird. Auf diese Weise wird ein hoher Rechenaufwand vermieden und trotzdem eine anisotrope Texturfilterung erreicht. Das Problem besteht nun darin, den Footprint durch N quadratische Texturfelder (Mip-Map-Zugriffe) möglichst genau und mit geringem Rechenaufwand zu approximieren. C i j i j C [ i, j ] C [ i 1, j ] C [ i, j 1] + C [ i 1, j 1] sat 1 1 sat 0 1 sat 1 0 sat 0 0 avg ( 0, 0, 1, 1) =. ( i1 i0 + 1)( j1 j0 + 1) 45 Footprint-Assembly (FPA). Aus praktischen Gründen wird dabei N = 2 m gewählt, da auf diese Weise die endgültige Texturfarbe durch Aufsummieren und einfache Division durch eine Zweierpotenz (Shift) ermittelt werden kann. Für N kann eine Obergrenze angegeben werden, um die Rechenzeit ohne merkliche Qualitätseinbußen wesentlich zu verkürzen. 46
24 Footprint-Assembly (FPA) Für die Berechnung der Mip-Map-Stufe werden die Vektoren u v t u v t r1 = (, ), r2 = (, ) x x y y verwendet, die auch beim normalen Mip-Mapping zur Bestimmung der Stufe herangezogen werden. Dabei sind u,v die Texturkoordinaten und x,y die Bildschirmkoordinaten des Pixels. Ausgehend vom in die Texturebene projizierten Pixelmittelpunkt (u,v) erfolgen die Mip-Map-Zugriffe in Schritten entlang einer Geraden. Dabei wird der betragsmäßig größere der beiden Vektoren r 1 bzw. r 2 als Schrittrichtung r=(r u,r v ) t verwendet. Die Mip-Map-Stufe d ist dann durch die Kantenlänge l = min( r1, r2 ) als d = log 2( l) und die Anzahl der Mip-Map-Zugriffe durch N = max( r1, r2 ), l gerundet auf die nächstliegende Zweierpotenz, gegeben. 47 Footprint-Assembly (FPA) Mit Hilfe des Schrittvektors r=( u, v) der sich aus der Schrittrichtung durch ru rv u = und v = N N berechnet, können nun die Koordinaten (u n,v n ) für die einzelnen Zugriffe bestimmt werden: n ( un, vn) = ( u, v) + ( u, v), wobei n=± 1, ± 3, ± 5,...,( N 1). 2 Die Farbe des Pixels ergibt sich dann als arithmetischer Mittelwert aller Zugriffe. 48
25 Modifiziere Beleuchtungsrechnung (x,y) Berechne Objektraumkoordinaten Projektorfunktion Mapping Corresponder-Funktion Texturwert Transformation (x,y,z) (u,v) (s,t) (r,g,b)... K Potentiell ist jeder Parameter der Beleuchtungsrechnung beeinflußbar Modifiziere Beleuchtungsgleichung 49 Beeinflussung der Beleuchtungsrechnung Basis für die folgenden Betrachtungen : Erweiterte Blinn-Phong-Modell durchgeführt wird: i tot = aglob mamb + memi + k c k spot ( i k amb + d k ( i k diff + i k spec ) i i i amb diff spec = m amb = max( = max( s amb ( n l),0) mdiff sdiff mshi ( h n),0) mspec sspec l n h v 50
26 Beeinflussung der Beleuchtungsrechnung 1. Ersetzen der Objektfarbe durch Textur (replace) Bei dieser einfachsten Art der Texturierung wird die Objektfarbe durch die Farbe der Textur ersetzt. Jegliche Beleuchtung des Objekts wird entfernt, außer die Textur selbst enthält Beleuchtungseffekte. c out = c tex 2. A posteriori Skalierung des Farbwertes (modulate) Eine der am häufigsten angewandten Techniken führt die Beleuchtungsrechnung und das Shading mit konstanten Beleuchtungsparametern durch und skaliert den Beleuchtungswert i tot erst im nachhinein komponentenweise mit dem Texturwert c tex c out = i tot c wenn als Objektfarbe weiß gewählt wird, enthält diese die Schattierungsinformation und die Textur die Farbinformation des Objektes tex 51 Beeinflussung der Beleuchtungsrechnung 3. Modulation der Flächenfarbe Die Flächenfarbe wird im wesentlichen durch den Materialparameter m diff, im geringeren Maße aber auch durch den Parameter m amb bestimmt. Also zu setzen. m m diff amb = m = m diff ' c amb tex ' c tex Der wesentliche Unterschied zu 2. besteht darin, dass die spekularen Reflektionen und Emissionen von der Textur unbeeinflußt bleiben. 52
27 Beeinflussung der Beleuchtungsrechnung 4. Modulation der spekularen Reflektion m spec = m spec c tex Die Highlights können dadurch unregelmäßig gestaltet werden. Interessant ist diese Methode vor allem im Zusammenhang mit dem Reflection-Mapping und Environment-Mapping (später) 53 Beeinflussung der Beleuchtungsrechnung 5. Modulation der Transparenz Durch die Modulation des Transparenzparameters α = α * α obj tex können sehr realistisch aussehende Effekte erzielt werden: α=1 Objekte hinter diesem Flächenpixel sind vollständig sichtbar α=0 so wird kein Licht durchgelassen ansonsten wird mit dem Wert von α gefiltert. Bei Beschränkung auf die Werte 0 und 1 kann durch die Textur zwischen Sichtbarkeit und Unsichtbarkeit des Objekts ''umgeschaltet'' werden. Dadurch können auch kompliziert geformte Flächen aus einfachen Flächen ''ausgeschnitten'' werden. Mit stochastischen Werten für α können z.b. verschmutzte und milchige Glasscheiben modelliert werden. 54
28 Beeinflussung der Beleuchtungsrechnung 6. Perturbation des Normalenvektors Beim Bump Mapping wird mit Hilfe einer skalarwertigen Textur eine Offsetfläche P'(s,t) definiert. Die Normalenvektoren der Offsetfläche werden dann als Variationen der Normalenvektoren der Basisfläche interpretiert (siehe später) 7. Modulation von Lichtquellenparametern Eine weitere Möglichkeit besteht darin, Lichtquellenparameter durch Texturen zu beeinflussen. Besonders anschaulich ist dies bei Projektorlichtquellen. Dabei wird eine zweidimensionale Textur in den Raum projiziert, d.h. die Lichtemission wird in Abhängigkeit von der Lichtrichtung moduliert: Li ~ Ctex ( Finvmap ( L H i )). 55 Beeinflussung der Beleuchtungsrechnung 8. Höhenfelder und Offsetflächen Hierbei wird mit Hilfe von Texturen die tatsächliche Geometrie von Oberflächen verändert. Darauf beruht das sogenannte Displacement-Mapping. 9. U.v.a.m
29 Texturierung und Gouraud-Interpolation Bei Gouraud-interpolierten Dreiecken kann nur die Beleuchtungsrechnung 2. A posteriori Skalierung des Farbwertes (modulate) angewendet werden. Die Möglichkeit der alternativen oder auch kombinierten Anwendung der Texturierungen 3. bis 8. besteht nur bei Visualisierungsverfahren, die entweder eine explizite Beleuchtungsrechnung in jedem Flächenpunkt durchführen oder die verschiedenen Anteile der Phong Beleuchtungsgleichung getrennt durch Gouraud-Interpolation berechnen. 57 Environment Mapping (Reflection Mapping) eine einfache Möglichkeit, Reflektionen (zumindest approximativ) mit Hilfe von Textur-Hardware zu berechnen. Grundidee: Ist ein Objekt verglichen mit dem Abstand zu umgebenden Objekten klein, so hängt die einfallende Beleuchtsstärke nur von der Richtung, nicht von der Position eines Punktes auf dem Objekt ab. Daher kann die einfallende Beleuchtung für ein Objekt vorberechnet und in einer 2D-Textur, der Environment Map gespeichert werden. 58
30 Environment Mapping Anschaulich wird das reflektierende Objekt von einer virtuellen Kugel (oder auch virtueller Würfel) umgeben, auf deren Innenseite die Szenenumgebung als zweidimensionale Textur, die Environment Map) aufgetragen ist. Einem Punkt P auf der Objektoberfläche werden dann Texturkoordinaten (u,v) zugeordnet. Die Richtung R und damit die Texturkoordinaten (u,v) können einfach aus der Richtung V zur Kamera und der Normale N in Punkt P berechnet werden: R = V 2(VN)N V N R ( uv, ) R P W 59 Environment Mapping Für die Beleuchtungsrechnung wird ein erweitertes Phong-Beleuchtungsmodell, das auch Reflektionen berücksichtigt angewendet: k k k k k i tot = aglob mamb + memi + cspot ( iamb + d ( idiff + ispec ) + kireflmap( φθ ) k Vorteile des Environment Mapping + schnell und einfach zu berechnen + liefert gute Visualisierungsergebnisse, wenn die Textur z.b. den Himmel oder einen weit entfernten Horizont repräsentiert. + kann verwendet werden, um große ausgedehnte Lichtquellen als Textur darzustellen. 60
31 Environment Mapping Nachteile - Wie wird die Environment Map generiert und parametrisiert? - Die Reflektionsberechnung ist nur dann korrekt, wenn der Objektpunkt P sich im Weltmittelpunkt W befindet. Mit zunehmendem Abstand zwischen P und W treten verstärkt Verzerrungen auf. 61 Environment Mapping Ist die Environment Map schlecht parametrisiert, können erhebliche Aliasing- Probleme auftreten. - Es wird keine Verdeckungsrechnung durchgeführt. Das Problem, daß der reflektierte Strahl R auf ein blockierendes Szenenobjekt treffen kann, wird ignoriert. - Szenenobjekte können sich nicht gegenseitig widerspiegeln. Bei der Reflektionsberechnung wird nur die a priori berechnete Environment Map berücksichtigt. 62
32 Parametrisierung von Environment Maps Blinn, Newell 1976 verwenden Kugelkoordinaten zur Parametrisierung der Environment Map. Diese werden dann als Texturkoordinaten auf dem Objekt verwendet. Ist der Reflektierte Strahl R=(R x,r y,r z ) gegeben, so berechnen sich (φ,θ) analog wie beim Kugel-Mapping gemäß z θ = arccos( Rz ) θ arccos( Rx / sin θ ), falls Ry 0 φ = φ 2π arccos( Rx / sin θ), sonst x y 63 Parametrisierung von Blinn und Newell + Einfach verständlich, älteste Parametrisierung. Die Erzeugung der Environment Map ist kompliziert. In der Praxis wird meist eine Environment Map, die auf den Innenseiten eines Würfels aufgebracht ist, entsprechend umgerechnet. - Die Parametrisierung mittels Kugelkoordinaten ist schlecht. Um die Pole liegen wesentlich mehr Texel/Fläche als am Äquator. Das führt zu einer schlechten Abtastung. - Wird gegenwärtig nicht von Hardware unterstützt. - Ein Dreieck, das den Pol enthält, enthält den Pol nicht mehr, wenn linear in Polarkoordinaten interpoliert wird. - Schneidet ein Dreieck die Linie mit φ=0, so schneidet ein linear interpoliertes Dreieck diese nicht mehr. 64
33 Parametrisierung von Greene Greene 1986 verwendet anstatt der Projektion der Umgebung auf eine Kugel eine Projektion auf einen Würfel. Die Environment Map besteht aus 6 ebenen Texturen entsprechend den 6 Würfelseiten. Zur Erzeugung wird eine Kamera in der Mitte des Würfels platziert und 6 Aufnahmen in jede Richtung gemacht. In der Praxis wird die Szene ausgehend vom Mittelpunkt des Objekts 6 mal mit unterschiedlichen Blickrichtungen gerendert. Je nach Richtung des reflektierten Strahls wird eine der 6 Texturen ausgewählt. + Die Parametrisierung ist regelmäßiger eine Kugelkoordinatenparametrisierung. + Die Environment Map kann einfach mit Hilfe von Hardware erzeugt werden. 65 Parametrisierung von Environment Maps Die Projektion auf einen Würfel hat auch Nachteile: -Liegen die Texturkoordinaten von Eckpunkten von Dreiecken des Objekts in unterschiedlichen Würfelseiten, so ist es schwierig dazwischen zu interpolieren. Eine Methode ist, diese Dreiecke entsprechen zu unterteilen. - Filterung und bilineare Interpolation entlang Würfelkanten ist schwierig. -Noch nicht in Hardware implementiert. 66
34 Parametrisierung von Environment Maps Die Environment Map ist abhängig vom Objektmittelpunkt! 67 Environment Mapping Anschaulich wird das reflektierende Objekt von einer virtuellen Kugel umgeben, auf deren Innenseite die Szenenumgebung als zweidimensionale Textur, die Environment Map) aufgetragen ist. Einem Punkt P auf der Objektoberfläche werden dann Texturkoordinaten (u,v) zugeordnet. Die Richtung R und damit die Texturkoordinaten (u,v) können einfach aus der Richtung V zur Kamera und der Normale N in Punkt P berechnet werden: beim Reflektion Mapping (Blinn, Newell 1976) z.b. die Kugelkoordinaten (φ,θ), R = V 2( VCN) N 68
35 Sphere Mapping OpenGL unterstützt Environment Mapping mit der sogenannten Sphere Map. Dabei wird die gesamte umhüllende Kugel des Objekts, auf deren Innenseite wie beim Standard Environment Mapping die Textur der Umgebung aufgebracht ist, auf einen Kreis abgebildet: R V N V Bild, Textur R 69 Sphere Mapping Rückseite Vorderseite Linke Seite Rechte Seite Oben Unten Abbildung von 6 Würfelseiten auf eine Sphere Map 70
36 Berechnung einer Sphere Map 71 Sphere Mapping Berechnung von Texturkoordinaten in einem Punkt P des Objekts: Sei R = (R x,r y,r z ) t die Richtung des reflektierten Strahls (sie ist abhängig von der aktuellen Beobachtungsrichtung!). Dann berechnen sich die Texturkoordinaten (u,v) t wie folgt. Für den reflektierten Strahl gilt: R = 2( VCN) N V mit N=(N x,n y,n z ) t =(u,v,n z ) t und V=(0,0,1). Daraus folgt R v Rx 0 u u 0 2Nzu Ry = 2 0 v v 0 = 2Nzv 2 R z 1 N z N z 1 2Nz 1 ( u, v) V N P Auflösen nach u und v liefert u R R x y u =, v= 2( R + 1) 2( R + 1) z z 72
37 Vor/Nachteile -Interpolation der Texturkoordinaten führt zu Artefakten. - Unregelmäßige Abtastung: Maximale Abtastraten in Richtungen entgegender Beobachtungsrichtung, Abtastrate in Richtung der Beobachtungsrichtung geht gegen 0. In Beobachtungsrichtung hat die Parametrisierung eine Singulartität. - Aliasing Probleme vor allem am Rand. Relativ gute Abtastung. Beabsichtigte Interpolation Tatsächliche Interpolation mit Hardware, Wrapping Effekt 73 Dual-Parabolisches Mapping Heidrich und Seidel (1999) verwenden als reflektierendes Objekt anstatt einer Kugel zwei Paraboloide f( x, y) = ( x + y ), x + y Im Gegensatz zum Sphere-Mapping, wo die gesamte Umgebung in einer Textur abgelegt wird, werden zwei Texturen verwendet. Eine für die Halbkugel entgegen der Blickrichtung (hinten) und eine in Blickrichtung (vorne). Für die Normale im Punkt (x,y) ergibt sich: N N = x x 1 y + y
38 Dual-Parabolisches Mapping Berechnung von Texturkoordinaten in einem Punkt P des Objekts: Sei R = (R x,r y,r z ) t die Richtung des reflektierten Strahls (sie ist abhängig von der aktuellen Beobachtungsrichtung!). Dann berechnen sich die Texturkoordinaten (u,v) t wie folgt. Für den reflektierten Strahl gilt: R = 2( VCN) N V Frontside mit N=(N x,n y,n z ) t 1 t = 2 2 und V=(0,0,-1). Daraus folgt u ( uv,,1) + v + 1 v 2 u 2 2 R x u u u + v + ( u, v) 1 2 Ry 2 0 v v 0 v = u v 1 = u v 1 R z u u + v + 1 R R x y Auflösen nach u und v liefert u =, v= 1 R 1 R z z V R N P 75 Vor-und Nachteile + Dual-parabolic Maps lassen sich mit einfachen Matrizenoperationen für unterschiedliche Blickrichtungen umrechnen. D.h. sie sind blickpunktsabhängig. + Wesentliche gleichmäßigere Abtastung als beim Sphere-Mapping. + Weniger Aliasing Probleme. - Interpolation der Texturkoordinaten führt zu Artefakten. - Noch nicht in Hardware verfügbar. Würfel auf Dual-Parabolische Maps abgebildet. 76
39 Bump Mapping Mit den bisher beschriebenen Texturierungstechniken können nur Materialparameter variiert und Beleuchtungsergebnisse skaliert werden. Beleuchtete Flächen sehen dadurch bereits sehr viel variantenreicher und damit auch realistischer aus, trotzdem wirken sie häufig immer noch zu glatt. 77 Bump Mapping Gesucht ist daher eine einfache Technik, mit deren Hilfe Flächen rauh, runzlig, zerknittert oder gekräuselt erscheinen. Wollte man diese kleinen Unebenheiten geometrisch exakt modellieren, so könnte man z.b. zu einer gegebenen parametrischen Grundfläche P(u,v) ein zweidimensionales Höhenfeld h(u,v) addieren und würde so die Offsetfläche erhalten. Nuv (, ) P ( u, v) = P( u, v) + h( u, v) Nuv (, ) 78
40 Bump Mapping Für kleine Höhenwerte ist dieser Ansatz jedoch zu rechenaufwendig. Außerdem zeigt das Phong-Beleuchtungsmodell, daß die exakten geometrischen Positionen der Flächenpunkte P(u,v) bzw. P'(u,v) gar nicht direkt in die Beleuchtungsrechnung eingehen. Viel wichtiger sind die Normalenvektoren N(u,v). Die wesentliche Idee der Bump-Mapping-Technik besteht konsequenterweise darin, daß es für kleine Unebenheiten h(u,v) ausreicht, die Visualisierung mit der Originalgeometrie P(u,v) durchzuführen, bei der Beleuchtungsrechnung aber die Normalen N'(u,v) der Offsetfläche zu verwenden. Diese Normalenvektoren können durch N ( u, v) = P ( u, v) P( u, v) berechnet werden. u v 79 Bump Mapping Die Richtungsableitungen erhält man mit den bekannten Summen- und Kettenregeln: Nuv (, ) Nuv (, ) P u( u, v) = Pu( u, v) + hu( u, v) + h( u, v) Nuv (, ) Nuv (, ) u Nuv (, ) Nuv (, ) P v( uv, ) = Pv( uv, ) + hv( uv, ) + huv (, ) Nuv (, ) Nuv (, ) v Für kleine Werte h(u,v) können die hinteren Teilterme ignoriert werden: Nuv (, ) P u( u, v) Pu( u, v) + hu( u, v) Nuv (, ) Nuv (, ) P v( u, v) Pv( u, v) + hv( u, v) Nuv (, ) 80
41 Bump Mapping Für N (u,v) folgt damit: N N N N N = Pu Pv + hu Pv hv Pu huhv N + N + N N = N + D, mit N N hu( N Pv) hv( Pu N) D= hu Pv + hv Pu = N N N Die zweidimensionale Bump Map h(u,v) ist dabei in der Regel als diskretes Zahlenfeld bzw. als Grauwertbild gegeben. In diesem Fall werden die Richtungsableitungen h u und h v durch hu ( + uv, ) huv (, ) hu ( u, v) = u huv (, + v) huv (, ) hv ( u, v) = v berechnet. 81 Bump Mapping Das Bump Mapping kann nur mit denjenigen Beleuchtungsverfahren kombiniert werden, die eine explizite Beleuchtungsrechnung in jedem Flächenpunkt durchführen. Beispiele hierfür sind das Phong-Shading- und das Raytracing-Verfahren. Das Gouraud-Shading-Verfahren erfüllt diese Bedingung jedoch nicht wurde ein Bump-Mapping-Verfahren für Hardware vorgestellt. 82
42 Zusammenfassung K Fassen Sie das Gelernte zusammen. K Definieren Sie Anwendungsmöglichkeiten für das Gelernte. K Erbitten Sie Feedback zur Schulungsveranstaltung
43 Glossar K Glossar der Begriffe K Definieren Sie die Fachausdrücke, wie sie zu diesem Thema verwendet werden
44 Weitere Informationen K Nennen Sie Bücher, Artikel, elektronische Quellen. K Beratungsdienste, andere Quellen 87 Ausblick Nächste Schritte K Ergänzungen,... K Wie geht es weiter Nächstes Kapitel 88
Inhaltsverzeichnis - Themen
Inhaltsverzeichnis - Themen 1 Hardwaregrundlagen 2 Transformationen und Projektionen 3 Repräsentation und Modellierung von Objekten 4 Visibilität und Verdeckung 5 Rasterung 6 Rendering 7 Abbildungsverfahren
(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU
(7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung
Programmierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Beleuchtungsmodelle in OpenGL Bump-Maps zur Erzeugung von Reliefartigen Oberflächen Height-Maps
"rendern" = ein abstraktes geometrisches Modell sichtbar machen
3. Grundlagen des Rendering "rendern" = ein abstraktes geometrisches Modell sichtbar machen Mehrere Schritte: Sichtbarkeitsberechnung Beleuchtungsrechnung Projektion Clipping (Abschneiden am Bildrand)
Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering
Probelektion zum Thema Shadow Rendering Shadow Maps Shadow Filtering Renderman, 2006 CityEngine 2011 Viewport Real reconstruction in Windisch, 2013 Schatten bringen viel Realismus in eine Szene Schatten
19.09.2014. 2D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen
2D-Texturen Texturarten Transformationen Generierung Thomas Jung Reflectance Mapping 3D-Texturen Modellierung von Details erfordert Zeit Darstellung ist aufwendig (langsam) Details belegen Speicherplatz
Überblick Echtzeit-Rendering. Uwe Domaratius [email protected]
Überblick Echtzeit-Rendering Uwe Domaratius [email protected] Gliederung 1. Einleitung 2. geometriebasierende Verbesserungen 3. Level-of-Detail 4. Culling 5. Texturen 6. bildbasiertes Rendering Was
Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung
Computergrafik 2010 Oliver Vornberger Kapitel 18: Beleuchtung 1 Ausgangslage am Ende der Viewing Pipeline liegt vor: P A Materialeigenschaften P B P C 2 Beleuchtungmodelle lokal: Objekt, Lichtquellen,
entspricht der Länge des Vektorpfeils. Im R 2 : x =
Norm (oder Betrag) eines Vektors im R n entspricht der Länge des Vektorpfeils. ( ) Im R : x = x = x + x nach Pythagoras. Allgemein im R n : x x = x + x +... + x n. Beispiele ( ) =, ( 4 ) = 5, =, 4 = 0.
Rendering: Lighting & Shading
Hauptseminar How to make a Pixar Movie WS 2010 / 2011 Rendering: Lighting & Shading von Manuel Schmidt Gliederung: 1 Einführung 1.1 Rendering 1.2 Reflektionsmodelle 1.2.1. Diffuse Reflektion 1.2.2. Spieglende
Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar
Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung
Texture Based Direct Volume Rendering
Texture Based Direct Volume Rendering Vorlesung: "Advanced Topics in Computer Graphics" [email protected] 1 Agenda 1. Einleitung Volume Rendering 1.1. Volumendatensatz 1.2. Volumenintegral 1.3. Image order
Real-Time High-Dynamic Range Texture Mapping
Real-Time High-Dynamic Range Texture Mapping Jonathen Cohen, Chris Tchou, Tim Hawkins and Paul Debevec Präsentiert von Daniel Wickeroth Einführung Worum geht s? Darstellung realistischer Szenen Innen -
3.3 Beleuchtung und Schattierung
3.3 Beleuchtung und Schattierung Die Beleuchtung einer Szenerie kann lokal oder global modelliert werden Ein lokales Beleuchtungsmodell berechnet die Intensität bzw. Farbe eines Objektpunkts abhängig vom
:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese
Geometrisches Modell bestehend aus Datenstrukturen zur Verknüpfung geometrischer Primitive, welche eine Gesamtszene beschreiben Bildsynthese := Modellabbildung Pixelbasiertes Modell zur Darstellung eines
Die Grundlagen des Texture Mapping
Die Grundlagen des Texture Mapping Sascha Vöhringer Zusammenfassung In folgender Arbeit werden zusammenfassend die Grundlagen, die Funktionsweise und die Motivation für Texture Mapping erläutert. In Abschnitt
2.4A. Reguläre Polyeder (Platonische Körper)
.A. Reguläre Polyeder (Platonische Körper) Wie schon in der Antike bekannt war, gibt es genau fünf konvexe reguläre Polyeder, d.h. solche, die von lauter kongruenten regelmäßigen Vielecken begrenzt sind:
WS 2010/ Januar Mathematisches Institut der Universität München Prof. Dr. Rudolf Fritsch
Mathematisches Institut der Universität München Prof. Dr. Rudolf Fritsch WS 2010/2011 14. Januar 2011 Geometrie mit Übungen Übungsblatt 9, Musterlösungen Aufgabe 33. Es werden Kreise in der Euklidischen
4. Kapitel 3D Engine Geometry
15.11.2007 Mathematics for 3D Game Programming & Computer Graphics 4. Kapitel 3D Engine Geometry Anne Adams & Katharina Schmitt Universität Trier Fachbereich IV Proseminar Numerik Wintersemester 2007/08
(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)
3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten
Kapitel D : Flächen- und Volumenberechnungen
Kapitel D : Flächen- und Volumenberechnungen Berechnung einfacher Flächen Bei Flächenberechnungen werden die Masse folgendermassen bezeichnet: = Fläche in m 2, dm 2, cm 2, mm 2, etc a, b, c, d = Bezeichnung
Krümmungsapproximation auf 3D-Modellen
Krümmungsapproximation auf 3D-Modellen Mathematische Grundlagen und Approximation Christian Cyrus Matrikelnummer 157707 Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Diese Ausarbeitung
Bildrekonstruktion & Multiresolution
Bildrekonstruktion & Multiresolution Verkleinern von Bildern? Was ist zu beachten? Es kann aliasing auftreten! Das Abtasttheorem sagt wie man es vermeidet? ===> Page 1 Verkleinern von Bildern (2) Vor dem
1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen
3D-Rendering Ulf Döring, Markus Färber 07.03.2011 1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen Anzeigefläche (a) Worin besteht das Sichtbarkeitsproblem?
Darstellung von Kurven und Flächen
Darstellung von Kurven und Flächen Proseminar Computergraphik, 10. Juni 2008 Christoph Dähne Seite 1 Inhalt Polygonnetze 3 Knotenliste 3 Kantenliste 3 Parametrisierte kubische Kurven 4 Definition 4 Stetigkeit
Tropische Kurven zählen. Enumerative Geometrie. Alg. Geometrie. Beispiel Strategie. Geometrie. Kurven Multiplizität Correspondence Theorem Ergebnisse
Alg. Ebene e Hannah Markwig Technische Universität Kaiserslautern 6. Juli 2006 Alg. Inhalt 1 () 2 3 Der Algorithmus zum Zählen ebener 4 Der Algorithmus Alg. Algebraische Geometrische Objekte sind Nullstellengebilde
VHDL - Grundlagen des Pointrenderings
VHDL - Grundlagen des Pointrenderings Marc Reichenbach, Timo Nieszner Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 2013 1 / 25 Rendern von Dreiecksnetzen Quelle: Inf9, CG-Slides grobmaschiges
Christina Nell 3D-Computergrafik Seminararbeit im Hauptseminar Grafikprogrammierung. Universität Ulm Sommersemester 2008
Christina Nell 3D-Computergrafik Seminararbeit im Hauptseminar Grafikprogrammierung Universität Ulm Sommersemester 2008 1 Inhalt 1 Einleitung 3 2 Beleuchtung 2.1 Grundlagen 2.2 Beleuchtung 2.3 Shading
1 Vorlesungen: und Vektor Rechnung: 1.Teil
1 Vorlesungen: 4.10.005 und 31.10.005 Vektor Rechnung: 1.Teil Einige in der Physik auftretende Messgrößen sind durch eine einzige Zahl bestimmt: Temperatur T K Dichte kg/m 3 Leistung P Watt = J/s = kg
Graphische Datenverarbeitung und Bildverarbeitung
Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Clippen in 2D und 3D Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 1 Einordnung in die Inhalte der Vorlesung Einführung
Sollten sich (Flüchtigkeits )Fehler eingeschlichen haben, bitte ich um eine kurze Nachricht an hans
Sollten sich (Flüchtigkeits )Fehler eingeschlichen haben, bitte ich um eine kurze Nachricht an hans [email protected] Abitour Analytische Geometrie Leistungskurs Aufgaben 1. Welche Lagebeziehungen zwischen
Grundlagen der Computer-Tomographie
Grundlagen der Computer-Tomographie Quellenangabe Die folgenden Folien sind zum Teil dem Übersichtsvortrag: imbie.meb.uni-bonn.de/epileptologie/staff/lehnertz/ct1.pdf entnommen. Als Quelle für die mathematischen
Bildtransformationen. Geometrische Transformationen Grauwert-Interpolation
Bildtransformationen Geometrische Transformationen Grauwert-Interpolation Transformation Transformation zwei Schritte geometrische Transformation (Trafo der Koordinaten) Neuberechnung der Pielwerte an
Photonik Technische Nutzung von Licht
Photonik Technische Nutzung von Licht Raytracing und Computergraphik Überblick Raytracing Typen von Raytracern z-buffer Raytracing Lichtstrahlen-Verfolgung (engl. ray tracing): Berechnung von Lichtstrahlen
Mathematik für das Ingenieurstudium
Mathematik für das Ingenieurstudium von Martin Stämpfle, Jürgen Koch 2., aktual. Aufl. Hanser München 2012 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 43232 1 Zu Inhaltsverzeichnis schnell
Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr
8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen
Kapitel 5 Untermannigfaltigkeiten. 5.1 Glatte Flächen in R 3
Kapitel 5 Untermannigfaltigkeiten 5.1 Glatte Flächen in R 3 Bisher haben wir unter einem glatten Weg im R n stets eine differenzierbare Abbildung γ:i R n, definiert auf einem Intervall I R, verstanden.
Ministerium für Schule und Weiterbildung NRW M LK HT 4 Seite 1 von 11. Unterlagen für die Lehrkraft. Abiturprüfung Mathematik, Leistungskurs
Seite von Unterlagen für die Lehrkraft Abiturprüfung 0 Mathematik, Leistungskurs. Aufgabenart Lineare Algebra/Geometrie ohne Alternative. Aufgabenstellung siehe Prüfungsaufgabe 3. Materialgrundlage entfällt
Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete
Kapitel 0 Einführung 0.1 Was ist Computergrafik? Software, die einen Computer dazu bringt, eine grafische Ausgabe (oder kurz gesagt: Bilder) zu produzieren. Bilder können sein: Fotos, Schaltpläne, Veranschaulichung
Erweiterung: Flächeninhalt mit Vorzeichen. a b, P, Q, R gegen Uhrzeigersinn a b, P, Q, R im Uhrzeigersinn
Flächeninhalte Flächeninhalt eines Dreiecks: R A(PQR)= 1 2 = 1 2 a b sin α a b P b α a c Q Erweiterung: Flächeninhalt mit Vorzeichen A(PQR)= 1 2 1 2 a b, P, Q, R gegen Uhrzeigersinn a b, P, Q, R im Uhrzeigersinn.
Inhaltsverzeichnis. 1 Hardwaregrundlagen
Inhaltsverzeichnis 1 Hardwaregrundlagen 2.4 2.5 Perspektivische 2.6 Parallele 2.7 Umsetzung der Zentralprojektion 2.8 Weitere 2.9 Koordinatensysteme, Frts. 2.10 Window to Viewport 2.11 Clipping 3 Repräsentation
Computergraphik Grundlagen
Computergraphik Grundlagen V. Die Rendering-Pipeline Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik Inhalt Lernziele 1. Der Begriff Rendering 2. Die Rendering-Pipeline Geometrische Modellierung
Übersicht der Vorlesung
Übersicht der Vorlesung. Einführung. Bildverarbeitung. Morphologische Operationen 4. Bildsegmentierung 5. Merkmale von Objekten 6. Klassifikation 7. Dreidimensionale Bildinterpretation 8. Bewegungsanalyse
9.2 Invertierbare Matrizen
34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen
computer graphics & visualization
Entwicklung und Implementierung echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs Motivation
Jürgen Roth Didaktik der Linearen Algebra und Analytischen Geometrie
Jürgen Roth Didaktik der Linearen Algebra und Analytischen Geometrie Modul 12a: Fachdidaktische Bereiche juergen-roth.de/lehre/did_linalg_anageo/ Kapitel 5: Skalarprodukt 5.1 Inhalte Didaktik der Linearen
3. Schnittebenenverfahren
3. Schnittebenenverfahren Themen 3. Schnittebenenverfahren Ganzzahlige lineare Programmierung Schnittebenenverfahren Konstruktion von Schnittebenen Auswahl von Schnittrestriktionen Operations Research
3 Vektoren. 3.1 Kartesische Koordinaten in Ebene und Raum. Höhere Mathematik 60
Kartesische Koordinaten in Ebene und Raum 3 Vektoren 3.1 Kartesische Koordinaten in Ebene und Raum In der Ebene (mathematisch ist dies die Menge R 2 ) ist ein kartesisches Koordinatensystem festgelegt
Non-Photorealistic Rendering
Übersicht 1. Motivation und Anwendungen 2. Techniken - Cel Shading - Konturlinien - Hatching Einführung Traditionelle Computergraphik Ziel: Fotorealismus Einführung Motivation Bewusste Vermeidung von
y x x y ( 2x 3y + z x + z
Matrizen Aufgabe Sei f R R 3 definiert durch ( ) x 3y x f = x + y y x Berechnen Sie die Matrix Darstellung von f Aufgabe Eine lineare Funktion f hat die Matrix Darstellung A = 0 4 0 0 0 0 0 Berechnen Sie
Lineare Gleichungssysteme
Christian Serpé Universität Münster 14. September 2011 Christian Serpé (Universität Münster) 14. September 2011 1 / 56 Gliederung 1 Motivation Beispiele Allgemeines Vorgehen 2 Der Vektorraum R n 3 Lineare
3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, 2006-12-14. Kore Nordmann <[email protected]>
3D rendering Introduction and interesting algorithms PHP Usergroup Dortmund, Dortmund, 2006-12-14 Kore Nordmann Speaker Kore Nordmann Studies computer science at the University Dortmund
Terrain-Rendering mit Geometry Clipmaps
Vorarbeiten & Grundlagen Basiskomponenten Der Clipmap-Algorithmus Terrain-Rendering mit Seminar Computergrak 2010 Vorarbeiten & Grundlagen Basiskomponenten Der Clipmap-Algorithmus Worum geht's? Algorithmus
Nichtlineare Gleichungssysteme
Kapitel 2 Nichtlineare Gleichungssysteme Problem: Für vorgegebene Abbildung f : D R n R n finde R n mit oder ausführlicher f() = 0 (21) f 1 ( 1,, n ) = 0, f n ( 1,, n ) = 0 Einerseits führt die mathematische
Teil 1: Modellierung. Einleitung. 3D Szene Inhalt. Objekte und ihre Beschreibung
Objekte und ihre Beschreibung Einleitung Computergraphik: 3D sehr wichtig photo-realistic rendering Computer-Animation, Modellierung Visualisierung, Virtual Reality Ansatz: per rendering wird eine 3D-Szene
geschlossene Schachtel mit einem kleinen Loch
Kameramodellierung Lochkamera Kamerakonstante Kamerazentrum geschlossene Schachtel mit einem kleinen Loch ideale Kamera: Loch hat keine Ausdehnung die Strahlen sind ein Büschel von Geraden Abbildung erfolgt
Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17
Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),
Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian. Dauer: 30 min jeweils. Note: 1.
Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian Dauer: 30 min jeweils Note: 1.0 jeweils Alles in allem eine lockere Atmosphäre, man bekommt genug Papier und
Und so weiter... Annäherung an das Unendliche Lösungshinweise
Stefanie Anzenhofer, Hans-Georg Weigand, Jan Wörler Numerisch und graphisch. Umfang einer Quadratischen Flocke Abbildung : Quadratische Flocke mit Seitenlänge s = 9. Der Umfang U der Figur beträgt aufgrund
Minimalziele Mathematik
Jahrgang 5 o Kopfrechnen, Kleines Einmaleins o Runden und Überschlagrechnen o Schriftliche Grundrechenarten in den Natürlichen Zahlen (ganzzahliger Divisor, ganzzahliger Faktor) o Umwandeln von Größen
2. VEKTORANALYSIS 2.1 Kurven Definition: Ein Weg ist eine stetige Abbildung aus einem Intervall I = [a; b] R in den R n : f : I R n
2. VEKTORANALYSIS 2.1 Kurven Definition: Ein Weg ist eine stetige Abbildung aus einem Intervall I = [a; b] R in den R n : f : I R n f ist in dem Fall ein Weg in R n. Das Bild f(t) des Weges wird als Kurve
Darstellung dreidimensionaler Figuren in der Ebene. Schrägbild
Mathematik Bl Darstellung dreidimensionaler Figuren in der Ebene Schrägbild Das Bild bei einer schrägen Parallelprojektion heisst Schrägbild und wird durch folgende Merkmale bestimmt: - Zur Zeichenebene
Licht und Schatten Visualieren mit dem PC. Andreas Asperl
Licht und Schatten Visualieren mit dem PC Andreas Asperl Visualisieren Grundlagen der Visualisierung Lichteinflüsse Materialien Anwendungen Tipps und Tricks Grundlagen der Visualisierung In der Computergraphik
(x 1. Vektoren. g: x = p + r u. p r (u1. x 2. u 2. p 2
Vektoren Mit der Vektorrechnung werden oft geometrische Probleme gelöst. Wenn irgendwelche Aufgabenstellungen geometrisch darstellbar sind, z.b. Flugbahnen oder Abstandsberechnungen, dann können sie mit
Im Original veränderbare Word-Dateien
Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik
Iterative Methods for Improving Mesh Parameterizations
Iterative Methods for Improving Mesh Parameterizations Autoren: Shen Dong & Michael Garland, SMI 07 Nicola Sheldrick Seminar Computergrafik April 6, 2010 Nicola Sheldrick (Seminar Computergrafik)Iterative
Oktaeder. Bernhard Möller. 22. Dezember 2010
Oktaeder Bernhard Möller. Dezember 00 Ein Oktaeder ist ein regelmäßiges Polyeder, dessen Oberfläche aus acht kongruenten, gleichseitigen Dreiecken besteht. Jedes Oktaeder kann einem Würfel so einbeschrieben
Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997
Raytracing Schlussbericht Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 bei Betreuer Marco Manzi, Institut für Informatik und angewandte Mathematik Inhalt Fragestellung...
2D-Transformationen. Kapitel 6. 6.1 Translation. 6.2 Skalierung
Kapitel 6 2D-Transformationen Mit Hilfe von Transformationen ist es möglich, die Position, die Orientierung, die Form und die Größe der grafischen Objekte zu manipulieren. Transformationen eines Objekts
Morphologische Bildverarbeitung II
FAKULTÄT FÜR MATHEMATIK UNIVERSITÄT ULM ABT. STOCHASTIK ABT. ANGEWANDTE INFORMATIONSVERARBEITUNG Seminar Simulation und Bildanalyse mit Java Morphologische Bildverarbeitung II BETREUER: JOHANNES MAYER
1 Zahlentheorie. 1.1 Kongruenzen
3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern
mayasketche.book Seite 58 Dienstag, 18. September 2001 4:27 16 KNUBBELMÄNNCHEN
1 mayasketche.book Seite 58 Dienstag, 18. September 2001 4:27 16 KNUBBELMÄNNCHEN Wie baue ich eine Figur, die nicht glatt ist wie der typische 3D-Character? Thematik: Modeling, Rendering Verwendete Techniken
Formelsammlung Analytische Geometrie
Formelsammlung Analytische Geometrie http://www.fersch.de Klemens Fersch 6. August 6 Inhaltsverzeichnis 6 Analytische Geometrie 6. Vektorrechung in der Ebene......................................... 6..
Computer Graphik. Mitschrift von www.kuertz.name
Computer Graphik Mitschrift von www.kuertz.name Hinweis: Dies ist kein offizielles Script, sondern nur eine private Mitschrift. Die Mitschriften sind teweilse unvollständig, falsch oder inaktuell, da sie
Fachcurriculum Mathematik (G8) MPG Klassen 5 und 6. Bildungsplan Bildungsstandards für Mathematik. Kern- und Schulcurriculum Klassen 5 und 6
Bildungsplan 2004 Bildungsstandards für Mathematik Kern- und Klassen 5 und 6 Max-Planck-Gymnasium Böblingen 1 UE 1: Rechnen mit großen Zahlen UE 2: Messen und Auswerten natürliche Zahlen einfache Zehnerpotenzen
Lehrskript Mathematik Q12 Analytische Geometrie
Lehrskript Mathematik Q1 Analytische Geometrie Repetitorium der analytischen Geometrie Eine Zusammenfassung der analytischen Geometrie an bayerischen Gymnasien von Markus Baur, StR Werdenfels-Gymnasium
Proseminar Computergraphik. Raytracing
TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK INSTITUT FÜR SOFTWARE- UND MULTIMEDIATECHNIK PROFESSUR FÜR COMPUTERGRAPHIK UND VISUALISIERUNG PROF. DR. STEFAN GUMHOLD Proseminar Computergraphik Raytracing
Nichtrealistische Darstellung von Gebirgen mit OpenGL
Nichtrealistische Darstellung von Gebirgen mit OpenGL Großer Beleg Torsten Keil Betreuer: Prof. Deussen Zielstellung Entwicklung eines Algorithmus, der die 3D- Daten einer Geometrie in eine nichtrealistische
(geometrische) Anschauung
(geometrische) Anschauung Marcus Page Juni 28 In dieser Lerneinheit widmen wir uns dem schon oft angesprochenen Zusammenhang zwischen Matrizen und linearen Abbildungen. Außerdem untersuchen wir Funktionen,
Kapitel VI. Euklidische Geometrie
Kapitel VI. Euklidische Geometrie 1 Abstände und Lote Wiederholung aus Kapitel IV. Wir versehen R n mit dem Standard Skalarprodukt x 1 y 1.,. := x 1 y 1 +... + x n y n x n y n Es gilt für u, v, w R n und
RTT DeltaGen Suite. Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination. Copyright 2010 by Realtime Technology AG
RTT DeltaGen Suite Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination Copyright 2010 by Realtime Technology AG Look Editor Der Look Editor zeigt die Eigenschaften des Looks des selektierten
Computer Graphik I Beleuchtung
Computer Graphik I Beleuchtung 1 3D Graphik- Pipeline Anwendung Geometrieverarbeitung Perspek>vische Transforma>on, kanonisches Sichtvolumen Clipping Culling (Verdeckungsrechnung im Objektraum) Simula>on
Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen
Geometrische Objekte im -dimensionalen affinen Raum Bekanntlich versteht man unter geometrischen Objekten Punktmengen, auf die man die üblichen Mengenoperationen wie z.b.: Schnittmenge bilden: - aussagenlogisch:
Zylinder, Kegel, Kugel, weitere Körper
Zylinder, Kegel, Kugel, weitere Körper Aufgabe 1 Ein Messzylinder aus Glas hat einen Innendurchmesser von 4,0 cm. a) In den Messzylinder wird Wasser eingefüllt. Welchen Abstand haben zwei Markierungen
Eigentlich löst man n Gleichungen mit n Unbekannten (die. normalerweise eindeutig lösbar sind) am besten mit Hilfe der
Eigentlich löst man n Gleichungen mit n Unbekannten (die normalerweise eindeutig lösbar sind) am besten mit Hilfe der Determinantenmethode (die aber in den Schulen nicht mehr gelernt wird) bzw. am allerschnellsten
DEUTSCHE SCHULE MONTEVIDEO BIKULTURELLES DEUTSCH-URUGUAYISCHES ABITUR ( AUF SPANISCH )
Grundlegende Bemerkungen : Der Begriff des Vektors wurde in den vergangenen Jahren im Geometrieunterricht eingeführt und das mathematische Modell des Vektors wurde vor allem auch im Physikunterricht schon
Korrelationsmatrix. Statistische Bindungen zwischen den N Zufallsgrößen werden durch die Korrelationsmatrix vollständig beschrieben:
Korrelationsmatrix Bisher wurden nur statistische Bindungen zwischen zwei (skalaren) Zufallsgrößen betrachtet. Für den allgemeineren Fall einer Zufallsgröße mit N Dimensionen bietet sich zweckmäßiger Weise
Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte April 2008
Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte April 8 Zusammenfassung IC Il Corso Advanzato I. Besondere Punkte, Geraden und Ebenen 1. Besondere Ebenen Koordinatenebenen: Wie in dem konkretes
ax 2 + bx + c = 0, (4.1)
Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die
KGS Curriculum Mathematik Hauptschule Klasse 5
KGS Curriculum Mathematik Hauptschule Klasse 5 Lehrwerk: Maßstab Band 5 Verlag: Schrödel Inhalte Kapitel 1 Zahlen und Daten - Fragebogen auswerten, Strichlisten, Tabellen und Diagramme anlegen - Zahlen
Vektorgeometrie. Inhaltsverzeichnis. Fragen und Antworten. (bitte nur für den Eigengebrauch verwenden)
fua3673 Fragen und Antworten Vektorgeometrie (bitte nur für den Eigengebrauch verwenden) Inhaltsverzeichnis Vektorgeometrie im Raum. Fragen................................................. Allgemeines..........................................
1.4 Gradient, Divergenz und Rotation
.4 Gradient, Divergenz und Rotation 5.4 Gradient, Divergenz und Rotation Die Begriffe Gradient, Divergenz und Rotation erfordern die partiellen Ableitung aus Abschnitt.. sowie das Konzept des Differentialoperators.
Farbtiefe. Gängige Farbtiefen
Farbtiefe Die Anzahl der darstellbaren Farben ist abhängig von den Farbabstufungen, die in einem Pixel gespeichert werden. Die Anzahl der darstellbaren Farbtöne wird als Farbtiefe bezeichnet. Die Farbtiefe
Volumen Visualisierung
Volumen Visualisierung Seminar Interaktive Visualisierung (WS 06/07) Fabian Spiegel und Christian Meß Fabian Spiegel und Christian Meß 1 Übersicht Anwendungsbeispiele Volumendaten Entstehung Repräsentation
Raum- und Flächenmessung bei Körpern
Raum- und Flächenmessung bei Körpern Prismen Ein Prisma ist ein Körper, dessen Grund- und Deckfläche kongruente Vielecke sind und dessen Seitenflächen Parallelogramme sind. Ist der Winkel zwischen Grund-
