Environment Mapping v 1.1

Größe: px
Ab Seite anzeigen:

Download "Environment Mapping v 1.1"

Transkript

1 DirectX Tutorial: Environment Mapping 1 Environment Mapping v 1.1 Einleitung Zuerst einmal sei gesagt, dass es verschiedene Arten von Environment Mapping gibt. Hier wird aber nur das Cubic Environment Mapping näher betrachtet. Wie der Name schon sagt, wird dabei eine kubische Umgebungstextur verwendet. Sie haben sich sicher schon einmal gefragt, wie man spiegelnde Oberflächen realisieren könnte. Eine neuere Technik ist Ray-Tracing: Für jeden Pixel des Objekts, das einen Reflektionseffekt aufweisen soll, wird ein Strahl in die 3D-Szene geschossen. Trifft der Strahl (engl. Ray) auf ein Objekt, so wird der Pixel in der Farbe des getroffenen Objekts gezeichnet. Da diese Aufgabe der CPU übergeben werden müsste, wäre eine solche Berechnung für Echtzeitgrafik (momentan) nicht realisierbar. Ein wesentlich schnellerer Ansatz ist daher Cubic Environment Mapping. Theorie Eine kubische Umgebungstextur beinhaltet sechs 2D-Texturen, welche die Szene, die das Objekt umgibt, aus der Sicht von sechs Seiten (vorn, hinten, oben, unten, rechts, links) beinhalten. Somit kann man die Oberfläche von Objekten metallisch glänzen lassen! Hier am besten einmal ein Screenshot, um etwas Motivation aufzubauen =) Abb. 1: Realtime Dynamic Cubic Environment Mapping Eine Cubic Map ( Würfeltextur ) besteht also aus sechs Seiten, für jede Blickrichtung eine. Die folgende Abbildung demonstriert dies:

2 DirectX Tutorial: Environment Mapping 2 Abb. 2: Skybox aufgefaltet Die Würfeltextur enthält also ein komplettes Abbild der Umgebung (engl. Environment). Doch wie kommen wir nun an diese Umgebungsdaten? Dazu müssen wir die ganze Szene in die Würfeltextur rendern, und dies einmal pro Seite. Pro Objekt fallen also insgesamt sechs zusätzliche Rendervorgänge an. Environment Mapping ist ohne den Einsatz von CPU-lastigem Ray-Tracing möglich. Die Funktionsweise ist relativ einfach: Abb. 3: Berechnung des Reflektionsvektors Von der Kameraposition zur Pixelposition auf dem Objekt wird ein Vektor generiert. Im selben Winkel α, in welchem die Kamera auf das Objekt schaut (resp. der Winkel zwischen Normalenvektor des Vertex und Kameraposition-zu-Objekt-Vektor), wird ein Vektor vom Objekt reflektiert. Dort, wo dieser Reflektionsvektor die Skybox trifft, wird die Farbe auf der Würfeltextur abgelesen. Der Pixel auf dem Objekt erhält nun genau diese Farbe. Dieses Verfahren wiederholt sich für jeden im sichtbaren Bereich liegenden Pixel des Objekts. Hier dürfte man eigentlich nicht von Skybox sprechen, denn eigentlich setzen wird nur eine Textur, ohne irgendwelche Geometrie. Ein etwas anderer Ansatz ist Spherical Environment Mapping. Eine Sphere-Map ist eine 2D- Repräsentation einer vollen Rundumsicht der Szene, die das Objekt umgibt. Damit könnte man

3 DirectX Tutorial: Environment Mapping 3 beispielsweise eine Fischaugenlinse entwickeln (dass die ganze Szene verschwommen aussieht). Diese Technik wird hier aber nicht weiter behandelt. Umsetzung mit Direct3D Im Zusammenhang mit Cubic Environment Mapping hört man immer wieder die Begriffe Pixel- und Vertex-Shader. Es ist möglich, die CPU zu entlasten, indem man die Texturkoordinatenberechnung der GPU übergibt. Weiter unten im Skript wird dann auch ein kleiner Shader entwickelt. Es gibt aber auch die Möglichkeit, die Texturkoordinaten von Direct3D generieren zu lassen. Dazu müssen erst eine Textur und anschliessend die entsprechenden Render- und Textur-Stage-States gesetzt werden. Das folgende Beispiel demonstriert, wie man der Textur der ersten Schicht die automatische Texturkoordinatengenerierung zuweist: IDirect3DDevice9::SetTexture(0, lpcubetexture); IDirect3DDevice9::SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR); Nun brauchen wir aber noch die Würfeltextur, die in lpcubetexture gespeichert wird! Zuerst müssen wir diese Textur erstellen: IDirect3DDevice9::CreateCubeTexture(256, // Auflösung (x = y) 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &lpcubemap, NULL); Dann brauchen wir eine Funktion, die einmal pro Frame aufgerufen wird und die ganze Szene in diese sechs 2D-Texturen rendert. Am besten lass ich gleich den Code sprechen: void RenderSceneIntoCubeMap() // das alte Render-Target LPDIRECT3DSURFACE9 lprtold = NULL; // Die Projektionsmatrix hat ein Sichtfeld von 90 kcmatrix mproj = kcmat_projection(kc_pi * 0.5f, 1.0f, 0.01f, 100.0f); // View-Matrix abfragen kcmatrix mviewdir = Camera.GetViewMatrix(); // Position auf den Ursprung setzen (wir brauchen nur Richtung) mviewdir.m41 = mviewdir.m42 = mviewdir.m43 = 0.0f; // die alten Device-Einstellungen speichern IDirect3DDevice9::GetRenderTarget(0, &lprtold); // alle Seiten der Würfeltextur durchgehen for (int iface = 0; iface < 6; ++iface) LPDIRECT3DSURFACE9 lpsurf; // Textur Nr. iface des Würfels anfordern und in // lpsurf speichern lpcubemap->getcubemapsurface((d3dcubemap_faces)iface, 0, &lpsurf);

4 DirectX Tutorial: Environment Mapping 4 // die angeforderte Textur als neues Render-Target setzen // und anschliessend wieder freigeben IDirect3DDevice9::SetRenderTarget(0, lpsurf); KC_MEM_RELEASE(lpSurf); // nur den Z-Buffer leeren IDirect3DDevice9::Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); // die endgültige View-Matrize zusammensetzen kcmatrix mview = mviewdir * GetCubeMapViewMatrix(iFace); // View- und Projektionsmatrix setzen IDirect3DDevice9::SetTransform(D3DTS_PROJECTION, &mproj); IDirect3DDevice9::SetTransform(D3DTS_VIEW, &mview); if (SUCCEEDED(IDirect3DDevice9::BeginScene())) // --- Szene hier rendern! --- IDirect3DDevice9::EndScene(); // das alte Render-Target wieder setzen IDirect3DDevice9::SetRenderTarget(0, lprtold); KC_MEM_RELEASE(lpRTOld); Hinweis: Die Funktion GetCubeMapViewMatrix erscheint weiter unten im Skript nochmals. Der Einsatz von Shadern Ob man nun einen Shader benutzt oder nicht, das Endergebnis ist in etwa das gleiche. Nur hat die CPU dadurch mehr Reserven für andere Berechnungen und ausserdem haben wir die Möglichkeit, über den Pixel-Shader jeden einzelnen Bildpunkt beliebig (!) zu verändern, bevor er schlussendlich am Monitor sichtbar wird. Der Code basiert übrigens auf dem Beispielprogramm HDRCubeMap aus dem DirectX 9 SDK und benutzt Vertex-Shader 1.1 und Pixel-Shader 2.0: // V E R T E X S H A D E R void Reflection(float4 Pos : POSITION, float3 Normal : NORMAL, out float4 opos : POSITION, out float3 EyeReflVec : TEXCOORD0) // Position in Weltkoordinaten transformieren float4 WorldPos = mul(pos, g_mworld); // den Normalenvektor ebenfalls in Weltkoordinaten transf. u. normalisieren float3 WorldNormal = normalize(mul(normal, g_mworld)); // den Kamera-zu-Vertex-Vektor bilden und dann den Reflektionsvektor // abfragen mit der vordefinierten Funktion reflect float3 EyeVec = g_camerapos - WorldPos; EyeReflVec = reflect(eyevec, WorldNormal); // Position transformieren opos = mul(worldpos, g_mviewproj); // P I X E L S H A D E R float4 ApplyPixelShader(float3 EyeReflVec : TEXCOORD0) : COLOR

5 DirectX Tutorial: Environment Mapping 5 return texcube(linearsampler, EyeReflVec) * g_fcolorfactor; Die von DirectX vordefinierte Funktion reflect tut im Grunde nichts weiter, als anhand des Normalenvektors und des inversen Zu-Kamera-Vektors die Texturkoordinaten für einen Pixel zu berechnen: EyeReflVec = 2 * dot(eyevec, WorldNormal) * WorldNormal - EyeVec; Implementierung Zuerst erstellen wir die Cube Map, in welche wir anschliessend rendern werden. Das Standardformat für Texturen, die als Render-Target verwendet werden, ist A8R8G8B8 (8 Bits pro Kanal). Alternativ könnte man ein Floating-Point-Format wie beispielsweise A16R16G16B16F verwenden. Was ist denn das schon wieder!? Als Floating-Point werden Texturformate bezeichnet, die jedem Farbkanal mehr als 8 Bits zur Verfügung stellen (z.b. 16 oder gar 32 Bits). Dadurch sind intensivere Farbtöne mit einem höheren Dynamikumfang möglich, was zur Verschönerung des Effekts beiträgt. 1 Die Cube Map wird wie folgt erstellt: pd3ddevice->createcubetexture(cube_map_size, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A16B16G16R16F, D3DPOOL_DEFAULT, & lpcubemap, NULL); Die Auflösung der Cube Map kann eigentlich frei gewählt werden, doch aus Kompatibilitätsgründen sind Werte wie 128, 256, 512 oder 1024 zu empfehlen. Nun wird eine Renderfunktion erstellt, die in etwa so aussieht: void RenderSceneIntoCubeMap() LPDIRECT3DSURFACE9 lpnewrt = NULL; LPDIRECT3DSURFACE9 lpoldrt = NULL; LPDIRECT3DSURFACE9 lpolddssurf = NULL; // Projektionsmatrix mit einem Sichtwinkel von 90 (4 * 90 = 360 ) kcmatrix mproj = kcmat_projection(kc_pi * 0.5f, 1.0f, 0.01f, 100.0f); // die Device-Einstellungen speichern pd3ddevice->getrendertarget(0, &lpoldrt); pd3ddevice->getdepthstencilsurface(&lpolddssurf))); // neuer Depth-Stencil-Buffer setzen pd3ddevice->setdepthstencilsurface(lpnewdssurf); // alle sechs Seiten der Cube Map durchgehen for (int iface = 0; iface < 6; iface++) // eine Seite der Cube Map als Render-Target setzen lpcubemap->getcubemapsurface((d3dcubemap_faces)iface, 0, &lpnewrt); pd3ddevice->setrendertarget(0, lpnewrt); lpnewrt->release(); // Render-Target löschen und Szene beginnen 1 Hinweis: Floating-Point-Formate werden nicht von allen Grafikkarten unterstützt

6 DirectX Tutorial: Environment Mapping 6 pd3ddevice->clear(0l, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0L); pd3ddevice->beginscene(); // gesamte Szene rendern RenderScene(mProj, GetCubeMapViewMatrix(iFace), FALSE); pd3ddevice->endscene(); // die alten Device-Einstellungen wieder aktivieren pd3ddevice->setdepthstencilsurface(lpolddssurf); pd3ddevice->setrendertarget(0, lpoldrt); // Speicher freigeben lpnewrt->release(); lpoldrt->release(); lpolddssurf->release(); Es wird also zuerst eine Projektionsmatrix mit einem Blickwinkel von 90 (denn es gibt ja vier Seiten, 4 90 = 360 Rundumsicht) und einem Aspekt von eins erstellt (Seitenverhältnis 1:1, denn die Seiten eines Würfels sind ja quadratisch). Als nächstes werden die Device-Einstellungen gespeichert, d.h. das aktuelle Render-Target und der Stencil-Buffer werden kopiert. Es folgt eine for-schleife, die alle Faces (also Würfelseiten ) durchläuft und sie als Render-Target setzt. Zum Beenden eines Durchgangs muss selbstverständlich die begonnene Szene mit EndScene geschlossen werden. Sobald alle sechs Seiten der Cube Map gefüllt sind, werden die alten Device-Einstellungen reaktiviert. Das Einzige, was wir von einem zum anderen Renderdurchgang ändern, ist die View-Matrix. Schauen wir uns doch mal die Funktion GetCubeMapViewMatrix an: kcmatrix kcenvmap::getcubemapviewmatrix(int iface) kcvector veyept = kcvector(0.0f, 0.0f, 0.0f); kcvector vlookdir; kcvector vupdir; switch (iface) case D3DCUBEMAP_FACE_POSITIVE_X: vlookdir = D3DXVECTOR3( 1.0f, 0.0f, 0.0f ); case D3DCUBEMAP_FACE_NEGATIVE_X: vlookdir = D3DXVECTOR3(-1.0f, 0.0f, 0.0f ); case D3DCUBEMAP_FACE_POSITIVE_Y: vlookdir = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); vupdir = D3DXVECTOR3( 0.0f, 0.0f,-1.0f ); case D3DCUBEMAP_FACE_NEGATIVE_Y: vlookdir = D3DXVECTOR3( 0.0f,-1.0f, 0.0f ); vupdir = D3DXVECTOR3( 0.0f, 0.0f, 1.0f ); case D3DCUBEMAP_FACE_POSITIVE_Z: vlookdir = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );

7 DirectX Tutorial: Environment Mapping 7 case D3DCUBEMAP_FACE_NEGATIVE_Z: vlookdir = D3DXVECTOR3( 0.0f, 0.0f,-1.0f ); kcmatrix mview = kcmat_camera(veyept, vlookdir, vupdir); return mview; Damit haben wir eigentlich alles Notwendige beisammen, was wir brauchen, um eine Oberfläche mit dynamischer Spiegelung der Umgebung in Echtzeit darzustellen. Gedanken zur Performance Nun sollte man in etwa wissen, wie Environment Mapping funktioniert. Sicherlich haben sie sich schon gefragt, ob das dann auch in akzeptabler Geschwindigkeit laufen wird. Es sind also sechs zusätzliche Rendervorgänge nötig und ausserdem müssen die Texturkoordinaten auf eine relativ rechenintensive Art ermittelt werden. Das ist tatsächlich nur auf schnelleren PC-Systemen lauffähig und auch da sollten Environment Maps nur sparsam angewandt werden! Ein halbes Dutzend solcher Environment Mapped Objekte können die Hardware ganz schön ins Schwitzen bringen =). Literaturverzeichnis - Scherfgen, David (2003). 3D Spieleprogrammierung Modernes Gamedesign mit DirectX 9 in C++. München: Carl Hanser Verlag - Microsoft DirectX 9.0 SDK Copyright 2005 by Reto Da Forno Irrtümer vorbehalten. Fehler bitte melden!

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

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

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

HLSL High-Level Shader Language

HLSL High-Level Shader Language HLSL Einführung 1 HLSL High-Level Shader Language High-Level Shader Language ist eine relativ neue Programmiersprache für die Graphic Processing Unit (GPU). Mit HLSL ist das Programmieren von Shadern mit

Mehr

Programmieren mit DirectX

Programmieren mit DirectX 2D 3D Programmieren mit DirectX Teil 3: Malte Ried Fachhochschule Gießen-Friedberg 30. Oktober 2005 Inhalt 2D 3D 1 2D 2 3D 3 2D 3D Bis jetzt Windows-Fenster, das man schließen kann initialisiertes Direct3D

Mehr

Spieleprogrammierung mit DirectX und C++

Spieleprogrammierung mit DirectX und C++ Ulrich Kaiser, Philipp Lensing Spieleprogrammierung mit DirectX und C++ 2D-, 3D- und Netzwerkspiele, viele Spezialeffekte Galileo Press Einleitung 11 Danksagung 13 Vorwort zur zweiten Auflage 14 1 Vorbereitung

Mehr

Shader. Computer Graphics: Shader

Shader. Computer Graphics: Shader Computer Graphics Computer Graphics Shader Computer Graphics: Shader Inhalt Pipeline Memory Resources Input-Assembler Vertex-Shader Geometry-Shader & Stream-Output Rasterizer Pixel-Shader Output-Merger

Mehr

Computer Graphics Shader

Computer Graphics Shader Computer Graphics Shader Sven Janusch Inhalt Fixed Function Pipeline Programmable Pipeline Implementierung Applikation Beispiel Sven Janusch 2 Fixed Function Pipeline T&L Pipeline (Transformation and Lighting)

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

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

Real-Time High-Dynamic Range Texture Mapping

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 -

Mehr

GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni

GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni 1 Ablauf GPU Programm Vertex und Fragment Shader 2 3 4 5 Image Processing 6 Ablauf GPU Programm Ablauf GPU Programm Vertex und Fragment

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

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

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

Schattenwurf mit Perspective Shadow Maps

Schattenwurf mit Perspective Shadow Maps 16. April 2010 Xpiriax Software Wer wir sind und was wir machen Hobby-Entwicklerteam, zur Zeit 6 Personen gegründet Anfang 2008 Schwerpunkte: Spiele- & 3D-Engine-Programmierung Ziele: Erfahrung, Arbeitsproben,

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Buffer Der 1-bit Stencil-Buffer Der 8-bit Stencil-Buffer Volumetrische Echtzeitschatten

Mehr

Computergraphik 1 LU ( ) Ausarbeitung Abgabe 2

Computergraphik 1 LU ( ) Ausarbeitung Abgabe 2 Computergraphik 1 LU (186.095) Ausarbeitung Abgabe 2 Beispiel 4... 2 CG1Object... 2 if (dobackfaceeculling && numvertexindec >=3)... 2 CG1ScanfilledPolygon CG1Polygon... 2... 2... 3 buildactivelist (int

Mehr

3D Programmierpraktikum: Schattenberechnung in Echtzeit

3D Programmierpraktikum: Schattenberechnung in Echtzeit 3D Programmierpraktikum: Schattenberechnung in Echtzeit Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 20. Juli 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-14 Kapitel V: Modeling Transformation & Vertex Shader 5.1 Vertex Definitionen: Vertex Vertex Computergrafik Mathematischer Punkt auf einer Oberfläche

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

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

Parallele und funktionale Prog. Wintersemester 2012/ Übung Abgabe bis , 10:00 Uhr

Parallele und funktionale Prog. Wintersemester 2012/ Übung Abgabe bis , 10:00 Uhr 9. Übung Abgabe bis 07.01.2013, 10:00 Uhr Aufgabe 9.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

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

Poser Tutorial by Margy

Poser Tutorial by Margy Poser Tutorial by Margy Dynamische Kleidung ist etwas Wunderbares. Der Stoff passt sich der Pose und der Figur an, und sieht einfach natürlicher aus. Kein Vergleich zur "normalen" Kleidung. Allerdings

Mehr

Optimierungsalgorithmen

Optimierungsalgorithmen Optimierungsalgorithmen Effektives Rendern in der Computergraphik Benjamin Schneider Agenda 1. Einleitung 2. Grundlagen 3. Algorithmen im Detail 4. Weitere Techniken 5. Verbesserungen 6. Fazit Einleitung

Mehr

Computergrafik SS 2010 Henning Wenke. Kapitel 21: OpenGL 3.1 (Fortsetzung)

Computergrafik SS 2010 Henning Wenke. Kapitel 21: OpenGL 3.1 (Fortsetzung) Computergrafik SS 2010 Henning Wenke Kapitel 21: OpenGL 3.1 (Fortsetzung) 1 OpenGL Aufgaben der GL-Befehle Konfigurieren der Graphics Pipeline Datenübergabe an Server Steuern des Datenflusses Java OpenGL

Mehr

Visualisierung und Volumenrendering 2

Visualisierung und Volumenrendering 2 Institut für Computervisualistik Universität Koblenz 06.07.2012 Inhaltsverzeichnis 1 Literatur 2 Wiederholung 3 DVR Volumen Literatur Real-Time Volume Graphics Volumenrendering CG Shader Beispiele Volumen

Mehr

(10) Deferred Shading

(10) Deferred Shading (10) Deferred Shading Vorlesung Computergrafik II Stefan Müller Dank an Niklas Henrich, Gerrit Lochmann Wdh. 1: Framebufferobjects (FBOs) Statt in den Framebuffer direkt zu rendern, kann man Texturen attachen,

Mehr

Rendern mit PSD Ebenen in Poser

Rendern mit PSD Ebenen in Poser Rendern mit PSD Ebenen in Poser Das Rendern in Ebenen gibt es seit Poser Pro 2010 und ist auch nur in den Pro Versionen vorhanden! Dieses Tutorial wurde mit Poser Pro 2014 und PaintShop Photo Pro erstellt.

Mehr

5 Mapping-Techniken. 5.1 Motivation

5 Mapping-Techniken. 5.1 Motivation 5.1 Motivation Bisher sind alle Oberflächen (polygonale Objekte, später auch parametrisierte Freiformflächen) glatt im Gegensatz zu wirklich existierenden natürlichen Oberflächen. Die explizite Wiedergabe

Mehr

Übungsblatt 10: Klausurvorbereitung

Übungsblatt 10: Klausurvorbereitung Übungsblatt 10: Klausurvorbereitung Abgabe: Dieses spezielle Übungsblatt hat keine Abgabefrist und wird auch nicht korrigiert. Die Lösung gibt es wie immer auf der Homepage der Vorlesung oder in den Übungen

Mehr

1.2 Dateiformate. max. 1,5 MB / Sekunde o Bild Sequenzen für alle in Schleife abzuspielenden Videos: BMP, PNG, JPG. bis zu 1.

1.2 Dateiformate. max. 1,5 MB / Sekunde o Bild Sequenzen für alle in Schleife abzuspielenden Videos: BMP, PNG, JPG. bis zu 1. Seite 1 von 7 Die ARTMOS GmbH bietet Ihnen an, inspirierende und eindrucksvolle Animationen für die LED Kugel zu erstellen. Sollten Sie sich entscheiden diesen Service in Anspruch zu nehmen, wird ARTMOS

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

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

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012

Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012 Familienname: Vorname: Matrikelnummer: Aufgabe 1 (2 Punkte): Aufgabe 2 (3 Punkte): Aufgabe 3 (2 Punkte): Aufgabe 4 (3 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (1 Punkte): Aufgabe 7 (2 Punkte): Aufgabe

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Prof. Andreas Butz, Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Puffer Der 1-bit Stencil-Puffer Der 8-bit Stencil-Puffer Volumetrische

Mehr

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05 Komplexpraktikum Graphische Datenverarbeitung im WS 04/05 von Enrico Leonhardt 28 45 669 TU Dresden Medieninformatik 29. März 2005 Graphische Datenverarbeitung WS 04/05 Einführung Dieser Raytracer entstand

Mehr

3D Rendering mit PHP. Die neue PEAR-Klasse Image_3D bietet die Möglichkeit nur mit PHP5 3DGrafiken zu rendern

3D Rendering mit PHP. Die neue PEAR-Klasse Image_3D bietet die Möglichkeit nur mit PHP5 3DGrafiken zu rendern 3D Rendering mit PHP Die neue PEAR-Klasse Image_3D bietet die Möglichkeit nur mit PHP5 3DGrafiken zu rendern Speaker Kore Nordmann Studiert Informatik an der Universität Dortmund Arbeitet als Software

Mehr

3D-Modellierungsprogramme

3D-Modellierungsprogramme 06.06.06 Bastian Schildbach 3D-Modellierungsprogramme mit Gliederung 1. Grundlagen Texture Mapping, Texturkoordinaten, Vertices, Texturaddressierung 2. Mapping-Techniken Bump, Displacement, Normal, Two-Part,

Mehr

Kontrollfragen Mikrocontroller Programmiersprache C H1203 Felix Rohrer

Kontrollfragen Mikrocontroller Programmiersprache C H1203 Felix Rohrer Block 1 1. Welcher Wert hat w? int w = 034; 28 (Dezimal) 034 wird als Octal interpretiert 34oct = 28dec 2. Wie lauten die Ergebnisse? unsigned int a = 3, b = 5, c = 7; unsigned int x, y, z; x = a == 3;

Mehr

Parallele und funktionale Prog. Sommersemester Übung Abgabe bis , 10:00 Uhr

Parallele und funktionale Prog. Sommersemester Übung Abgabe bis , 10:00 Uhr 9. Übung Abgabe bis 29.06.2012, 10:00 Uhr Aufgabe 9.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

7. Organisation von Informationen

7. Organisation von Informationen Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme

Mehr

Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006

Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006 12. Juni 2006 Bibliothek für Lineare Algebra GPGPU-Programming: Low-Level High-Level Bibliothek Bibliothek für Lineare Algebra Gliederung 1 Bibliothek für Lineare Algebra 2 Skalare Bibliothek für Lineare

Mehr

Beleuchtungsmodelle und Shading

Beleuchtungsmodelle und Shading Beleuchtungsmodelle und Shading Andreas Spillner Computergrafik, WS 2018/2019 Ziel der Modellierung von Beleuchtung Baut auf dem Kapitel zu Licht und Farben auf. In die 3D-Szene werden Lichtquellen eingebracht.

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

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

VHDL - Grundlagen des Pointrenderings

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

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

3D Programmierpraktikum: OpenGL Shading Language (GLSL)

3D Programmierpraktikum: OpenGL Shading Language (GLSL) 3D Programmierpraktikum: OpenGL Shading Language (GLSL) Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 13. Juli 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

Mehr

Computergrafik 1 Beleuchtung

Computergrafik 1 Beleuchtung Computergrafik 1 Beleuchtung Kai Köchy Sommersemester 2010 Beuth Hochschule für Technik Berlin Überblick Lokale Beleuchtungsmodelle Ambiente Beleuchtung Diffuse Beleuchtung (Lambert) Spiegelnde Beleuchtung

Mehr

Direct3D. (Scherfgen S )

Direct3D. (Scherfgen S ) Direct3D (Scherfgen S. 98-131) Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS 14/15 AM3 Hauptseminar Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

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

13.4 Umgebungs-Texturen (Environment Maps)

13.4 Umgebungs-Texturen (Environment Maps) 262 KAPITEL 13 TEXTUREN 134 Umgebungs-Texturen (Environment Maps) Bis vor wenigen Jahren war ein klares Erkennungszeichen von interaktiver 3D-Computergrafik das Fehlen von realistischen Spiegelungen Dies

Mehr

Wima-Praktikum 2: Bildsynthese-Phong

Wima-Praktikum 2: Bildsynthese-Phong Wima-Praktikum 2: Bildsynthese-Phong Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 1 Inhaltsverzeichnis 1 Einleitung 3 2 Kurze Beschreibung der Aufgabenstellung und dem Phong- Modell 3 3 Modellierung

Mehr

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit Rheinisch-Westfälische Technische Hochschule Aachen Seminararbeit Analyse von General Purpose Computation on Graphics Processing Units Bibliotheken in Bezug auf GPU-Hersteller. Gregori Kerber Matrikelnummer

Mehr

CAUSTICS & GODRAYS. Jacob Skuratovski

CAUSTICS & GODRAYS. Jacob Skuratovski CAUSTICS & GODRAYS Jacob Skuratovski Kaustiken Kaustik, caustic (engl.), Brennlinie, Brennfläche Bereich, in dem Lichtstrahlen gebündelt werden 3 verschiedene Arten Katakaustik Diakaustik Regenbogen Eine

Mehr

Sprachkonstrukte Verzweigungen und Array-Strukturen

Sprachkonstrukte Verzweigungen und Array-Strukturen Sprachkonstrukte Verzweigungen und Array-Strukturen Dr. Beatrice Amrhein Überblick Verzweigungen o if/else o switch/case Array-Strukturen o Vektoren und Matrizen 2 Verzweigungen 3 Verzweigungen: if/else

Mehr

Spieleprogrammierung Gems 4

Spieleprogrammierung Gems 4 Spieleprogrammierung Gems 4 von David Scherfgen, Dirk Wittke, Andrew Kirmse 1. Auflage Spieleprogrammierung Gems 4 Scherfgen / Wittke / Kirmse schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

Java 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002

Java 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002 Java 3D Linien, Flächen und Objekte Axel Bartsch, Okt. 2002 Virtual World Koordinaten System Grundlagen zur Definition visueller Objekte Shape3D Unterklasse der Leaf-Klasse Eigenschaften des visuellen

Mehr

Lineare Transformationen und Determinanten. 10-E Ma 1 Lubov Vassilevskaya

Lineare Transformationen und Determinanten. 10-E Ma 1 Lubov Vassilevskaya Lineare Transformationen und Determinanten 10-E Ma 1 Lubov Vassilevskaya Lineare Transformation cc Definition: V und W sind zwei Vektorräume. Eine Funktion T nennt man eine lineare Transformation von V

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen Computergraphik Grundlagen IX. Texturen und Schatten Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik Inhalt Lernziele 1. Texture Mapping 1. Texture Pipeline 2. Environment Mapping 3.

Mehr

Computergrafik 2008 Oliver Vornberger. Kapitel 19: Texturing

Computergrafik 2008 Oliver Vornberger. Kapitel 19: Texturing Computergrafik 2008 Oliver Vornberger Kapitel 19: Texturing 1 Strukturierte Fläche Beispiel: Steinmauer lege viele kleine rote Rechtecke auf ein großes weißes Rechteck: Nachteil: aufwändige Geometrie 2

Mehr

GPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1

GPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1 GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance

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

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

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

Script Pause

Script Pause Script 8.3.2017 Rückfragen zur Aufgabe UV-Texturkoordinaten erstellen, visualisieren und bearbeiten Materialien applizieren, Texturen laden Der UV-Editor zum Platzieren von Texturen (Selektion, Transform.)

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Partikelsysteme, Multipass Rendering Kollisionen Rauch Feuer Vulkane Regen Tierschwärme # 2 Eigenschaften Partikelsysteme sind Gruppen von

Mehr

Aus Zahlen werden Bilder. Jan Tobias Mühlberg <muehlber@fh-brandenburg.de>

Aus Zahlen werden Bilder. Jan Tobias Mühlberg <muehlber@fh-brandenburg.de> Aus Zahlen werden Bilder 1 Aus Zahlen werden Bilder Jan Tobias Mu hlberg Quelle: http://www.emperor-penguin.com 2 3 Modellierung einer Realität Ein endlich genaues Modell der

Mehr

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7 Sonja Hunscha - Koordinatensysteme 1 Inhalt Einleitung 2 1 Koordinatensysteme 2 1.1 Kartesisches Koordinatensystem 2 1.2 Polarkoordinaten 3 1.3 Zusammenhang zwischen kartesischen und Polarkoordinaten 3

Mehr

3.1 Motivation. - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.

3.1 Motivation. - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert. 3.1 Motivation Wichtige Grundlage der Bildwiedergabe auf dem Bildschirm oder anderen Ausgabegeräten sind Koordinatensysteme und Koordinatentransformationen im IR 2 und IR 3. Im allgemeinen unterscheidet

Mehr

Microsoft PowerPoint für Office 365 3D-Modelle

Microsoft PowerPoint für Office 365 3D-Modelle Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint für Office 365 3D-Modelle 3D-Modelle in PowerPoint für Office 365 Seite 1 von 7 Inhaltsverzeichnis Einleitung... 2 3D-Modell

Mehr

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max Kapitel 5 2D-Clipping Ziel: Nur den Teil einer Szene darstellen, der innerhalb eines Fensters sichtbar ist. y max y min x min x max Abbildung 5.1: Clip-Fenster 5.1 Clipping von Linien Zu einer Menge von

Mehr

Praxis der Programmierung

Praxis der Programmierung Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen

Mehr

Microsoft PowerPoint D-Modelle

Microsoft PowerPoint D-Modelle Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2019 3D-Modelle 3D-Modelle in PowerPoint 2019 Seite 1 von 7 Inhaltsverzeichnis Einleitung... 2 3D-Modell einfügen... 2 3D-Modell

Mehr

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9)

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9) t.jung@fhtw-berlin.de Heute Programmierbare Hardware-Shader Thomas Jung Architektur moderner Grafikkarten Rendering von Polygonlisten mit DirectX9 Vertex- und Pixel(Fragment) shader Motivation Spiele kommen

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-19 Die Erde ist eine Scheibe! Die Erde ist eine Kugel! 2012-06-19, H.W., Wörtlich 1992-11-02, Papst J.P. II. Sinngemäß. Kirchengeschichtlicher

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

In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es.

In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es. In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es. Im Spiel fällt ein Meteor vom oben zum unteren Rand. Das Raumschiff

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

Lösungsvorschlag zum zweiten Übungsblatt

Lösungsvorschlag zum zweiten Übungsblatt Lösungsvorschlag zum zweiten Übungsblatt Aufgabe Wir zeigen, daß die Drehung um den Ursprung um 9 und die Spiegelung an der x-achse nicht kommutieren. Die Matrix für die Drehmatrix lautet in diesem Fall

Mehr

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll Praktische Übungen zu Computertechnik 2 Versuchsprotokoll Versuch: C2 Parallelrechner Versuchsdatum und -zeit: Donnerstag, 03. Juni 2010, 10-13 Uhr Betreuer: Adrian Knoth Name, Studiengang, Mat.-Nr.: Ralf

Mehr

Volumenakquise. Vortrag von Benjamin Gayer

Volumenakquise. Vortrag von Benjamin Gayer 10.11.11 1 Volumenakquise Vortrag von Benjamin Gayer Einführung Bildquelle: http://www.medical.siemens.com/siemens/de_de/rg_marcom_fbas/files/patienteninformationen/ct_geschichte_technologie. pdf 10.11.11

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

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

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden 3D - Modellierung Arne Theß Proseminar Computergraphik TU Dresden Gliederung Darstellungsschemata direkte Constructive Solid Geometry (CSG) Generative Modellierung Voxelgitter indirekte Drahtgittermodell

Mehr

3D Programmierpraktikum: Szenegraphen und Texturierung

3D Programmierpraktikum: Szenegraphen und Texturierung 3D Programmierpraktikum: Szenegraphen und Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 1. Juni 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum SS2006

Mehr

Computergrafik SS 2012 Probeklausur Universität Osnabrück Henning Wenke, M. Sc. Sascha Kolodzey, B. Sc., Nico Marniok, B. Sc.

Computergrafik SS 2012 Probeklausur Universität Osnabrück Henning Wenke, M. Sc. Sascha Kolodzey, B. Sc., Nico Marniok, B. Sc. Computergrafik SS 2012 Probeklausur 1 06.07.2012 Universität Osnabrück Henning Wenke, M. Sc. Sascha Kolodzey, B. Sc., Nico Marniok, B. Sc. Aufgabe 1 (19 Punkte) Beantworten Sie die folgenden Fragen prägnant.

Mehr

Wiederholung. Vorlesung GPU Programmierung Thorsten Grosch

Wiederholung. Vorlesung GPU Programmierung Thorsten Grosch Wiederholung Vorlesung Thorsten Grosch Klausur 2 Zeitstunden (26.7., 8:30 10:30 Uhr, G29/307) Keine Hilfsmittel Kein Bleistift / Rotstift verwenden 3 Aufgabentypen Wissensfragen zur Vorlesung (ca. 1/3)

Mehr

Gobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0)

Gobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0) AntMe Sebastian Loers lb-sys.info Projekt: AntMe - Globales Gedächtnis (Version 1.0) Dokument Version: 1.0 Erstellt am: 15.04.2007 Geändert am: 30.04.2007 Copyright 2007 lb-sys.info. Alle Rechte vorbehalten.

Mehr

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther Graphische Datenverarbeitung Visualisierungstechniken Prof. Dr. Elke Hergenröther Visualisierungstechniken Visualisierung: Visualisierung bedeutet sichtbar machen, darstellen. Die CG beschränkt sich dabei

Mehr

Analytische Geometrie Spatprodukt

Analytische Geometrie Spatprodukt Analytische Geometrie Spatprodukt David Schmid, Reto Da Forno Kantonsschule Schüpfheim Januar 2005 Analytische Geometrie: Das Spatprodukt 1 Das Spatprodukt Hinweis: Die Vektoren werden aus darstellungstechnischen

Mehr

Informatik Fakultät Lehrstuhl für Computergrafik und Visualisierung. René Lützner

Informatik Fakultät Lehrstuhl für Computergrafik und Visualisierung. René Lützner Informatik Fakultät Lehrstuhl für Computergrafik und Visualisierung René Lützner Dresden, 22.05.2013 Motivation Computer Simulationen von dynamischen Molekulardaten Eigenschaften und Verhalten von großen

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

Yilmaz, Tolga MatNr: Mesaud, Elias MatNr:

Yilmaz, Tolga MatNr: Mesaud, Elias MatNr: Yilmaz, Tolga MatNr: 157317 Mesaud, Elias MatNr: 151386 1. Aufbau und Funktionsweise einer Grafikkarte 2. CPU vs. GPU 3. Software 4. Beispielprogramme Kompilierung und Vorführung 5. Wo wird Cuda heutzutage

Mehr