Computerspiele Sommer Was sind Computerspiele? (c) 2013, Peter Sturm, Universität Trier 1

Größe: px
Ab Seite anzeigen:

Download "Computerspiele Sommer Was sind Computerspiele? (c) 2013, Peter Sturm, Universität Trier 1"

Transkript

1 Was sind Computerspiele? (c) 2013, Peter Sturm, Universität Trier 1

2 Interdisziplinär Graphik Design Mathematik Physik VWL Psychologie Informatik Audio Musik Sprache Text BWL Regie Kamera Schauspiel (c) 2013, Peter Sturm, Universität Trier 2

3 Das Ideal: Photorealistisch Anwendung der relevanten physikalischen Gesetze Lichtreflektion und brechung Samt u.a. Objekteigenschaften (Oberflächenbeschaffenheit) Viele Freiheitsgrade bei der räumlichen Modellierung Mengenorientierte Ansätze Raytracing und Radiosity 50 fps und mehr leider noch nicht erreichbar aber man arbeitet dran J Norbert Kern William Fawcett & Povray Team Grundidee: Raytracing (c) 2013, Peter Sturm, Universität Trier 3

4 Die Realität Einfache Beschreibung der Objektoberfläche Durch Elementarobjekte wie z.b. Dreiecke Flexiblere Ansätze erkennbar Starke Einschränkungen bei Reflektions- und Refraktionsverhalten Viele Schummeleien und Tricks Texturen nähern Aussehen an Zusätzliche Maps simulieren Lichteinfluß, Oberflächenbeschaffenheit, Reflektionsverhalten, Ziel: Hinreichend realistische Wirkung mit vertretbarem Aufwand 3D- Pipeline Photorealismus häufig unnötig Vereinfachung Keine exakte Lichtberechnung Keine Reflektionen/Refraktionen Tricks Reine Softwarelösung CPU berechnet alle Schritte Leistungsfähige CPU notwendig Hardware-Beschleunigung Wesentliche Schritte übernimmt Spezial-Hardware 3D- Modell Verschiebungen Drehungen Bewegungen Clipping Triangulation Licht und Schatten 2D- Projektion Finish Shading Z- Buffer Texturen Perspektivenkorrektur Nebel Alpha- Blending... Darstellung (c) 2013, Peter Sturm, Universität Trier 4

5 Aufgabe der Graphikkarte Dreiecke (2D) 3D Modell Dreiecke (3D) Pixel CPU GPU Parallelarbeit Gleiche Arbeit für jedes Dreieck Moderne GPU schaffen mehrere Milliarde Dreiecke / s Gleiche Arbeit für viele Pixel Moderne GPU über 48 Milliarden Pixel / s (Pixelfüllrate) Keine Abhängigkeiten Gut Parallelisierbar (c) 2013, Peter Sturm, Universität Trier 5

6 3D- Hardware GPUs sind extrem leistungsfähige SIMD- Prozessoren Ziel: Arbeitsteilung mit CPU Stand 2013 Geforce GTX Titan 2699 Prozessoren Rechenleistung 1.3 TFLOPS (double) 4.5 TFLOPS (float) 6 GB 364- bit GDDR5 6 GHz effektiver Takt 288 GB/s Durchsatz (c) 2013, Peter Sturm, Universität Trier 6

7 Die ca. 7.7 Milliarden Transistoren auf 551mm 2 (23x23) (c) 2013, Peter Sturm, Universität Trier 7

8 Titan X (Update 2015) 3072 Cores, 8 Milliarden Transistoren, 1 GHz 12 GB Speicher, GB/s Speicherbandbreite, 250 W (c) 2013, Peter Sturm, Universität Trier 8

9 Informatik Kernbereiche Programmiersprachen Effiziente Datenstrukturen Parallelität Computergraphik Echtzeitgraphik, Animation Verteilte Systeme Netzwerke Künstliche Intelligenz Physik Verhalten und Wechselwirkungen der Objekte Beschleunigung, Trägheit Starrheit, Flexibilität, Deformierbarkeit Zunehmend komplexere Schadensmodelle Rückwirkungen auf Graphikdarstellung Wesentliches Spielelement (c) 2013, Peter Sturm, Universität Trier 9

10 Nicht jeder will Online spielen Gewinnchancen gegen Computergegner manchmal höher J Leistungsfähigkeit der Computergegner beeinflußt stark die Spielqualität Gleiche Ausgangsposition Gleiche Bedingungen Vielfalt in der Reaktion Maß an Dummheit Bisher wenig CPU- Zeit zugeteilt KI Spezialfall verteilter Systeme Skalierbarkeit Performanz Robustheit Konsistenz Virtual Reality Interessante Herausforderungen Technisch Kulturell Ökonomisch Menschlich Multiplayer (c) 2013, Peter Sturm, Universität Trier 10

11 Beispiel: Verteilte Systeme Alle gängigen Anforderungen Skalierbarkeit Konsistenz Verfügbarkeit Sicherheit Das Netzwerk Client Internet Server Client Clients überwiegend hinter dünnen Leitungen Begrenzte Bandbreite Minimale Datenmenge, Komprimierung, Verbindungsabbrüche (Disconnects) Latenz = Lag (c) 2013, Peter Sturm, Universität Trier 11

12 Rennerfahrungen Festrennen Pro Quartal ein Fest Alle 10 Minuten ein Rennen mit maximal 4 Teilnehmern Meist standen zwischen 4 und 10 Teilnehmer an (zu jedem beliebigen Zeitpunkt) Schickes Pferd im Tausch gegen alten Klepper Aufregung wie bei einem echten Rennen Hoher Puls, kalte Hände, Hohe Konzentration, (c) 2013, Peter Sturm, Universität Trier 12

13 Glücklicher Gewinner (c) 2013, Peter Sturm, Universität Trier 13

14 Warum? Echte (menschliche) Gegner bzw. Mitstreiter Zusammenspiel mit Menschen aus der ganzen Welt Virtuelle Freundschaften Flucht in eine virtuelle Welt Hinauswachsen über das reale Leben (RL) Macht, Erfolg, Bestätigung Bis hin zur Sucht Spieler formen Spiele Abbilder realer Umgangsformen Positive Aspekte Freundschaft Partnerschaften Negative Aspekte Diebstahl Vandalismus Beleidigung Verrat (c) 2013, Peter Sturm, Universität Trier 14

15 Gefahren Soziale Verarmung fehlender persönlicher Kontakte Realitätsverlust mit physischen Folgen Spielsucht Vorteilnahme Ausbeutung (c) 2013, Peter Sturm, Universität Trier 15

16 Chancen Wirtschaftsfaktor Innovationsmotor Technisch Wissenschftlich Virtuelle Realitäten Überwindung des Raums Serious Games Gesellschaftliche Akzeptanz Der Platzhirsch Beispiel MMORG World of Warcraft Blizzard Entertainment Seit Ende 2004 Ca. 11 Millionen Abonnenten 2. Quartal Millarde Dollar Umsatz 290 Millionen Dollar Gewinn Add-on Cataclysm (erscheint ) 3.3 Millionen Exemplare in den ersten 24 Stunden 4.8 Millionen Exempare im ersten Monat (c) 2013, Peter Sturm, Universität Trier 16

17 Soziales & Gesellschaftliches Neue Räume für Randgruppen Die Welt wird ein Dorf Gemeinsamer Spielspaß Physische Räumlichkeit überwinden Virtuelle Freunde Soziale Netze Virtuelle Hochzeiten J Psychologische Hilfe für den Alltag Alternative Realitäten (c) 2013, Peter Sturm, Universität Trier 17

18 Technisch Wachsende Teilnehmerzahlen Aktuelle Server verkraften einige tausend Spieler Immer größere Welten Eine Welt (keine Mehrfachinstanziierung) User- Generated Content Eigene Quests Rollenspiel Forschungsschwerpunkte Neurobiologie / Psychologie Wie wichtig ist der Körper? Mirror neurons Wirtschaftswissenschaften Virtuelle Güter und Transaktionen Rechtswissenschaften Virtuelle Besitztümer, Rechte, Pflichten, Steuersysteme Informationssysteme Skalierbarkeit, Verteilte Systeme Offene Standards, Open Source (c) 2013, Peter Sturm, Universität Trier 18

19 Immersion Echte Gefühle bei guter Immersion Erhöhte Adrenalinproduktion Furcht, Wut, Zorn, Freude, usw. Ununterscheidbarkeit für Gehirn Spiegelneuronen Immerwährende philosophische Diskussion Alle psychischen und physischen Reaktionen (c) 2013, Peter Sturm, Universität Trier 19

20 Spiele mit einem Zweck Serious Games Beispiele Simulationen (Militär, Politik, Ausbildung,...) Edutainment Game- based Learning Organizational- dynamic Games Games for Health Productivity Games... Hoher Entwicklungsaufwand Playful Design (c) 2013, Peter Sturm, Universität Trier 20

21 Spielend Arbeiten? Bedienungsfreundlichkeit ZENTRALES Element der Spieleentwicklung Spiele- Software wird meist freiwillig genutzt J Spiele waren immer wichtig sind wichtig werden eher wichtiger Lernen Geistige & körperliche Fitness Soziale Interaktion Playful Design Erfolgreiche Ideen aus der Spielewelt auf herkömmliche Anwendungen übertragen Neudefinition konventioneller Anwendungen Realistisch betrachtet eher selten Sich inspirieren lassen Langfristig mehr Ideen als man vielleicht erwartet (c) 2013, Peter Sturm, Universität Trier 21

22 Perspektiven Immersion Flow erhöhte Aufmerksamkeit / Konzentration Vergißt die reale Zeit Autonomie Mehr Kontrolle Abbau von Streß Soziale Interaktion und Reputation Lernen Belohnungssysteme (Reinforcement) 3D- Echtzeitgraphik (3) Mathematische Grundlagen Das Ideal: Raytracing und Radiosity DirektX und OpenGL Engines Physik (1) Outline Multiplayer (4) Verteilte Simulation Massive Multiplayer Online Games (insbesondere MORPGs) KI = Intelligenz der Computergegner (1) Weitere Themengebiete (3) (c) 2013, Peter Sturm, Universität Trier 22

23 Literatur Michael Abrash Graphics Programming Watt Policarpo 3D Games (Volume I und II) Fernando bzw. Pharr GPU Gems 1, 2, und 3 nvidia The End (c) 2013, Peter Sturm, Universität Trier 23

24 2. Grundlagen Mathematik & Graphik (c) Peter Sturm, Universität Trier 1

25 Motivation 3D- Graphik Mathematik im 3D- Raum Koordinatensysteme y Punkt (Vektor) Gerade, Fläche, Körper Affine Transformationen Verschieben, Skalieren, Drehen, Scheren z x Performanz Leistungsaspekte Gleitkommazahlen Viele viele Gleitkommaoperationen Hoher Optimierungsdruck Dedizierte HW- Unterstützung (c) Peter Sturm, Universität Trier 2

26 Koordinationsysteme Bezugssysteme Ursprung und orthogonale Richtungsvektoren Objektposition relativ zum Ursprung Absolutes Koordinatensystem Relatives Koordinatensystem Objektspezifischer Ursprung Punkte Punkte sind relativ zu einem Koordinatensystem Abstand vom Ursprung Punkt: 3- Tupel Operationen auf Punkte Translation Skalierung Rotation z a b c b y a c x (c) Peter Sturm, Universität Trier 3

27 Affine Transformation: Translation Translation Verschiebung bzgl. den Grundachsen Mathematisch: Addition x tx y + ty z tz x + tx = y + ty z + tz Affine Transformation: Skalierung Skalierung Abstand zum Ursprung kleiner oder größer Mathematisch: Multiplikation sx x sy y sz z sx x = sy y sz z (c) Peter Sturm, Universität Trier 4

28 Affine Transformation: Rotation Rotation Drehung (meist um eine Grundachse) Mathematisch: Winkelfunktionen Beispiel: Drehung im Z- Achse: x cos( α) y sin( α) x sin( α) + y *cos( α) z x y z 1 Wünschenswert Eine Datenstruktur für Alles Matrizenoperationen Homogenes Koordinatensystem 4- dimensionale Koordinaten Punkt = V(x, y, z, w) a = a/w und w 0 Gängig ist w=1 Transformationsmatrizen: 4x4 (c) Peter Sturm, Universität Trier 5

29 (c) Peter Sturm, Universität Trier 6 Translation Einfache Verschiebungsmatrix Operation tz ty tx = ' ' ' z y x tz ty tx z y x Skalierung Skalierungsmatrix Operation sz sy sx = ' ' ' z y x sz sy sx z y x Uniform: sx=sy=sz

30 (c) Peter Sturm, Universität Trier 7 Rotation Nur über jeweils eine Grundachse Alles andere geht auch, ist aber Brain Twister J Grundmatrizen: = ) cos( ) sin( 0 0 ) sin( ) cos( α α α α Rx = ) cos( 0 ) sin( ) sin( 0 ) cos( α α α α Ry = ) cos( ) sin( 0 0 ) sin( ) cos( α α α α Rz Matrizen zusammenfassen Rotation und dann Verschiebung Beispiel Drehung um 45 Grad bzgl. X- Achse Verschiebung um - 80 bzgl. Y- Achse Achtung: Erste Operation = Letzte Matrix M2 M1: Erste Transformation ist M1 =

31 Konstruktion eines lokalen Systems Matrizenoperationen bzgl. Koordinatensystem (Welt) Aufbau des lokalen Systems: Verschieben des Zentrums (Pivot) zum Ursprung Gewünschte affine Transformation ausführen Verschiebung zurück an den Ausgangspunkt Resultat: V2 Taff V1 Matrixoperationen nicht kommutativ Beispiel: Teekanne Translation: Verschiebung an Y- Achse um - 80 Rotation: Drehung an X- Achse um - 45 Grad Zuerst Translation, dann Rotation Zuerst Rotation, dann Translation (c) Peter Sturm, Universität Trier 8

32 Live R, dann T Weitere sinnvolle Funktionen Vektoraddition Kräftparallelogramm V W Länge eines Vektors V+W 2 2 V = x + y + Normalisierter Vektor: z 2 U = V V (c) Peter Sturm, Universität Trier 9

33 Normalvektor Normale zu einer Oberfläche wird häufig benötigt N V Kreuzprodukt: N = V x W vy N = vz vx Bei Kurven muß erst die Tangentialebene bestimmt werden W wz vz wy wx vx wz wy vy wx Skalarprodukt Winkelbestimmungshilfe zwischen Vektoren x = V W = vx wx + vy wy + vz wz Eigenschaft x>0 wenn α<90 Grad x=0 wenn α=90 Grad x<0 wenn α>90 Grad Winkel zwischen V und W: cos(α) = V V W W (c) Peter Sturm, Universität Trier 10

34 ray.html Grundidee: Raytracing Direkte Umsetzung des Sehens Auge Projektionsfläche (Monitor) Szene (c) Peter Sturm, Universität Trier 11

35 Raytracer Beschreibung der darzustellenden 3D- Szene CSG: Constructive Solid Geometry Beschreibung der Materialien Farbe Reflektionseigenschaften Refraktionseigenschaften Oberflächenstruktur Extras: Rauhheit, Lichtquellen Kameraposition Werkzeugkette 3D Editor Blender Maya 3DS Max Szene Raytracer Raytracer FX Engine (c) Peter Sturm, Universität Trier 12

36 3D- Editor von Jonathan Hunt Povray (c) Peter Sturm, Universität Trier 13

37 Persistence of Vision ( Binaries und Sourcen für Windows, Linux, Immer noch aktuell Version MB (Windows) 10 MB (Mac OS X) 8 MB (Linux) 3D- Editor Moray 3D Website Constructive Solid Geometry Volumetrische Grundobjekte Quader Kugel Zylinder, Mengentheoretische Konstruktionsoperationen Vereinigung Schnitt Differenz (c) Peter Sturm, Universität Trier 14

38 Finite Solid Primitives Gängige Elemente Box Cone Cylinder Prism Sphere Torus Text Exoten Blob Height Field Julia Fractal Lathe Superquadric Ellipsoid Surface of Revolution Box (c) Peter Sturm, Universität Trier 15

39 Cone Cylinder (c) Peter Sturm, Universität Trier 16

40 Sphere Superquadric Ellipsoid (c) Peter Sturm, Universität Trier 17

41 Infinite Solid Primitives: Plane Mesh Objektbeschreibungen auf der Basis von Dreiecken (c) Peter Sturm, Universität Trier 18

42 Beispiel mesh { triangle { <- 3,2,0> <- 3,1,5> <1,1,5> } } triangle { <- 3,2,0> <- 2,0,- 4> <3,0,- 4> } triangle { <- 3,1,0> <1,0,5> <3,0,- 4> } triangle { <- 3,2,0> <- 3,1,0> <1,1,5> } texture { MyTexture } Anwendung von Meshes 3D- Echtzeitgraphik basiert aktuell auf Dreiecken Beschleunigerkarten unterstützen gezielt Dreiecke Identische Arbeitsschritte Übertragung einer Szene an Graphikkarte Generierung einer Povray- Beschreibung aus Dreiecken (c) Peter Sturm, Universität Trier 19

43 mesh2 Erweitere Definition Anlegen von Knotenvektoren Definition der Dreiecke über Indizes Einsparungen bei zusammenhängenden Meshes Knoten tauchen immer in mehreren Dreiecken auf CSG: Beispiel 1 Beschreibung: cylinder { <0,1,0> <0,6,0> 1 texture { MyTexture } } Weitere Bestandteile Zwei Lichtquellen Reflektiver Untergrund Kamera (c) Peter Sturm, Universität Trier 20

44 Union Kugeln hinzufügen Beschreibung: #declare Sol = union { cylinder { <0,1,0> <0,5,0> 0.5 } sphere { <0, 1, 0> 1 } sphere { <0, 5, 0> 1 } texture { MyTexture } } object { Sol } object { Sol translate <0,- 3,0> rotate <90,0,0> translate <0,3,0> } CSG: Beispiel 2 (c) Peter Sturm, Universität Trier 21

45 Difference Intersection (c) Peter Sturm, Universität Trier 22

46 #declare Sol = union { cylinder { <0,1,0> <0,5,0> 0.5 } sphere { <0, 1, 0> 1 } sphere { <0, 5, 0> 1 } texture { MyTexture } } CSG: Beispiel 3 #declare TwoSol = union { object { Sol } object { Sol translate <0,- 3,0> rotate <90,0,0> translate <0,3,0> } } #declare HalfSphere = intersection { sphere { <0,3,0> 3 } box { <0,0,- 3> <- 3,6,3> } } difference { object { HalfSphere } object { TwoSol } texture { MyTexture } } Object Modifiers Material-, Reflektions, Refraktionseigenschaften etc. (c) Peter Sturm, Universität Trier 23

47 Pigment Farben und Farbmuster Einfache Farbe texture { pigment { color rgb<1,0,0> } } Image Map (c) Peter Sturm, Universität Trier 24

48 Polieren der Objektoberfläche Eigenleuchten (Ambient) Reflektionseigenschaften Lichtstreuung Brillianz Widerschein von Lichtquellen (Phong, Specular, Diffuse) Eingeschränkt Oberflächenstrukturen (Roughness) Finish #declare MyTexture = texture { pigment { color Red } finish { ambient 0.2 phong 0.5 phong_size 10 reflection { 0.01 } diffuse 0.4 // specular 0.5 // roughness 0.5 // metallic 0.5 reflection Green // irid { 0.2 } // Seifenblasenfilm } } Finish: Beispiele (c) Peter Sturm, Universität Trier 25

49 Brechung Interior- Eigenschaften bei Objekten ior = Brechungsindex 1.0 Luft 1.33 Wasser 1.5 Glas 2.4 Diamand Zusätzliche Farbeigenschaft Filter Trasmit Oberfläche (contd.) Störungen bzgl. der Oberflächennormale Parameter Bump Map Objektform ändert sich dadurch nicht Diskrepanz zwischen Silhouette und scheinbar rauher Oberflächenstruktur (c) Peter Sturm, Universität Trier 26

50 Bumps: Beispiel Lichtquellen (c) Peter Sturm, Universität Trier 27

51 Spot Light Camera (c) Peter Sturm, Universität Trier 28

52 Radiosity Radiosity Traditionell: Helligkeit an jedem Punkt über Diffuse (Lichtzugewandte Seite wird heller) Specular (Widerschein der Lichtquelle) Reflektion Ambient (Grundhelligkeit) Radiosity Ambient wird genauer berechnet Auswirkungen benachbarter Objekte (c) Peter Sturm, Universität Trier 29

53 Radiosity: Beispiel Normal: 5 Sekunden Radiosity: 35 Sekunden (c) Peter Sturm, Universität Trier 30

54 3. Echtzeitgraphik Ideal und Wirklichkeit Raytracing für 3D- Echtzeit noch überfordert Enorm hoher Aufwand O(# Pixel # Objekte # Lichtquellen) Alternativansatz 3D- Szene Welche Objekte sind auf dem Bildschirm sichtbar? Szenenkomplexität bestimmt Aufwand O( # Objekte # Lichtquellen) (c) Peter Sturm, Universität Trier 1

55 Rendering Pipeline Application Geometry Rasterizer Application Application Geometry Rasterizer Organisation aller relevanten Objekte Koordiniert Wechselwirkungen mit... Physik Kollisionsberechnung Audio Character Animation KI Eingaben (c) Peter Sturm, Universität Trier 2

56 Geometry Application Geometry Rasterizer 3D- Operationen Per- Polygon Per- Vertex Eigene Unter- Pipeline Rasterizer Application Geometry Rasterizer 2D- Operationen Screen Space - > Pixel (c) Peter Sturm, Universität Trier 3

57 Application Geometry Rasterizer 3D-Modellierung Beschreibung der 3D-Szene Volumenorientiert (CSG) Elementarvolumina: Quader, Zylinder, Kugel,... Mengenoperationen Flächenorientiert Patchwork Reguläre Flächen Polygone Dreiecke Freiformflächen Bezierkurven Splines (c) Peter Sturm, Universität Trier 4

58 Tessellation / Triangulation 3D- Hardware unterstützt nur bestimmte Elementarflächen Umwandlung des 3D- Modells notwendig Bei regulären Flächen einfach Triangulation der Freiformflächen aufwendiger Hohe Auflösung = Viele Dreiecke = Hoher Rechenaufwand Application Geometry Rasterizer (c) Peter Sturm, Universität Trier 5

59 Schnittstelle CPU und GPU Leistungsengpaß Benötigter Speicherdurchsatz n Anzahl der Dreiecke Punktgröße: 3 Floats/Double, Farbinformation, Fps: Frames per Second Beispiel: n=20000, Punkt=3*8 Byte, 2 Byte Zusatz, 50 fps Ca. 85 Mbyte/s Durchsatz Konsequenz Unsichtbare Dreiecke vorher identifizieren Redundanzen minimieren TP = n 3 Punkt fps CPU - GPU Welche Primitive übertragen? Trade- off Finden vs. Verwerfen durch GPU Culling Geometrische Datenstrukturen Dauerhafte Speicherung auf GPU Primitiv- Instanziierung (c) Peter Sturm, Universität Trier 6

60 Retained- und Immediate- Mode Retained Mode 3D- Modell in GPU Zugriff ähnlich einer Hauptspeicher- DB Implizite Umsetzung Immediate Mode 3D- Modell Bestandteil der Anwendung Aufruf aller notwendigen Zeichenoperationen Explizite Umsetzung Geometry Pipeline Model and View Transform Vertex Shading Projection Clipping Screen Mapping (c) Peter Sturm, Universität Trier 7

61 Projektion Transformation in Kubus (- 1,- 1,- 1) bis (1,1,1) Orthographisch (Parallel) Isometrische Sicht Perspektivisch Viewing Frustrum Application Geometry Rasterizer (c) Peter Sturm, Universität Trier 8

62 (c) Peter Sturm, Universität Trier 9 Rasterizer Pipeline Triangle Setup Triangle Traversal Pixel Shading Merging 2D-Projektion Sichtbarkeit einzelner Dreiecke? Ort in der 2D-Projektion? Lösung eines linearen Gleichungssystems für jeden Punkt der Szene α und β: Ort und Sichtbarkeit λ Tiefeninformation Effizienz des Lösungsverfahrens Probleme Teilweise sichtbare Dreiecke e innerhalb eines Objekts + = + + z y x z y x z y x z y x z y x z y x e e e p p p p p p w w w v v v o o o λ β α p e o w v α β λ

63 Finish Z- Buffer Tiefeninformation Dreiecksflächen füllen Farbe Texturen Schatten Transparenzeffekte Nebel Anti- Alias Kantenglättung Tiefeninformation: Z- Buffer Einfaches Beispiel Auflösung (16 oder 32 Bit) λ=7 λ=2 λ= (c) Peter Sturm, Universität Trier 10

64 Texturen Bekleben der Fläche Wiederholung bei großer Fläche (Tiling) Große Texturen Viel Speicher Komprimierung = + Perspektivische Korrektur Mip- Maps Verschiedene Auflösungen Wahl entfernungsabhängig Doppelter Platzbedarf (c) Peter Sturm, Universität Trier 11

65 Bump Map Textur ist Höhenfeld Rauhe Oberfläche Environmental Map your- own- environment- maps/ Living in the box Spiegelungen (c) Peter Sturm, Universität Trier 12

66 Schatten Licht... Lichteinfluß auf Fläche berechnet CPU Zusätzliche Texturen bestimmen Lichtwirkung Transparente Leuchteffekte durch Alpha- Blending... Und Schatten Einzelne Dreiecke sind abgedunkelt Einfaches Shading Einheitliche Abdunklung Gourad Shading Iterative Zunahme der Abdunklung Ausgangspunkt Beispiel (c) Peter Sturm, Universität Trier 13

67 Transparenz Überlagerung zweier Bilder Alpha- Blending Alphawert pro Pixel P HG P VG P Gesamt = P + α P HG VG Alpha Ausgabe Sauberer Wechsel zwischen Einzelbildern Double- Buffer, Triple- Buffer, Steuerung über VSYNC (c) Peter Sturm, Universität Trier 14

68 Trends Ziel Auslastung CPU und GPU jeweils 100% Aktuell mehr Steigerungspotential in der GPU Parallelisierbarkeit der Abläufe Verlagerung der Schnittstelle nach oben z.b. Lichtquellen in HW (zuerst 8, ) Ansätze für Retained Mode Komplexere geometrische Grundstrukturen Splines, (c) Peter Sturm, Universität Trier 15

69 Computerspiele Sommer GPU Ansätze Echtzeit- Raytracing Modell und Materialeigenschaften auf Raytracer Kontinuierliche Darstellung Polygon- Rendering CPU wählt darzustellende Polygone aus Render Pipeline (c) Peter Sturm, Universität Trier 1

70 Computerspiele Sommer 201 Realtime Raytracing Technische Umsetzung Mit existierender Hardware Software auf CPU (Intel- MIC / Daniel Pohl) Software auf GPU (nvidia Optix / Andreas Dietrich) Software auf anderen Prozessoren (Cell) Mit neuer Hardware (RPU/SaarCOR, Uni Saarbrücken) (c) Peter Sturm, Universität Trier 2

71 Computerspiele Sommer 201 SaarCOR SaarCOR Benchmarks (c) Peter Sturm, Universität Trier 3

72 Computerspiele Sommer 201 Szenenkomplexität Ergebnisse (c) Peter Sturm, Universität Trier 4

73 Computerspiele Sommer 201 Referenz Standardszene - Conference Statische Szene 282k Dreiecke Diffuses Rendering 2009 Intel MIC (24 cores) - > 36MRays/s - > 360x354@17fps Quelle: (c) Peter Sturm, Universität Trier 5

74 Computerspiele Sommer 201 Resultate Technik Mega Rays/s 1024 Pixel x 1024 Pixel x 10 rays per 25 fps ~260 HD1080: 1920 x 1080 x 60 ~2500 CPU [JS2004] ~1,6 CPU (qwrt, non- std) [DP2009] ~46 CPU (wolfrt, non- std) [DP2012] ~26 GPU [AL2009] ~142 GPU [SP2010] ~193 Cell [HF2006] ~240 SaarCOR / RPU [SW2006] ~3,2 / ~1 Polygon Rendering (c) Peter Sturm, Universität Trier 6

75 Computerspiele Sommer 201 Rendering Pipeline Application Geometry Rasterizer Fixed- Function Pipeline Input (Primitive, Vertex) Tesselation Rasterization Multitexturing Finish & Display DirectX 1-6 vor 2000 (c) Peter Sturm, Universität Trier 7

76 Computerspiele Sommer 201 Fixed- Function Pipeline Input (Primitive, Vertex) Tesselation Transform and Lighting Rasterization Multitexturing Finish & Display Mixed Function Pipeline Input (Primitive, Vertex) Tesselation Transform and Lighting Rasterization Multitexturing Finish & Display Vertex Shader Pixel Shader (c) Peter Sturm, Universität Trier 8

77 Computerspiele Sommer 201 Mixed Function Pipeline Input (Primitive, Vertex) Tesselation Transform Vertex and Shader Lighting Rasterization Multitexturing Pixel Shader Finish & Display Programmable Pipeline Input (Primitive, Vertex) Tesselation Transform Shader and (Vertex) Lighting Rasterization Multitexturing Shader (Pixel) Finish & Display Shader- basierte Fixed- Function Pipeline (c) Peter Sturm, Universität Trier 9

78 Computerspiele Sommer 201 (c) Peter Sturm, Universität Trier 10

79 Computerspiele Sommer 201 Marina Bay Sands Singapore Moderne Pipeline Input (Primitive, Vertex) Vertex Shader Hull Shader Tessellator (Fixed) Domain Shader Geometry Shader Detaillierungsgrad (LOD) Pro Tessellationspunkt (Punkt und Texturkoordinaten) Arbeitet auf ganzen Primitiven Rasterization Pixel Shader Finish & Display (c) Peter Sturm, Universität Trier 11

80 Computerspiele Sommer 201 Streaming Input (Primitive, Vertex) Vertex Shader Hull Shader Tessellator (Fixed) Domain Shader Geometry Shader Rasterization Pixel Shader Finish & Display Compute Shader Input (Primitive, Vertex) Vertex Shader Hull Shader Tessellator (Fixed) Domain Shader Geometry Shader Data Rasterization Pixel Shader Compute Shader Finish & Display (c) Peter Sturm, Universität Trier 12

81 Computerspiele Sommer 201 Shader Pool again Input (Primitive, Vertex) Vertex Shader Hull Shader Tessellator (Fixed) Domain Shader Geometry Shader Data Rasterization Pixel Shader Compute Shader Finish & Display Motivation Ursprung im professionellen Bereich CAD und Filmentwicklung Random Scan Display Processing Unit Silicon Graphics war Marktführer Ganze Rechner sind Graphikkarte (c) Peter Sturm, Universität Trier 13

82 Computerspiele Sommer 201 SGI Onyx 2 GPU- Board IP19 (c) Peter Sturm, Universität Trier 14

83 Computerspiele Sommer 201 Motivation Aufgabenverteilung CPU- GPU Hoher Innovationsdruck (Spiele) Immer mehr Polygone Hoher Parallelisierungsgrad Je tiefer, je mehr Programmierbarkeit CPU Speicher 2D- Projektion Vertex Shader Finish Pixel Shader Vollbildfilter (FSAA, etc.) Profi- Bereich SGI (2002) Onyx 3000 InfiniteReality4 Bis zu 16 Pipelines Bis zu 128 Prozessoren 1 TB Speicher 716 GB/s I/O (c) Peter Sturm, Universität Trier 15

84 Computerspiele Sommer 201 Specs 3dfx Siegeszug beginnt mit der Voodoo 1 (1996) 50 MHz Taktfrequenz 2 bis 4 MByte Videospeicher Voodoo 2 (1998) Träume werden wahr Voodoo 3 und danach wenig erfolgreich nvidia kauft 3dfx (Nov 2000) (c) Peter Sturm, Universität Trier 16

85 Computerspiele Sommer 201 Ursprung im professionellen Bereich CAD und Filmentwicklung Random Scan Display Processing Unit Silicon Graphics war Marktführer Ganze Rechner sind Graphikkarte Siegeszug von 3dfx Beschleuniger- Hardware für den PC Aktuelle Firmen nvidia ATI Motivation Chips von 3dfx Cards/3dfx.php (c) Peter Sturm, Universität Trier 17

86 Computerspiele Sommer 201 3dfx Voodoo 2 3dfx Voodoo 2: Zahlen 2-4 Prozessoren pro Karte 1 Pixelprozessor 1-3 Texturprozessoren 90 MHz Taktfrequenz Mbyte Speicher 2.1 Gbyte Speicherbandbreite (intern) Leistungsdaten 3 Millionen Dreiecke/s (gemessen: 25 Pixel Dreiecke) 90 Mpixel/s 180 Mpixel/s im Doppelpack (SLI) Maximal 1024x768 Pixel Auflösung 24 Bit Farben (Ausgabe 16 Bit Dithered) 16 bpp Z- Buffer (c) Peter Sturm, Universität Trier 18

87 Computerspiele Sommer 201 3dfx Voodoo 2: Architektur Ziel: Möglichst viele Operationen pro Pixel in einem Zyklus Speicher 2-4 MB TMU Speicher 4 MB PCI- Bus Pixelfx TMU nc Speicher 4 MB 3dfx Voodoo 2: SLI Speicher 2-4 MB TMU Speicher 4 MB Pixelfx PCI- Bus TMU Speicher 4 MB Scan Line Interface Gerade Zeilen Ungerade Zeilen 2 PCI- Slots Traum jedes Spielers (Damals) Schnell Vergleichsweise Teuer Speicher 2-4 MB Pixelfx nc TMU TMU Speicher 4 MB Speicher 4 MB nc (c) Peter Sturm, Universität Trier 19

88 Computerspiele Sommer 201 Hübsch! Graphik- Pipeline TMU2 TMU1 Texture Combine Unit TMU2 Linear Frame Buffer Write Iterated RGBA Constant RGBA Texture Combine Unit Frame Buffer Special Effects Unit Color & Alpha Combine Unit Alpha Test Depth Test (Z/W Buffer) Fog Alpha Blend (c) Peter Sturm, Universität Trier 20

89 Computerspiele Sommer 201 3dfx Voodoo 3 und danach 3dfx ist seiner Zeit voraus und wird zu ambitioniert 3dfx Voodoo 6 J (c) Peter Sturm, Universität Trier 21

90 Computerspiele Sommer 201 nvidia RivaTNT 1 Prozessor 90 Mhz Taktfrequenz 7 Millionen Transistoren 12 Kbyte Cache 16 Mbyte Speicher 128 Bit Speicherbreite 1.8 Gbyte Speicherbandbreite Leistungsdaten 6 Millionen Dreiecke/s 180 Mpixel/s Füllrate Maximal 1920x1200 Auflösung 24 Bit Farben 16/24 bpp Z- Buffer PCI- Bus Prefetch Scatter/Gather Virtual DMA Vertex Cache Setup & Pix el Processor Light & Effects Proces s or Setup & Pix el Processor Light & Effects Proces s or Constant Velocity FIFO Texture Cache GPUs (Anfang 2003) (c) Peter Sturm, Universität Trier 22

91 Computerspiele Sommer 201 GPUs (2003) (c) Peter Sturm, Universität Trier 23

92 Computerspiele Sommer 201 Flop 2003: nvidia NV30 Extreme Wärmeentwicklung Spezielles Lüfterdesign (Föhn) O- Ton nvidia: Lautstärke kein Problem. Power Gamer spielen allemal mit Kopfhörer Mehr und Besser Vertex- und Pixel- Shader (c) Peter Sturm, Universität Trier 24

93 Computerspiele Sommer nvidia GeForce 7800 Ultra ATI Radeon X1800 (c) Peter Sturm, Universität Trier 25

94 Computerspiele Sommer 201 nvidia 320 Millionen Transistoren Shader Version 3.0 Programme können beliebig groß werden 8 Vertex Shader 24 Pixel Shader 512 MB GTX Variante erhältlich (650 Euro 12/05) bis zu 550 MHz GPU- Takt bis zu 1.7 GHz Speichertakt (DDR 3) 256 Bit Speicherinterface Architektur Geforce6 und 7 Jetzt 8 Vertex Prozessoren Jetzt 24 Pixel Prozessoren Und 24 Z Units aus GPU Gems 2: (c) Peter Sturm, Universität Trier 26

95 Computerspiele Sommer 201 Vertex Prozessor Pixel Prozessor Arbeiten auf einem 4- Pixel- Quadrat (Quad) Gefilterter Texture- Zugriff Bilinear, Trilinear, Anisotroph Jedes Quad wird mit GPU- Takt durch beide Units geroutet 8 mathematische Operation pro Takt 4 mathematische Operation und Texture fetch pro Takt (c) Peter Sturm, Universität Trier 27

96 Computerspiele Sommer 201 ATI Radeon X1800 X1800 Architektur (c) Peter Sturm, Universität Trier 28

97 Computerspiele Sommer 201 Vergleich warticle.aspx?page = 2&article id= 751&cid= 2 Trends Anzahl der integrierten Pixel- Pipelines wächst Vereinheitlichung der Shader Unified Vertex and Pixel Shader in WGF 2.0 (DirectX 10) Unified CPU und GPU Prozessoren? Multiprozessoren (Diskret oder auf dem CHip) siehe z.b. IBM Cell Prozessor CPU- Interface weiter beschleunigen (PCI Express) Sehr breiter Speicherbus 256 Bit gängig Eklat nvidia mit 128 Bit ganz schnellem Speicher Freiformflächen statt Dreiecke? (c) Peter Sturm, Universität Trier 29

98 Computerspiele Sommer nvidia GeForce 8800 GTX ATI Radeon HD 3000 Serie (c) Peter Sturm, Universität Trier 30

99 Computerspiele Sommer 201 Graphik NVIDIA G80 Graphikprozessor Transistoren 575 MHz Taktfrequenz 1.3 GHz Shadertakt Speicher 786 MB DDR3 900 MHz Taktfrequenz 384 Busbreite 128 Unified Shader (DirectX 10) Preis: ca. 600 Euro Kenngrößen (c) Peter Sturm, Universität Trier 31

100 Computerspiele Sommer 201 TOP 500 Compute Unified Device Architecture Mathematische / Physikalische Simulationen o.ä. Jeweils 16 Prozessoren haben gemeinsamen Cache (8800 GTX) Spezifische Compiler NVIDIA CUDA Tabelle rechts: Beschleunigungsfaktor gegenüber Core 2 Duo E6600 (c) Peter Sturm, Universität Trier 32

101 Computerspiele Sommer * 8800 GTX = Doppelter Spaß J und viel Geld (~ 1200 Euro nur Graphik) zzgl Watt Netzteil Kenngrößen (c) Peter Sturm, Universität Trier 33

102 Computerspiele Sommer 201 ATI Radeon HD 3xxx (c) Peter Sturm, Universität Trier 34

103 Computerspiele Sommer 201 Speicher- Interface Trends (c) Peter Sturm, Universität Trier 35

104 Computerspiele Sommer 201 nvidia Fermi Intel Larrabee Larabee Core x86, 2 GHz (?), In- Order Execution, 4- Fach HT Lokaler L1 Cache 16- fach SIMD Virtual Memory Multi- Tasking 64 Gflop 32 Cores Unified L2 Cache (partitioniert) 2 TeraFlop Ring Interconnect OS Fixed Functions CP U CP U CP U CP U L2 Cache CP U CP U Larrabee Karte CP U CP U GB RAM μos Speicher Controller PCIe (c) Peter Sturm, Universität Trier 36

105 Computerspiele Sommer Stand 2013 Geforce GTX Titan 2699 Prozessoren Rechenleistung 1.3 TFLOPS (double) 4.5 TFLOPS (float) 6 GB 364- bit GDDR5 6 GHz effektiver Takt 288 GB/s Durchsatz (c) Peter Sturm, Universität Trier 37

106 Computerspiele Sommer 201 Oak Ridge National Lab TOP500, Platz 1, November Cores (inkl. Shader) 17.5 PFlops bis 27.1 PFlops 8209 kw (c) Peter Sturm, Universität Trier 38

107 Computerspiele Sommer 201 GPGPU Continuum Workshop, , Haifa, Israel Fragen? c t - Schlagseite (c) Peter Sturm, Universität Trier 39

108 5. Culling CPU Ziele 3D-Modell im Hauptspeicher Groß bis riesig Minimale Polygonmenge kommunizieren GPU Culling Nicht sichtbare Polygone frühzeitig entfernen Verschiedene Varianten (c) Peter Sturm, Universität Trier 1

109 Szenenverwaltung Bisher: Szene = Wenige Objekte Repräsentiert durch Vertex- Stream Direkt Indiziert (Mehrfachverwendung) Streaming an GPU mit jedem Frame Unrealistisch 0c4j 8gS q4 (c) Peter Sturm, Universität Trier 2

110 Komplexe Welten Weitläufige Gebiete Viele Innenräume Viele Objekte = Viele Streams Nur Bruchteil jeweils sichtbar Effizienter Schnitt mit Frustum? View Frustrum Culling (VFC) Dynamik Statische Objekte / Welt Aufwendiges Vorberechnen möglich Dynamische Objekte In statische Datenstruktur integrierbar Dedizierte Datenstruktur Geringe Anzahl? (c) Peter Sturm, Universität Trier 3

111 Frustrum Culling Scene Culling Beschränkung des sichtbaren Raum Parallel (Orthographisch) Perspektivisch Frustrum = Kegelstumpf Transformation in Würfel (c) Peter Sturm, Universität Trier 4

112 Idee Hierarchische Szenenorganisation Logarithmische Komplexität Effizienter Schnitt mit Frustrum Potentiell sichtbare Objekte identifizieren Schnell Trade-off GPU-Kosten Realisierungen Top-Down Aufteilung des Raums (Space Subdivision) Quadtree (2D), Octree (3D) Binary Space Partition Tree (BSP Tree) Bottom-Up Bounding Volumes (c) Peter Sturm, Universität Trier 5

113 Bounding Volumes Bounding Volume Umfaßt eine Menge von Objekten Einfache geometrische Form Einfacher Schnitttest Positiv: eventuell Schnitt Negativ: Definitiv kein Schnitt (c) Peter Sturm, Universität Trier 6

114 Anschaulich Realisierungsmöglichkeiten Kugeln Achsenparallele Boxen (AABB) Orientierte Bounding- Boxen (OBB) beliebig gedrehtes AABB Diskrete, orientierte Polytope (k- DOP) (c) Peter Sturm, Universität Trier 7

115 k- DOP Bewegte Objekte Update Signifikante Positionsänderung? BV- Hierarchie aktualisieren BVs wachsen mit der Objektbewegung Balance- Risiko Temporal Bounding Volume BV umfaßt vorgegebene Zeit der Objektbewegung (c) Peter Sturm, Universität Trier 8

116 Quad- und Octtree Der Einfachheithalber erst mal 2D Quadtree (c) Peter Sturm, Universität Trier 9

117 Baumdarstellung = Bemerkungen Rekursive Dekomposition Terminierungskriterium Kein Objekt im Quadranten Genau ein Objekt im Quadranten Kleinste darstellbare Einheit (Pixel) Baum ist nicht zwingend balanciert Quadtree kann Offline berechnet werden (c) Peter Sturm, Universität Trier 10

118 Octree Quadtree im 3D J Raumkubus wird in 8 Untervolumen geteilt Knoten hat 8 statt 4 Kinder Ansonsten analog zu Quadtree Nicht balanciert Kann Offline berechnet werden Problematisch bei großen Szenen Quadtree und Octree Klassische Mengenoperationen realisierbar Vereinigung Schnitt Differenz Komplement Grobe Funktionsweise? VFC = Schnittoperation? (c) Peter Sturm, Universität Trier 11

119 BSP BSP Tree Verallgemeinerung von Quadtree und Octree Binary Space Partition Tree = Rekursive, hierarchische Unterteilung eines n- dimensionalen Raumes in konvexe Unterräume Unterteilung durch (n-1)-dimensionale Ebenen Anschaulich: Unterteilung muß nicht zwingend orthogonal sein (c) Peter Sturm, Universität Trier 12

120 BSP Tree Varianten Axis- Aligned Polygon- Aligned Ausrichtung an einer Objektkante (c) Peter Sturm, Universität Trier 13

121 Weitere Techniken Noch größere Szenen Wenig sinnvoll, gesamte Landkarte o.ä. als Octree, BSP oder Bounding-Volume-Hierarchie zu speichern? Alternativen? (c) Peter Sturm, Universität Trier 14

122 Innenräume Portale (Türen) verbinden Räume Portal Culling Backface Culling In sich geschlossene Objekte Rückseiten nicht sichtbar (c) Peter Sturm, Universität Trier 15

123 Occlusion Culling Verdeckte Objekte weglassen Z- Buffer Ansätze Image- Space 2D nach der Projektion u.a. Z- Buffer Object- Space 3D Ray- Space (c) Peter Sturm, Universität Trier 16

124 Hardware- Unterstützung Spezieller Rendering- Modus Query an GPU Occlusion Query Diese Polygone bei aktuellem Z- Buffer sichtbar? Polygone beschreiben meist BV Resultat Komplett unsichtbar Anzahl sichtbarer Pixel LOD (Level of Detail) Objektdetails abhängig von Entfernung Situativem Kontext Detail Culling (c) Peter Sturm, Universität Trier 17

125 6. Software APIs Komplexe Hardware (c) Peter Sturm, Universität Trier 1

126 Proprietäre APIs Na und? (c) Peter Sturm, Universität Trier 2

127 ... aber OS Konfiguration Feste APIs Transparent für Anwendungen ioctl() und andere Multimedia Innovation Variable / Neue APIs Beispiel 3dfx Glide (c) Peter Sturm, Universität Trier 3

128 Software Hardware API Standards DirectX Unmanaged (C++) Managed (C#) Shader Microsoft XNA OpenGL WebGL (c) Peter Sturm, Universität Trier 4

129 DirectX DirectX Laufzeitunterstützung für multimediale Anwendungen Direkter Zugang zu HW- Funktionalität Trotzdem hohe Kompatibilität Kooperation Microsoft mit diversen HW- Herstellern Aushandeln der Funktionalität Seit DirectX 7.0 TnL HAL Hardware Abstraction Layer HAL Hardware DirectX Hardware Emulation Layer HEL (c) Peter Sturm, Universität Trier 5

130 Funktionsumfang DirectX Graphics DirectDraw: 2D- Graphiken Direct3D (D3D): 3D- Darstellung DirectInput: Eingabegeräte DirectPlay: Networking (Multiplayer) DirectSetup: Installation von DirectX- Anwendungen DirectMusic: Alles was mit Ton zu tun hat DirectSound: (Low- Latency Sound) DirectShow: Streaming Media Historie Erste offizielle Version DirectX 5.0 TnL mit Version 7.0 GPU übernimmt zunehmend höhere Aufgaben Version 9.0c Managed- Zugang Neue Möglichkeiten bei den Shadern Version 10 (Vista) Unified Shader Version 11 (7) Managed weg L (c) Peter Sturm, Universität Trier 6

131 Wo, Wie groß, Installation Seit Windows 8 Teil des Windows SDK Dokumentation C/C++ ist Teil des SDK C# (allg. managed) war mal L Viele Beispiele Sample Browser DirectX SDK Tools: dxdiag (c) Peter Sturm, Universität Trier 7

132 Tools: capsviewer Tools: Effect Viewer (c) Peter Sturm, Universität Trier 8

133 Tools: MeshView Weitere Tools D3DSpy Beobachten der Direct3D- Funktionsaufruf (lokal und remote) DirectPlay Network Simulator DirectX Error Lookup Hexcode Textuelle Beschreibung Texture Tool DMO Tester (DirectX Media Objects) Streaming etc. Force Feedback Editor (c) Peter Sturm, Universität Trier 9

134 Die Render- Pipeline in D3D Klassische Grundstruktur Fixed Function Pipeline Programmable Pipeline Grundsätzliches Initialisierung Wahl der gewünschten Hardware Wahl des Treibers Konfiguration (Vollbild, ) Beschreibung der 3D- Szene Nutzung vorhandener Primitive (Box, Sphere, ) Nutzung der Basisabstraktionen (Dreieck, ) Wiederholtes Zeichnen der Frames Eingebundenen in die Spielsimulation Game- Loop (c) Peter Sturm, Universität Trier 10

135 Namespaces Microsoft.DirectX (c) Peter Sturm, Universität Trier 11

136 Devices Hardware Unterstützung durch Hardware Software Referenz Reine Software- Implementierung Betonung der Funktionalität Effizienz nebensächlich Meist nur auf einem Entwicklungssystem zugänglich Zugang zu einem Device Manager- Objekt (manager) Suche nach geeignetem Adaptor Adapator = eigene HW Z.B. Dual- Head- Karte hat zwei Adaptoren Property: AdapterListEnumerator (Adaptors) Durchlaufen und nach Adapter mit gewünschten Eigenschaften suchen Capabilities Stimmen Fähigkeiten des Geräts mit meinen Anforderungen überein? (c) Peter Sturm, Universität Trier 12

137 Knotenverarbeitung Primitive setzen sich aus Einzelpunkten zusammen Dreiecke (3 Punkte) Polygonzug Box (8 Punkte) Punkte werden häufig mehrfach verwendet z.b. jeder Punkt einer Box taucht in 6 Dreiecken auf Wo werden Knoten gespeichert und bearbeitet? SoftwareVertexProcessing: Standardisiert HardwareVertexProcessing: Kartenabhängig MixedVertexProcessing Knotenpuffer (Vertex Buffer) p1, p2, p3, p4, p5, p6,... Primitive Interpretation: p4 Point List: p1, p2, p3, p1 Line List: (p1,p2), (p3,p4), p5 Line Stripe: (p1,p2), (p2,p3), (p3,p4), p6 Triangle List: (p1,p2,p3), (p4,p5,p6), Triangle Stripe: (p1,p2,p3), (p2,p3,p4), (p3,p4,p5), Triangle Fan: (p1,p2,p3),(p1,p3,p4), (p1,p4,p5), p2 p3 (c) Peter Sturm, Universität Trier 13

138 Allgemeine Vorgehensweise Anlegen und Füllen eines VertexBuffer Variable Informationen pro Knoten VertexBuffer mit Device verbinden device.setstreamsource() Zeichnen device.beginscene() device.drawprimitives(type,firstvertex,#vertex) device.endscene() device.present() // Darstellen Welche Informationen pro Knoten Spezielle Klasse CustomVertex (c) Peter Sturm, Universität Trier 14

139 OpenGL OpenGL DirectX = Microsoft Single Source Alternative: OpenGL Sprach- und plattform- unabhängig Ursprung 1992 (SGI) jetzt Khronos Group Consortium (non- profit) Open* Adobe, AMD/ATI, Apple, ARM, Creative Labs, id Software, Epic Games, Ericsson, Google, IBM, Intel, Motorola, Mozilla, Nokia, Nvidia, Samsung, Sony, Oracle, Texas Instruments Kein Microsoft J (c) Peter Sturm, Universität Trier 15

140 Architektur Anwendung GLUT GLX / WGL / AGL X / Win32 / Mac OS GLU OpenGL OS- Plattform Windowing System AGL Apple Graphics Library GLX / freeglut /... X Window System WGL Microsoft Windows (c) Peter Sturm, Universität Trier 16

141 GLU und GLUT GLU (OpenGL Utility Library) Höhere Zeichenfunktionen Mapping zwischen Koordinatensystemen Texturen NURBS (Non- uniform rational B- Splines) GLUT (OpenGL Utility Toolkit) Realisiert OS- Neutralität OpenGL ES OpenGL for Embedded Systems Kompaktes API (c) Peter Sturm, Universität Trier 17

142 Shader Historie Bis Version 7 Erweiterung der Fixed- Function- Pipeline Aber mit Funktionsverlagerung in die GPU (Transform and Lighting) Erste programmierbare Shader ab Version 8 Starke Restriktionen Mit Version 10 werden GPUs zu echten SIMD- Rechnern (c) Peter Sturm, Universität Trier 18

143 Umfeld CPU GPU Core Core Shader Shader Hauptspeicher Videospeicher Einbettung Pipeline Vertex Shader Geometry Shader Clipping Screen Mapping Triangle Setup Triangle Traversal Pixel Shader Merger Vertex Shader Modifikationen auf Knotenbasis Geometry Shader Modifikationen auf Primitivbasis Pixel Shader Modifikationen auf Pixelbasis (c) Peter Sturm, Universität Trier 19

144 Capabilities SM 2.0/2.X SM 3.0 SM 4.0 Einführung DX 9.0, 2002 DX 9.0c, 2004 DX 10, 2007 VS Instruktionsslots 256 >= VS Max. Schritte beliebig PS Instruktionsslots >= 96 >= 512 >= PS Max. Schritte >= beliebig Temporäre Register >= VS Konstantenregister >= 256 >= * 4096 PS Konstantenregister * 4096 Flow Control Optional Ja Ja VS Texturen Nein * 512 PS Texturen * 512 Integer Support Nein Nein Ja VS Input Register PS Output Register Vertex Shader Kleine Assemblerprogramme Anbindbar an einen Vertex Stream Ausführung für jeden Vertex eines Streams Vordefinierte Input- und Hilfsregister Ergebnis steht in vordefinierten Ausgaberegistern Repertoir an Shader- Instruktionen (c) Peter Sturm, Universität Trier 20

145 Input- und Output- Register Input Output Instruktionen (c) Peter Sturm, Universität Trier 21

146 Beispiel Pixel Shader Assemblerprogramme Beeinflussen Pixelfarbe Grobarchitektur ähnlich Vertex Shader 2 Instruktionstypen Arithmetische Instruktionen Texturinstruktionen (c) Peter Sturm, Universität Trier 22

147 Arithmetische Instruktionen Texture Instructions (c) Peter Sturm, Universität Trier 23

148 Vertex Shader Transformation, Licht Per- Vertex Operationen Pixel Shader Textur- Komposistion Per- Pixel Operation Geoemtry Shader Per- Primitive Operationen Eingabe: beschreibenden Knoten Ausgabe: Stripes (Dreiecke, Linien, Punkte) Ausgabeanzahl wird im Setup festgelegt Hull Shader und mehr Die Shader Shader- Modell, Version 4 Gemeinsame Basis für alle Shader Befehlssatz mit CPU vergleichbar Integer und Bitoperation, Floating Point Erweiterung zu allgemein nutzbaren SIMD- Rechnern Freier Zugriff auf den Speicher Switch- Statements und Unterprogramme Keine Beschränkungen Mehr allgemein zugreifbare Ressourcen Beliebige Instruktionsanzahl (c) Peter Sturm, Universität Trier 24

149 Genauigkeit IEEE Floating- Point Compliance (fast) Präzises FP32- Rechnen Sampling Blending Mathematische Operationen Konvertierungen Exaktes Zeichnen Optimiertes Anti- Aliasing Aber Assembler? (c) Peter Sturm, Universität Trier 25

150 Higher Level High Level Shader Language (HLSL) DirectX GLSL OpenGL Shading Language Cg DirectX und OpenGL HLSL (c) Peter Sturm, Universität Trier 26

151 HLSL 4.0 C- ähnliche Programmiersprache Präprozessor Elementare Datentypen (float, int, bool, ) Operatoren, Variablen, Funktionen, Spezialisierung auf 3D- Graphik Vektortypen sind elementar (float2, float3, float4, ) Geeignete Operationen (Matrizenmultiplikation) Dedizierter Compiler (fxc.exe) Abbildung höherer Funktionen auf Shader- Potential Loop unrolling Umfangreiche Mathematikfunktionalität Reflection möglich Compile at Runtime us/library/windows/desktop/ee663274(v=vs.85).aspx (c) Peter Sturm, Universität Trier 27

152 Effect Pool XNA: Effects (fx) Effect Technique Variable Pass State Object Constant Shader (c) Peter Sturm, Universität Trier 28

153 GLSL OpenGL Shading Language Unterschiede im Detail Konverter- Werkzeuge (c) Peter Sturm, Universität Trier 29

154 Cg C for graphics: Open Source High- Level Shading Language Ersetzt Assembler für Vertex- und Pixel- Shader entstand in Zusammenarbeit mit Microsoft HLSL seit DirectX 9 Vorteile Cross- API (DirectX und OpenGL) Cross- Plattform (Windows, Linux, Mac OS) (c) Peter Sturm, Universität Trier 30

155 toolkit Funktionsweise Entwicklung der gewünschten Shader Digital Content Creation (DCC) z.b. mittels Maya, 3ds max etc. Spezielle Editoren Spieleprogrammierung Übersetzung durch Cg- Compiler Zum Übersetzungszeitpunkt der Anwendung Zur Laufzeit der Anwendung (c) Peter Sturm, Universität Trier 31

156 Cg Programme Ersetzen die Assemblerroutinen in DirectX Operieren auf in den Shadern definierten Ein- und Ausgaben Bindung an Programmvariablen über spezielle Syntax Innerhalb des Codes mehr oder weniger C XNA (c) Peter Sturm, Universität Trier 32

157 XNA Managed runtime für DirectX-Anwendungen Eingeführt 2004 Seit September 2010 XNA Game Studio 4.0 Ziel-Plattformen Windows PC Xbox 360 Windows Phone 7 Umfangreiches Framework (Engine?) (c) Peter Sturm, Universität Trier 33

158 WebGL (c) Peter Sturm, Universität Trier 34

159 WebGL seit 2006 Vladimir Vukićević (Mozilla) Verwaltet von Khronos Group (OpenGL) JavaScript API für OpenGL ES (kind of) HTML5 Canvas- Element Zugriff über JavaScript- DOM Mittlerweile auch höhere APIs z.b. Three.js WebGL? (c) Peter Sturm, Universität Trier 35

160 Multiplayer - rough cut Peter Sturm Universität Trier Single Player Ein Benutzer spielt alleine Eventuell Computergegner Non-Player Character (NPC) Peter Sturm, University of Trier 1

161 Multiplayer Mehrere Benutzer spielen miteinander oder gegeneinander Eventuell füllen Computergegnger auf Multiplayer Online Kontinuierliches Spiel bildet zweite Wirklichkeit Peter Sturm, University of Trier 2

162 Massive Multiplayer Online MMOGs Sehr hohe Teilnehmerzahlen Oft aufgrund des vorherrschenden Genre MMORPGs genannt Aus Multi-User-Dungeons (MUDs) entstanden rouge Peter Sturm, University of Trier 3

163 Virtuelle Welten Graphikzentrischer Aufbau einer virtuellen Welt Avatare Unbegrenzte Aufenthaltsdauer Der Weg ist das Ziel Peter Sturm, University of Trier 4

164 Avatar? Sekundärziele Primär natürlich Geld verdienen virtuell und real Zweite Realität Parallelwelt, Fokus Interaktion Spielwelten Lösen von Aufgaben/Quests Peter Sturm, University of Trier 5

165 Warum? Warum ein MMOG spielen? Echte (menschliche) Gegner, keine KI Zusammenspiel mit Menschen Virtuelle Freundschaften Flucht in eine virtuelle Welt Macht, Erfolg, Bestätigung Bis hin zur Sucht Nicht-technische Probleme Suchtpotential EverQuest = NeverRest oder EverCrack Komplexe soziale, gesellschaftliche und psychologische Folgen Partnerschaften, Peter Sturm, University of Trier 6

166 Spieler formen Spiele Abbilder realer Umgangsformen Positive Aspekte Freundschaft Räumliches denkvermögen Strategien / Kreativ Teamfähigkeit Man lernt neue Leute kennen Gleiche Interessen Stipendien / Sponsor / Arbeitsplatz Negative Aspekte Diebstahl Partnerschaften Vandalismus Beleidigung Verrat Mögliche Folgen Soziale Verarmung fehlender persönlicher Kontakte Realitätsverlust mit physischen Folgen Anleitung für das reale Leben Starker sozialer Druck durch Sippen/Clans/Gilden Spielsucht Erste Spezialkliniken/Abteilungen Selbsthilfegruppen Peter Sturm, University of Trier 7

167 Extremfälle Spieler vergessen das reale Leben Belgier stirbt 2008 an Erschöpfung nach exzessivem stundenlangen Spielen ohne Schlaf 28- jähriger Koreaner stibrt nach 50 Stunden ununterbrochenem Spiel an Dehydrierung Spieler stellen Spielszenen nach 13- jähriger Chinese stirbt; Eltern verklagen Hersteller Spieler können Welten nicht mehr trennen Mitglieder virtuell verfeindeter Gruppen prügeln sich real zu Tode Peter Sturm, University of Trier 8

168 Vorteilnahme (Exploits) Speed Hacking / Teleporting Geschwindigkeits- und Positionsmanipulationen Botting Programm kontrolliert den Spielercharakter Mechanics Exploits Überwinden physikalischer Schranken (z.b. durch Wänden gehen) Data Mining Unerlaubter Zugriff auf geschützte Daten Ausbeutung Goldfarmer / Chinafarmer Menschen spielen gegen Bezahlung Erwirtschaften virtuelle Güter und verkaufen diese außerhalb des Spiels Eine Schätzung geht von Beschäftigten aus (2008) 80% wohnen in China 500 Million Dollar Markt Peter Sturm, University of Trier 9

169 Chancen Wirtschaftsfaktor Innovationsmotor Technisch Wissenschaftlich Virtuelle Realitäten Überwindung des Raums Serious Games Gesellschaftliche Akzeptanz Forschungsschwerpunkte Neurobiologie / Psychologie Wie wichtig ist der Körper? Mirror neurons Wirtschaftswissenschaften Virtuelle Güter und Transaktionen Rechtswissenschaften Virtuelle Besitztümer, Rechte, Pflichten, Steuersysteme Informationssysteme Skalierbarkeit, Verteilte Systeme Offene Standards, Open Source Peter Sturm, University of Trier 10

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 3: Das Ideal - Photorealistisch Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal:

Mehr

Ansätze 4. GPU. Echtzeit- Raytracing. Polygon- Rendering. Computerspiele Sommer (c) 2013, Peter Sturm, Universität Trier 1

Ansätze 4. GPU. Echtzeit- Raytracing. Polygon- Rendering. Computerspiele Sommer (c) 2013, Peter Sturm, Universität Trier 1 4. GPU Ansätze Echtzeit- Raytracing Modell und Materialeigenschaften auf Raytracer Kontinuierliche Darstellung Polygon- Rendering CPU wählt darzustellende Polygone aus Render Pipeline (c) 2013, Peter Sturm,

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 8: Hardware Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch (Raytracing,

Mehr

Was sind Computerspiele? (c) 2013, Peter Sturm, Universität Trier

Was sind Computerspiele? (c) 2013, Peter Sturm, Universität Trier Was sind Computerspiele? 1 Das Ideal: Photorealistisch Anwendung der relevanten physikalischen Gesetze Lichtreflektion und brechung Samt u.a. Objekteigenschaften (Oberflächenbeschaffenheit) Viele Freiheitsgrade

Mehr

Zugänge. 6. 3D Programming. ! DirectX. ! Fixed-function Pipeline. ! Shader. ! OpenGL. ! Microsoft XNA. Spieleprogrammierung Winter 2011

Zugänge. 6. 3D Programming. ! DirectX. ! Fixed-function Pipeline. ! Shader. ! OpenGL. ! Microsoft XNA. Spieleprogrammierung Winter 2011 6. 3D Programming! DirectX! Unmanaged (C++)! Managed (C#)! Fixed-function Pipeline! Shader! OpenGL! Microsoft XNA Zugänge (c) Peter Sturm, Universität Trier 1 DIRECTX DirectX! Laufzeitunterstützung für

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 4: Die Realität DirectX und OpenGL (Übersicht) Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Sommer 23 Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 2: Die Mathematik Peter Sturm Universität Trier Outline. Übersicht und Motivation 2. Mathematische

Mehr

Einordnung. ! Raytracing als Darstellungsmethode für 3D-Echtzeit unrealistisch! Enorm hoher Aufwand. ! Ausgangspunkt 3D-Szene

Einordnung. ! Raytracing als Darstellungsmethode für 3D-Echtzeit unrealistisch! Enorm hoher Aufwand. ! Ausgangspunkt 3D-Szene Einordnung Ratracing als Darstellungsmethode für 3D-Echteit unrealistisch Enorm hoher Aufwand O ( Piel Objekte Lichtquellen) Ausgangsunkt 3D-Sene Welche Objekte sind auf dem Bildschirm sichtbar? Ggf. Cliing

Mehr

Seminar Game Development Game Computer Graphics. Einleitung

Seminar Game Development Game Computer Graphics. Einleitung Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig

Mehr

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme

Mehr

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 Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 9: Engines, Cg und anderes Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch

Mehr

Architektur moderner GPUs. W. Sczygiol - M. Lötsch

Architektur moderner GPUs. W. Sczygiol - M. Lötsch Architektur moderner GPUs W. Sczygiol - M. Lötsch Überblick Chipentwicklung Aktuelle Designs Nvidia: NV40 (ATI: R420) Vertex-Shader Pixel-Shader Shader-Programmierung ROP - Antialiasing Ausblick Referenzen

Mehr

Softwareprojekt Spieleentwicklung

Softwareprojekt Spieleentwicklung Softwareprojekt Spieleentwicklung Prototyp I (2D) Prototyp II (3D) Softwareprojekt 12.04. 19.04. 26.04. 03.05. 31.05. Meilenstein I 28.06. Meilenstein II Prof. Holger Theisel, Tobias Günther, OvGU Magdeburg

Mehr

Kunst der Spieleprogrammierung. The END. Playful Design. (c) 2013, Peter Sturm, Universität Trier

Kunst der Spieleprogrammierung. The END. Playful Design. (c) 2013, Peter Sturm, Universität Trier The END Playful Design 1 Gamification bzw. Playful Design Motivation Bedienungsfreundlichkeit ZENTRALES Element der Spieleentwicklung Software wird meist freiwillig genutzt J Spiele waren immer wichtig

Mehr

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Diplomarbeit 5HDO7LPH6SHFLDO (IIHFWV Neue Möglichkeiten durch programmierbare Shader Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Betreut von: Paul Grimm, Ralf Dörner Beginn: 01.04.02 Abgabe: 30.09.02

Mehr

SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION

SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION (until Geforce 7 Series) 1 ÜBERSICHT Grafikpipeline Verlagerung

Mehr

3D-Grafik-Chips. Informatik-Seminar Michael R. Albertin. Betreuer: E. Glatz

3D-Grafik-Chips. Informatik-Seminar Michael R. Albertin. Betreuer: E. Glatz 3D-Grafik-Chips Informatik-Seminar Michael R. Albertin Betreuer: E. Glatz Übersicht Übersicht Ziel Einleitung Chipgrundlagen Funktionen Benchmarks Schluss Ziel Grundlegende Techniken kennen Chips unterscheiden

Mehr

General Purpose Computation on GPUs

General Purpose Computation on GPUs General Purpose Computation on GPUs Matthias Schneider, Robert Grimm Universität Erlangen-Nürnberg {matthias.schneider, robert.grimm}@informatik.stud.uni-erlangen.de M. Schneider, R. Grimm 1 Übersicht

Mehr

Die Welt der Shader. Fortgeschrittene Techniken III

Die Welt der Shader. Fortgeschrittene Techniken III Die Welt der Shader Fortgeschrittene Techniken III Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Gliederung 1. Was ist ein Shader? 2. Verschiedene

Mehr

Jörn Loviscach Hochschule Bremen

Jörn Loviscach Hochschule Bremen Programmierbare Hardware-Shader Jörn Loviscach Hochschule Bremen Überblick Vertex- und Pixel-Shader Anwendungsbeispiele fx-dateien Anwendungsbeispiele Zusammenfassung Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline

Mehr

Grafikkarten-Architektur

Grafikkarten-Architektur > Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur

Mehr

PhysX Evaluation. Softwarepraktikum Computergraphik. Daniel Brock, Robert Kreuzer, Simon Kufner. 5. Juli 2010

PhysX Evaluation. Softwarepraktikum Computergraphik. Daniel Brock, Robert Kreuzer, Simon Kufner. 5. Juli 2010 PhysX Evaluation Softwarepraktikum Computergraphik Daniel Brock, Robert Kreuzer, Simon Kufner 5. Juli 2010 Daniel Brock, Robert Kreuzer, Simon Kufner () PhysX Evaluation 5. Juli 2010 1 / 17 1 Aufgabenstellung

Mehr

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware

Mehr

Jens Konerow. Managed DirectX und C#

Jens Konerow. Managed DirectX und C# Jens Konerow Managed DirectX und C# Jens Konerow Managed DirectX und C# Einstieg und professioneller Einsatz Jens Konerow: Managed DirectX und C# Einstieg und professioneller Einsatz ISBN-10: 3-935082-17-4

Mehr

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

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

Mehr

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Untersuchung und Vorstellung moderner Grafikchiparchitekturen Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Untersuchung und Vorstellung moderner Grafikchiparchitekturen Hauptseminar Technische

Mehr

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis Computergrafik Michael Bender, Manfred Brill Ein anwendungsorientiertes Lehrbuch ISBN 3-446-40434-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40434-1 sowie

Mehr

Kapitel 4: Schattenberechnung

Kapitel 4: Schattenberechnung Kapitel 4: Schattenberechnung 1 Überblick: Schattenberechnung Motivation Schattenvolumen Shadow Maps Projektive Schatten 2 Motivation Wesentlich für die Wahrnehmung einer 3D-Szene Eigentlich ein globaler

Mehr

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de Überblick Echtzeit-Rendering Uwe Domaratius dou@hrz.tu-chemnitz.de Gliederung 1. Einleitung 2. geometriebasierende Verbesserungen 3. Level-of-Detail 4. Culling 5. Texturen 6. bildbasiertes Rendering Was

Mehr

Thema: Hardware-Shader

Thema: Hardware-Shader Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung

Mehr

A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes

A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes Ingo Wald Carsten Benthin Philipp Slusallek Marco Lang Bisher Ray Tracing erstmals von Appel benutzt dutzende Algorithmen vor

Mehr

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger Seminar Computerspiele Räumliche Datenstrukturen Ralf Pramberger Themen 2 1. Grundlagen Szene Sichtbarkeit (Raytracing) Culling 2. Räumliche Datenstrukturen Bounding Volume Hierarchie Quadtree/Octree BSP-Tree

Mehr

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze Mesh-Visualisierung Von Matthias Kostka Übersicht Einführung Streaming Meshes Quick-VDR Rendering virtueller Umgebung Rendering mit PC-Clustern Zusammenfassung 2 Mesh Untereinander verbundene Punkte bilden

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

Echtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM

Echtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM Echtzeitfähige hige Verfahren in der Computergrafik Prof. Dr. Rüdiger R Westermann Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM Lehr- und Forschungsinhalte Visualisierung Darstellung

Mehr

Beleuchtung. in Computerspielen

Beleuchtung. in Computerspielen Beleuchtung in Computerspielen Motivation Überblick Licht und Schattierung Lichtquellen Lokale Beleuchtungsmodelle Schattierungsverfahren Oberflächensimulation Beispiele der CryEngine Ausblick Zusammenfassung

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-07-09 Noch Kapitel XVI Realtime Ray Tracing KD-Tree: Surface Area Heuristic Ziele der Aufteilung in Child Nodes: 1. Möglichst gleich viele Objekte

Mehr

Grundlagen der 3D-Grafik

Grundlagen der 3D-Grafik Seminar Programmierung von Grafikkarten Grundlagen der 3D-Grafik 8.5.26 Dominik Bossdorf Christian Schulze Marco Sebastiao 1 Inhalt Grafikhardware Rendering Pipeline am Beispiel OpenGL 3D Theorie mit homogenen

Mehr

Modellierung. Oliver Hartmann

Modellierung. Oliver Hartmann Modellierung Oliver Hartmann oliver.hartmann@uni-ulm.de Inhalt Boolesche Operationen Splines B-Splines Bezier-Kurven NURBS Anwendung Sculpting Volumengrafik Marching Cubes Ray Casting Texture Mapping Boolesche

Mehr

Texture Based Direct Volume Rendering

Texture Based Direct Volume Rendering Texture Based Direct Volume Rendering Vorlesung: "Advanced Topics in Computer Graphics" cbrak@upb.de 1 Agenda 1. Einleitung Volume Rendering 1.1. Volumendatensatz 1.2. Volumenintegral 1.3. Image order

Mehr

Einführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg

Einführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte

Mehr

Vorbemerkungen. Art of Game Programming Winter (c) Peter Sturm, Universität Trier 1. ! Vorlesung. ! Übung. ! Was nicht vorkommt!

Vorbemerkungen. Art of Game Programming Winter (c) Peter Sturm, Universität Trier 1. ! Vorlesung. ! Übung. ! Was nicht vorkommt! Art of Game Programming Winter 2011 Vorbemerkungen! Vorlesung! Donnerstags, 10-12 Uhr! Wahrscheinlich anderer Raum! Übung! Projektorientiert, Kleingruppen, 3-4 Aufgaben! Was nicht vorkommt!! Keine Walkthroughs,

Mehr

Eine Einführung in die Architektur moderner Graphikprozessoren

Eine Einführung in die Architektur moderner Graphikprozessoren Eine Einführung in die Architektur moderner Graphikprozessoren Seminarvortrag von Sven Schenk WS 2005/2006 Universität Mannheim, Lehrstuhl für Rechnerarchitektur Inhalt Historische Eckpunkte Einführung

Mehr

Christina Nell. 3D-Computergrafik

Christina Nell. 3D-Computergrafik Christina Nell 3D-Computergrafik Was ist 3D-Computergrafik? 3D graphics is the art of cheating without getting caught. (unbekannte Quelle) Folie 2/52 Inhalt Beleuchtung Shading Texturierung Texturfilterung

Mehr

Praktikum: Spieleengine im Eigenbau

Praktikum: Spieleengine im Eigenbau Seite 1/17 Praktikum Spieleengine im Eigenbau Alexander Weggerle, Tobias Bäuerle 19.10.09 http://www.saschawillems.de Praktikum: Spieleengine im Eigenbau Seite 2/17 Praktikum Spieleengine im Eigenbau Alexander

Mehr

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<< Prozedurale Texturen >>Was nicht passt wird passend gemacht...

Mehr

Computergrafik - Projekt

Computergrafik - Projekt Computergrafik - Projekt SS 2012 M.Sc. Peter Salz Einführung Erweiterung der CG-Übungen Nicht nur akademische Beispiele Kerntechnologien der Computergrafik vertiefen C++ (Programmiersprache) OpenGL (Grafik-Framework,

Mehr

Prozessor- und Rechnerarchitekturen (Master)

Prozessor- und Rechnerarchitekturen (Master) Prozessor- und Rechnerarchitekturen (Master) Themen am 28.06.17: Semesterrückblick, Terminplanung Ihrer Vorträge ProRecArc17_V10 Ulrich Schaarschmidt HS Düsseldorf, SS 2017 V1 (5.4.): Termine + mögliche

Mehr

Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

Darstellungsarten für 3D-Körper. Boundary Representation (BRep): Darstellungsarten für 3D-Körper Boundary Representation (BRep): Darstellung eines (verallgemeinerten) Polyeders durch das System seiner Ecken, Kanten und Facetten Abspeichern durch (Teilgraphen des) vef-graphen

Mehr

BlendaX Grundlagen der Computergrafik

BlendaX Grundlagen der Computergrafik BlendaX Grundlagen der Computergrafik Beleuchtungsmodelle (Reflection Models) 16.11.2007 BlendaX Grundlagen der Computergrafik 1 Rendering von Polygonen Der Renderingprozess lässt sich grob in folgende

Mehr

Grundlegende Algorithmen

Grundlegende Algorithmen 3D Spieleprogrammierung Grundlegende Algorithmen Übersicht Game Loop Spielarchitektur Aufäumen von Strukturen Vorbereiten für spätere Aufgaben Bewegungen Zeitmessung Zeitunabhängigkeit GameLoop Game Engine

Mehr

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Rendering Grundlagen Autodesk Maya. Grundlagen. Version 1.0-2009-04-08. 2009 Ingo Clemens brave rabbit www.braverabbit.de

Rendering Grundlagen Autodesk Maya. Grundlagen. Version 1.0-2009-04-08. 2009 Ingo Clemens brave rabbit www.braverabbit.de Rendering Grundlagen Version 1.0-2009-04-08 Allgemeine Unterschiede bei Renderern Scanline Rendering Raytrace Rendering Renderlayer Einsatz von Renderlayern Overrides Material Overrides Layer Presets Batch

Mehr

Proseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach

Proseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach Proseminar: Virtuelle Präsenz Vortrag: Steve Rechtenbach Themen: 2/22 Einführung Was ist OpenGL? / Entwicklung Fakten Kleines(!) Beispiel Hello OpenGL Shader Zusammenfassung OpenGL vs Direct3D Einführung:

Mehr

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg Einführung CUDA Friedrich-Alexander-Universität Erlangen-Nürnberg PrakParRA, 18.11.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell

Mehr

Game Engine Architecture and Development. Effekte (Sound, Partikel, Physik)

Game Engine Architecture and Development. Effekte (Sound, Partikel, Physik) Game Engine Architecture and Development Effekte (Sound, Partikel, Physik) Wer hat schon was? Sound s Soundsysteme Einfach zu benutzen Leveldesigner müssen sehr einfach Sounds hinzufügen können (Gamplay

Mehr

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

2. Der ParaNut-Prozessor Parallel and more than just another CPU core 2. Der ParaNut-Prozessor "Parallel and more than just another CPU core" Neuer, konfigurierbarer Prozessor Parallelität auf Daten- (SIMD) und Thread-Ebene Hohe Skalierbarkeit mit einer Architektur neues

Mehr

Eine Einführung Computergrafik SS14 Timo Bourdon

Eine Einführung Computergrafik SS14 Timo Bourdon Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP

Mehr

Compute Unified Device Architecture CUDA

Compute Unified Device Architecture CUDA Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:

Mehr

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen

Mehr

C A R L V O N O S S I E T Z K Y. Transformationen. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011

C A R L V O N O S S I E T Z K Y. Transformationen. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011 C A R L V O N O S S I E T Z K Y Transformationen Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation Transformationen Sind Grundlage vieler Verfahren der Computergrafik Model-

Mehr

Übersicht. Vergleich der Spielekonsole mit dem PC. Historie der Spielekonsolen von 1976 bis 1999

Übersicht. Vergleich der Spielekonsole mit dem PC. Historie der Spielekonsolen von 1976 bis 1999 Übersicht Vergleich der Spielekonsole mit dem PC Historie der Spielekonsolen von 1976 bis 1999 Heutige Generation der Konsolen Überblick Vergleich der PS2 mit der XBox Ausblick auf die kommende Konsolengeneration

Mehr

Kollisionserkennung

Kollisionserkennung 1 Kollisionserkennung von Jens Schedel, Christoph Forman und Philipp Baumgärtel 2 1. Einleitung Wozu wird Kollisionserkennung benötigt? 3 - für Computergraphik 4 - für Simulationen 5 - für Wegeplanung

Mehr

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung CUDA und Python Christian Wilms Integriertes Seminar Projekt Bildverarbeitung Universität Hamburg WiSe 2013/14 12. Dezember 2013 Christian CUDA und Python 1 Gliederung 1 Motivation 2 (GP)GPU 3 CUDA 4 Zusammenfassung

Mehr

Mathematische Grundlagen

Mathematische Grundlagen Mathematische Grundlagen Oliver Deussen Mathematische Grundlagen 1 Affine Räume um Zeichenebene bzw. Raum zu beschreiben, muß vorher ein Koordinatensystem festgelegt werden durch geometrische Fragestellungen

Mehr

Games Engines. Realtime Terrain Rendering

Games Engines. Realtime Terrain Rendering Games Engines Realtime Terrain Rendering RTR Gliederung Probleme & Anforderungen Grundlagen Heightmaps und Paging Visibility View Frustrum Culling Occlusion Culling/ Occlusion Map Fogging Level of Detail

Mehr

(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 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

Mehr

OpenCL. OpenCL. Boris Totev, Cornelius Knap

OpenCL. OpenCL. Boris Totev, Cornelius Knap OpenCL OpenCL 1 OpenCL Gliederung Entstehungsgeschichte von OpenCL Was, warum und überhaupt wieso OpenCL CUDA, OpenGL und OpenCL GPUs OpenCL Objekte Work-Units OpenCL Adressbereiche OpenCL API Codebeispiel

Mehr

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 2 Inhalt Einleitung Übersicht DirectX und Komponenten Übersicht OpenGL Sprachlicher Aufbau OpenGL Sprachlicher

Mehr

Seminar: GPU-Methoden für die Visualisierung und Computergraphik

Seminar: GPU-Methoden für die Visualisierung und Computergraphik Seminar: GPU-Methoden für die Visualisierung und Computergraphik Markus Huber, Grzegorz Karch, Michael Krone, Rudolf Netzel, Thomas Ertl Vorbesprechung 00.012 03.02.2016 Organisatorisches Das Seminar findet

Mehr

Datenblatt: TERRA PC-GAMER 6250 1.299,00. Gaming-PC mit 240GB SSD + NVIDIA GTX 970 Grafik. Zusätzliche Artikelbilder IT. MADE IN GERMANY. 10.12.

Datenblatt: TERRA PC-GAMER 6250 1.299,00. Gaming-PC mit 240GB SSD + NVIDIA GTX 970 Grafik. Zusätzliche Artikelbilder IT. MADE IN GERMANY. 10.12. Datenblatt: TERRA PC-GAMER 6250 Gaming-PC mit 240GB SSD + NVIDIA GTX 970 Grafik Das pure Gaming Erlebnis. Jetzt mit Intel Syklake Plattform & DDR4 RAM. Der TERRA Gamer-PC mit Intel Core Prozessor der 6.

Mehr

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern Fakultät Informatik Institut für Software- und Multimediatechnik, Professur für Computergraphik und Visualisierung Adaptives Displacement Mapping unter Verwendung von Geometrieshadern Diplomarbeit Timo

Mehr

Vom Web ins IoT: Schnelleinstieg in Tooling und Entwicklung

Vom Web ins IoT: Schnelleinstieg in Tooling und Entwicklung Vom Web ins IoT: Schnelleinstieg in Tooling und Entwicklung Webinar 11.05.2017 Andreas Schmidt @aschmidt75 www.cassini.ag www.thingforward.io @thingforward 2 11.05.17 Agenda Devices für das Internet der

Mehr

Praktikum Augmented Reality Fernrohr -Felix Löhr-

Praktikum Augmented Reality Fernrohr -Felix Löhr- Praktikum Augmented Reality Fernrohr -Felix Löhr- Allgemein Features Der Aufbau von Ogre Der Bezug zum Projektpraktikum Szenegraph Licht & Schatten Quaternionen Material Performance OGRE Object-Oriented

Mehr

-dimensionale Darstellungen

-dimensionale Darstellungen 1.9 2 1 2 -dimensionale Darstellungen Auf einer Fläche F (2 dimensional) wird eine Operation ausgeführt Zum Beispiel wir eine Verschiebung um den Vektor t durchgeführt. Gemeint ist der Körper, der überstrichen

Mehr

Datenblatt: TERRA PC-GAMER 6250 1.279,00. Gaming-PC mit 120GB SSD + NVIDIA GTX 970 Grafik. Zusätzliche Artikelbilder IT. MADE IN GERMANY. 14.07.

Datenblatt: TERRA PC-GAMER 6250 1.279,00. Gaming-PC mit 120GB SSD + NVIDIA GTX 970 Grafik. Zusätzliche Artikelbilder IT. MADE IN GERMANY. 14.07. Datenblatt: TERRA PC-GAMER 6250 Gaming-PC mit 120GB SSD + NVIDIA GTX 970 Grafik Das GAMING ERLEBNIS für die Freizeit. Der TERRA Gamer-PC mit Intel Core Prozessor der 4. Generation und NVIDIA GeForce GTX

Mehr

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung F1 Inhaltsverzeichnis 1 Hardwaregrundlagen 2 Transformationen und Projektionen 3 Repräsentation und Modellierung von Objekten 4 Rasterung 5 Visibilität und Verdeckung 6 Rendering 7 Abbildungsverfahren

Mehr

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill Computergrafik Ein anwendungsorientiertes Lehrbuch Bearbeitet von Michael Bender, Manfred Brill 1. Auflage 2003. Taschenbuch. 528 S. Paperback ISBN 978 3 446 22150 5 Format (B x L): 16,9 x 24,1 cm Gewicht:

Mehr

High Performance Embedded Processors

High Performance Embedded Processors High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de

Mehr

Masterpraktikum Scientific Computing

Masterpraktikum Scientific Computing Masterpraktikum Scientific Computing High-Performance Computing Thomas Auckenthaler Wolfgang Eckhardt Prof. Dr. Michael Bader Technische Universität München, Germany Outline Organisatorisches Entwicklung

Mehr

Graphische Datenverarbeitung I WS 2017/2018

Graphische Datenverarbeitung I WS 2017/2018 Graphische Datenverarbeitung I WS 2017/2018 Prof. Dr. techn. Dieter Fellner M.Sc. Roman Getto Roman.Getto@gris.informatik.tu-darmstadt.de Übersicht der Einführungsvorlesung Ziele und Organisatorisches

Mehr

Georg Molzer 1HDD 3D-Grafikkarten GDV-Hardware

Georg Molzer 1HDD 3D-Grafikkarten GDV-Hardware 3D-GRAFIKKARTEN Einleitung: 3D-Grafikkarten haben in erster Linie den Zweck, den Hauptprozessor beim Darstellen aufwendiger dreidimensionaler Szenarien zu entlasten. Sie übernehmen dabei einen Großteil

Mehr

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Till Fischer 03.11.2011 FZI Forschungszentrum Informatik Embedded Systems & Sensors Engineering (ESS)

Mehr

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell

Mehr

Machine Learning Hardware

Machine Learning Hardware Machine Learning Hardware Dominik Scherer 06.11.2017 Seminar Neuste Trends in Big Data Analytics Betreuer: Dr. Julian Kunkel Motivation Maschinelles Lernen in vielen Bereichen angewendet, z.b. Spracherkennung

Mehr

Einführung in das Visualization ToolKit. Institut für Simulation und Graphik, Otto-von-Guericke Universität Magdeburg

Einführung in das Visualization ToolKit. Institut für Simulation und Graphik, Otto-von-Guericke Universität Magdeburg Einführung in das Visualization ToolKit VTK Einführung: Gliederung Was ist VTK? VTK-Konzept Vorstellung MeVisLab VTK Beispiel in MeVisLab 2/26 Was ist VTK? Freie Software-Bibliothek für 3D Graphik und

Mehr

GPU-Programmierung: OpenCL

GPU-Programmierung: OpenCL Seminar: Multicore Programmierung Sommerstemester 2009 04.06.2009 Inhaltsverzeichnis 1 GPU-Programmierung von Grafikkarten von GPU-Computing 2 Architektur Spracheigenschaften Vergleich mit CUDA Beispiel

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs)

Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs) Fakultätsname XYZ Fachrichtung XYZ Institutsname XYZ, Professur XYZ Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs) im Rahmen des Proseminars Technische Informatik Juni

Mehr

Newtek Lightwave Grundlagen der 3D-Vektorgrafik

Newtek Lightwave Grundlagen der 3D-Vektorgrafik Newtek Lightwave Grundlagen der 3D-Vektorgrafik Form und Oberfläche Punkte und Polygone (mindestens 3-seitige Verbindungen zwischen Punkten) sind die Grundlage der Darstellung dreidimensionaler Objekte

Mehr

HLSL PostProcess Shaders

HLSL PostProcess Shaders HLSL Advanced 1 HLSL PostProcess Shaders Einführung PostProcess Effekte werden erst nach dem Rendern aller Objekte angewandt, nämlich auf das Render-Target (daher der Name). Das Spektrum der Möglichkeiten

Mehr

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Horst A. Mattfeldt Produkt Manager Matrix Vision GmbH V1.0 10/2010 MATRIX VISION GmbH 1 Inhalt/Content: Vom Vision Sensor über Atom Boxen

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( )

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( ) Universität Osnabrück Fachbereich Mathematik / Informatik 5. Vorlesung (06.05.2013) Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. Game Application Layer Rückblick Game

Mehr

World of Warcraft. Mindestvoraussetzungen

World of Warcraft. Mindestvoraussetzungen World of Warcraft Betriebssystem Windows XP / Windows Vista / Windows 7 Windows 7 / Windows 8 64-bit mit Windows 8 mit aktuellstem Servicepack aktuellstem Servicepack Prozessor Intel Core 2 Duo E6600 oder

Mehr

Beleuchtung Schattierung Rasterung

Beleuchtung Schattierung Rasterung Beleuchtung Schattierung Rasterung Thomas Jung t.jung@htw-berlin.de Beleuchtung, Schattierung und Rasterung in allen Echtzeit-3D-Umgebungen gleich OpenGL Direct3D 3dsmax,... Letzter Bestandteil der Grafikpipeline

Mehr

3D-Algebra Version 2

3D-Algebra Version 2 3D-Algebra Version 2 Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen Das Ziel Repräsentation von Punkten,

Mehr