Seminar. Echtzeit-Rendering SS DirectX. Matthias Scharek

Größe: px
Ab Seite anzeigen:

Download "Seminar. Echtzeit-Rendering SS DirectX. Matthias Scharek"

Transkript

1 Fachbereich 4: Informatik Seminar Echtzeit-Rendering SS 2008 DirectX vorgelegt von Matthias Scharek Betreuer: Prof. Dr. Stefan Müller (Institut für Computervisualistik, AG Computergrafik) Koblenz, 11. Juni 2008

2 Inhaltsverzeichnis 1 Einleitung 2 2 Die Komponenten von DirectX DirectX Graphics Direct Music Direct Input Direct Sound Versionsunterschiede zwischen DirectX 9 und DirectX Einzelne Unterschiede im Überblick Validation Texturfelder Constant Buffers Predicated Draw Shader Modell DirectX 10 Pipeline Instancing Displacement Mapping Ausblick 13 5 Fazit 13 1

3 1 Einleitung DirectX ist eine Sammlung von Software-Schnittstellen (kurz: API, englisch: Application Programming Interface), die auf COM basieren. Das Component Object Model (kurz: COM) wurde von der Firma Microsoft entwickelt, um unter dem hauseigenen Betriebssystem Windows Interprozesskommunikation und dynamische Objekterzeugung zu ermöglichen. Ziel von COM ist es, Softwaresysteme in wiederverwendbare Komponenten zu zerlegen. Dabei werden diese Komponenten binär als Dynamic Link Library (kurz: DLL) oder als ausführbare Programme (EXE) gespeichert. Um eine Komponente zu erzeugen, muss davor definiert werden, welche Funktionalitäten diese Komponente zur Verfügung stellen soll, dies wird mit Hilfe von Schnittstellen erreicht [Röd99, Wik08]. Zu den wichtigsten Eigenschaften von COM gehört sowohl die Spach-/ als auch die Plattformunabhägigkeit. Aufgrund der Unterstützung des Binärstandards ist COM wie schon erwähnt sprachunabhängig. Das bedeutet, dass der Programmierer COM-Objekte mit objektorientierten Sprachen kompilieren kann. Dabei entsteht eine Binärdatei, die auf der einen Seite die implementierten Funktionen und auf der anderen Seite ein Interface zur Verfügung stellt. Durch dieses Interface können nun die implementierten Funktionen von anderen Programmen verwendet werden. Die Versionsunabhängigkeit wiederum ermöglicht, dass die Verwaltung von neuen Softwarefeatures in bestehende Anwendungen einfach intergriert werden kann [Zwi05]. Zusammen mit OpenGL gehört DirectX zu den wohl am häufigst verwendeten 3D-APIs. Das Ziel ist es, verschiedene Funktionen zur Verfügung zu stellen, mit deren Hilfe sich hardwarenahe Anwendungen erstellen lassen. DirectX besteht aus zahlreichen Komponenten, wie DirectX Graphics, Direct Input oder auch Direct Sound, um nur die wichtigsten zu nennen. In den folgenden Abschnitten werden diese und andere Komponenten etwas genauer erläutert. 2 Die Komponenten von DirectX Wie schon erwähnt ist DirectX nichts anderes als eine Sammlung von Schnittstellen. Aufgrund dieser Tatsache verstecken sich hinter dem Begriff DirectX zahlreiche Komponenten, die alle zusammen DirectX bilden. Zu den wichtigsten Komponenten zählt heut zu Tage wohl DirectX Graphics. Natürlich ist dies nicht der einzige Baustein von DirectX, DirectX Music, DirectX Sound, DirectX Input bilden ebenfalls Teile von DirectX [Wik08]. 2.1 DirectX Graphics DirectX Graphics besteht grundsätzlich aus DirectDraw und Direct3D (kurz: D3D) und bietet die Unterstützung von 2D und 3D Grafik an. Ersteres ermöglicht den direkten Zugriff auf die Bits der Grafikkarte und zweiteres ist für das Zeichnen von Primitiven verantwortlich. Bei dieser Komponente von DirectX kommen zwei 2

4 APIs zum Einsatz, eine low-level API und eine high-level API. Bei der low-level API handelt es sich um Direct3D, diese API wird gerne bei Anwendungen wie 3D Spielen verwenden. Die high-level-api ( Direct3DX ) hingegen ermöglicht in erster Linie 3D-Programmierung mit vertretbarem Aufwand zu realisieren. Direct3DX besitzt alle Basisfunktionalitäten von Direct3D [tec08, Wik08]. 2.2 Direct Music DirectX Music ist für die Wiedergabe von Musik verantwortlich [tec08]. 2.3 Direct Input Diese Komponente unterstützt verschiedene Eingabegeräte wie Maus, Tastatur oder Joystick. Darüber hinaus ist es mit DirectX Input möglich Force Feedback Effekte, wie Vibrationen im Game Pad zu erzeugen [tec08]. 2.4 Direct Sound Wie der Name schon sagt ist Direct Sound für die Wiedergabe von Soundeffekten verantwortlich. Bei dieser Komponente wird Raumklang unterstüzt. Direct Sound passt sich darüber hinaus auch automatisch an das Leistungvermögen der installierten Soundkarte an. Ermöglicht werden mit dieser Komponente Basiseffekte wie Volume, Frequency Control oder auch Panning. Zusätzliche Effekte wie 3D- Effekte und Equalization, Disortion oder auch Chorus könnte man schon als Feature bezeichnen [tec08]. 3

5 3 Versionsunterschiede zwischen DirectX 9 und DirectX 10 DirectX 10.1 ist zur Zeit die neueste Version von DirectX, da bis jetzt aber nur die Firma ATI/AMD Grafikkarten herstellt, die auch DirectX 10.1 unterstützen, ist wohl DirectX 10 der eigentliche Standard und man kann DirectX 10.1 ruhig noch ausser Acht lassen. Um den Sinn der zahlreichen Änderungen in DirectX 10 im Vergleich zu DirectX 9 zu sehen und zu verstehen, muss man sich der eigentlichen Problemstellung bei Grafikapplikationen bewusst werden. Alle 3D Befehle verursachen eine gewisse Auslastung der CPU, dadurch entstehen zwei wichtige Probleme: Erstens wird die Anzahl der zu renderten Objekte limitiert und zweitens kann nur eine bestimmte Anzahl von Effekten der Szene hinzugefügt werden. Basierend auf dieser Tatsache, lässt sich daraus folgern, dass eine Belastung der CPU nicht nur die Renderingperformance limitiert, sondern auch den visuellen Reichtum einer Szene. Eine Möglichkeit dieses Problem anzugehen, ist das sogenannte Batching. Beim Batching versucht man mehrere Objekte zusammen zu zeichnen. Jedoch entsteht auch hier eine Problematik und zwar kann man Batching auf Objekte mit unterschiedlichen Materialstrukturen leider nicht anwenden. Eine Lösung für diese Problematik liefert uns DirectX 10 in Form von texture arrays in Kombination mit instancing 10, was das genau ist wird auf den folgenden Seiten erläutert. State changes hingegen produzieren zusätzlich auch eine gewisse API Auslastung, dies beinhaltet den Wechsel von Texturen, shadern oder vertex Formaten, ohne diese Möglichkeiten würde jedes Objekt gleich aussehen. Da also state changes über die API erreicht werden, tragen auch diese eine gewisse CPU Auslastung. Hinzu kommt, dass state changes öfter vorkommen als Aufrufe zum Zeichnen (draw calls), da man möglicherweise mehrere Effekte auf ein und das selbe Objekt anwenden möchte. Wegen der hohen Kosten von state changes versuchen die Entwickler große Anzahlen von Texturen und individuellen Materialien zu vermeiden. Wie schon erwähnt leidet der visuelle Reichtum einer Szene darunter. Abhilfe soll nun die neue Laufzeit von DirectX 10 bringen, welche man wohl als Performance Feature bezeichnen könnte, da man versucht, die Performance im Gegensatz zu DirectX 9 erheblich zu steigern [NVI06]. 3.1 Einzelne Unterschiede im Überblick Die folgende Tabelle zeigt einige der vielen Unterschiede zwischen DirectX 9 und DirectX 10, einge von diesen Unterschieden werden auf den folgenden Seiten etwas genauer erläutert. Die verschiedenen Farben kennzeichnen Features, die zusammen gehören. So könnte man die Features in Farbe grün als Features betrachten, die die Performance verbessern sollen. Die Features in rot hingegen gehören zu High Level Shader Language 10 (kurz: HLSL) und Features in blau kennzeichnen die neuen Grafikeffekte. Der Rest gehört zum neuen Shader Modell. 4

6 Abbildung 1: DirectX 9 im vergleich zu DirectX 10 [NVI06]. 5

7 3.2 Validation Validation (deutsch: Validierung) gehört zu den Schlüsseländerungen der Laufzeit in DirectX 10. Validierung ist nichts anderes, als ein Prozess, der vor einem Aufruf zum Zeichnen (draw call) auftritt. Dabei werden Befehle und Daten, die von der Applikation gesendet wurden, auf fehlerfreie Formatierung überprüft. Darüber hinaus sichert Validierung die Integrität von Daten, verursacht aber auf der anderen Seite eine sehr hohe CPU Belastung. DirectX 9 validiert Ressourcen bei jeder Nutzung, DirectX 10 hingegen validiert nur einmal bei der Erzeugung der Ressource. Dies schafft einen enormen Performancegewinn. Abbildung 2 verdeutlicht den genannten Zusammenhang [NVI06]. Abbildung 2: Validierung in DirectX 9 und DirectX 10 [NVI06]. 3.3 Texturfelder Texturfelder (englisch: texture arrays) sind ein komplett neues Feature von DirectX 10, welches es ermöglicht bis zu 512 Texturen in einem array zu speichern. In einem Texturfeld werden Texturdaten gespeichert, diese Daten bestehen aus einer oder mehreren Subressourcen, welche wiederum als arrays oder mipchains organisiert sind. Das besondere an Texturfeldern ist, dass sie in DirectX 10 von Shadern gelesen und indiziert werden können. Die folgende Abblidung veranschaulicht ein 1D Texturfeld, welches aus drei 1D Texturen besteht. Die hier abgebildete 1D Textur besteht aus drei mip levels. Das oberste mip level ist das größte, nach unten hin nimmt die Größe der mip levels bis zur Größe eins ab. Die Elemente in jedem mip level können über den Vektor u (Textur Koordinate) adressiert werden. Jedes Element in jedem mip level beinhaltet einen einzelnen texel (Bildpunkt, der zu einer Textur gehört). Jedes mip level beinhaltet sozusagen eine Version der Ausgangstextur, aber mit sinkendem LOD (level of detail), zwischen den mip levels wird dann interpoliert. Texturfelder sind homogen, das heißt jede Textur im Texturfeld muss das gleiche Datenformat und die gleiche Größe haben. In DirectX 10 existieren darüber hinaus auch 2D Texturen und 2D Texturfelder, sowie 3D Textureressourcen [Bly06]. 6

8 Abbildung 3: 1D Texturfeld, bestehend aus drei 1D Texturen [Bly06]. 3.4 Constant Buffers Eine Konstante (englisch: constant) ist ein vordefiniertet Wert, der in allen Shaderprogrammen als Parameter verwendet wird. Das Licht einer Szene wird beispielsweise zusammen mit der Intensität, der Farbe und der Position durch eine Konstante definiert. In Anwendungen, wie Spielen müssen solche Konstante ständig aktualisiert werden, da sich die Umgebung in einem Spiel ja auch verändert. Diese Aktualisierung verursacht eine starke Belastung der CPU. Constant buffer hingegen ermöglichen bis zu 4096 Konstanten mit einem einzigen Aufruf zu aktualisieren. Dieses Feature wird mit Hilfe von HLSL 10 ermöglicht. Je nach Anwendung können constant buffer auf andere Weise aktualisert werden, Per-Primitive constant buffer werden für jede Primitive aktualisiert, Per-Frame constant buffer wiederum für jedes Frame [NVI06]. 3.5 Predicated Draw Dieses Feature wird sei DirectX 10 komplett ohne Eingriff der CPU ermöglicht. In einer 3D Szene gibt es oft Objekte, die durch andere Objekte verdeckt sind. Werden diese verdeckten Objekte trotzdessen gezeichnet verliert man natürlich Renderingperformance. Zu diesem negativen Effekt kommt noch hinzu, dass die gezeichneten Objekte, die verdeckt sind auf dem finalen Bild keine Änderung verursachen. Verdeckte Objekte werden in Bezug auf den visuelle Aspekt einer Szene sozusagen umsonst gezeichnet, verursachen aber durch das Zeichnen Performanceverlust. Bei Predicated Draw werden komplizierte Meshes durch einfache Box Meshes angenähert. Wenn das Zeichnen dieser Box keinen Effekt auf das finale Bild erzeugt, wird das dazugehörige komplexere Objekt einfach weggelassen. In früheren DirectX Versionen wurde für Predicated Draw sowohl die CPU als auch die GPU benötigt, in DirectX 10 ist dies erstmals nur auf der GPU möglich [NVI06]. 3.6 Shader Modell 4.0 Im Vergleich zu DirectX 9, wo das Shader Modell 3.0 unterstützt wird, gibt es in DirectX 10 die Unterstützung von Shader Modell 4.0. Die Änderungen im neuen Shader Modell lassen sich grundsätzlich in drei Hauptänderungen unterteilen: Der 7

9 Geometry Shader, unifizierte Shading Architektur und erheblich verbesserte Shaderressourcen. Wie man in der Abbildung 1 sehen kann wurden zahlreiche Shader Ressourcen erhöht. Eine unifizierte Shading Archtektur hat den Vorteil, dass Ressourcen, die an einer anderen Stelle der Pipeline entstanden sind, auch an anderen Stellen der Pipeline benutzt werden können, ohne dass der Programmierer Umwege in der Programmierung gehen muss. Mit dem geometry shader ist es zum ersten Mal möglich Geometrie sowohl auf der GPU zu erzeugen, als auch wieder zu löschen. Diese beiden Operationen nennt man data amplification und data minimization. Der Geometriy Shader bekommt im Vegleich zum Vertex Shader, der einzelne Punkte als Eingabge bekommt und auch wieder einzelne Punkte als Ausgabe liefert, ganze Primitiven als Eingabe. Diese Primitiven, wie Linien oder Dreiecke können natürlich auch vom Geometry Shader ausgegeben werden. Der Geometry Shader liegt in der DirectX 10 Pipeline zwischen vertex shader und Rasterisierung. Mit Hilfe des stream outputs können nun Daten, wieder zurück zum vertex shader gestreamt werden, ohne durch die ganze Pipeline zu müssen. Durch den Geometry Shader können Effekte wie displacment mapping 10 ermöglicht werden. Abbildung 4: DirectX 10 pipeline[bly06]. 8

10 3.7 DirectX 10 Pipeline Die DirectX 10 Pipeline besteht aus insgesamt sieben Stationen: der input assembler station, dem vertex shader, dem geometry shader, der stream output Station, der Rasterisierungs Station, dem pixel shader und der output merger Station. Im Vergleich zur DirectX 9 Pipeline gibt es zwei wesentliche Änderungen, der geometry shader und der stream output. Die folgende Zusammenfassung soll einen kurzen Überblick über die einzelnen Stationen der Pipeline liefern : 1. Input assembler stage: Verantwortlich für die Versorgung der Pipeline mit Daten ( Dreiecke, Linien und Punkte ). 2. Vertex shader stage: Verarbeitet Eckpunkte, Per-Pixel-Operationen wie Transformation. 3. Geometry shader stage: Verarbeitet ganze Primitiven. 4. Stream output: Ist dafür gedacht, Punktdaten aus dem GS oder VS in die Buffers des Speichers zu streamen 5. Rasterizer stage: Für das Clipping verantwortlich, Vorbereitung der Primitiven für den Pixel Shader. 6. Pixel shader stage: Bekommt interpolierte Daten für ein Primitive und generiert Per-Pixel Daten wie Farbe. 7. Output merger stage: Verantwortlich für das Kombinieren von verschiedenen Arten von Ausgabedaten um das finale Pipeline Ergebnis zu erzeugen [Bly06]. 3.8 Instancing 10 Seit DirectX 9 ist es möglich mehrere Instanzen von ein und dem selben Objekt zu erzeugen und diese mit nur einem draw call an verschiedenen Orten zu zeichnen. Das Problem bei dieser Technik ist, dass alle Instanzen die gleiche Textur haben und somit perfekte Klone angefertigt werden. Dadurch können beispielsweise bei großen Schlachten in einem Spiel, die einzelnen Charaktere, die mit instancing erstellt wurden, nicht ihr eigenes Aussehen haben, die Szene wirkt mehr oder weniger gleich. Mit DirectX 10 und der Möglichkeit von Texturfeldern brauchen verschiedene Instanzobjekte nicht mehr die gleiche Textur zu benutzen. Es werden Objekte erzeugt, die unterschiedlich aussehen und sich sogar unterschiedlich bewegen können und das mit einer starken Reduzierung der draw calls durch instancing. Instancing verbessert somit nicht nur den visuellen Aspekt einer Szene sondern auch die Performance von 3D Applikationen [NVI06]. 3.9 Displacement Mapping 10 Displacement mapping 10 ist wie instancing 10 einer der vielen next generation effects, die mit DirectX 10 kommen. Bei displacement mapping wir oft eine Zer- 9

11 legung der Geometrie in Dreiecke gemacht und dann mit Hilfe einer Höhenkarte (englisch: height map) zusammengeführt. In DirectX 10 werden Details nun mit Hilfe von drei Tetraedern erzeugt. Diese drei Tetraeder werden für jedes Eingabedreieck erzeugt und mit einem ray-tracing Ansatz wird die Geometrie dieser Tetraeder und der Szene berechnet. Es muss also für jedes Dreieck ein Prisma erzeugt werden, indem man die Eckpunkte entlang der Normalen verlängert (siehe Abbildung 5). Die Verlängerung geschieht anhand des maximalen displacements. Die x und y Texturkoordinaten oben auf dem Prisma bleiben, wie die Texturkoordinaten unten auf dem Prisma, gleich. Die z Texturkoordinate wird aber auf 1 gebracht, um das maximale displacement zu repräsentieren. Abbildung 5: Prisma, welches über die Dreiecke eines meshes aufgespannt wird [Cor08]. Würde man nun durch dieses Prisma ray tracen um die Texturkoordinate zu finden wo der Augenstrahl ein-/ und austritt, entstehen zwei Probleme. Auf der einen Seite kann man zwar mit Hilfe der height map (zwischen Eintrittspunkt und Austrittspunkt) ganz einfach bestimmen, wo der Strahl durch unsere Textur schneidet, aber auf der anderen Seite kann aufgrund von Krümmungen im mesh nicht garantiert werden, dass die vier Punkte einer Seite des Prismas koplanar sind. Dadurch entstehen Risse in der Textur. Das zweite Problem liegt in der Berechnung der Texturkoordinate beim Austritt des Strahls. Der Eintrittspunkt lässt sich einfach berechnen, da durch depth-buffering immer das nächste Dreieck zum Auge gezeichnet wird, kann die Hardware automatisch die Texturkoordinate des Eintritts entlang der draw faces interpolieren. Diese beiden Probleme lassen sich durch eine Zerlegung des Prismas in drei Tetraeder lösen (siehe Abbildung 6). Hat man das Prisma in drei Tetraeder zerlegt lässt sich die Entferung vom Eintrittspunkt zur hinteren Seite des Tetraeders leicht berechnen, indem man den Augenstrahl mit den Ebenen des Tetraeders schneidet. Der Austrittspunkt lässt sich wiederum aus der Eigenschaft von Tetraedern berechnen. Wenn man die Texturkoordinaten der vier Punkte einer Seite des Prismas 10

12 benutzt, kann man daraus einen sogenannten konstanten Texturgradient, welcher für alle Tetraeder allgemeingültig ist, berechnen. Mit Hilfe dieses Gradienten und der Texturkoordinate des Eintritts und der Distanz zur hinteren Seite des Tetraeders kann der shader die Texturkoordinate des Austritts berechnen. Abbildung 6: Prisma, welches nun in die drei Tetraeder zerlegt wurde [Cor08]. Nachdem man nun die Texturkoordinate des Eintritts und des Austritts berechnet hat, werden die x-/ und y-koordinaten dafür verwendet, um in die displacement map zu schauen. Dadurch kann man die z-koordinate, welche die Höhe im ursprünglichen Dreieck repräsentiert, mit dem Wert in der displacement map vergleichen. Ist die z-komponente vom Strahl kleiner als die Höhe aus der displacement map, wird angenommen, dass hier geschnitten wird und hört auf entlang des Strahls zu suchen. Wenn kein Schnittpunkt gefunden wird, bevor der Austrittspunkt des Strahls erreicht wird, wird das Pixel verworfen. Wenn der Schnittpunkt einmal gefunden ist, muss nur noch die Farbe bestimmt werden. Die Unterschiede zwischen normalem mapping und displacement mapping 10 lassen sich den folgenden Abbildungen entnehmen [Cor08]. 11

13 Abbildung 7: Normales mapping [Cor08]. Abbildung 8: Displacement Mapping 10 [Cor08].

14 4 Ausblick DirectX 10.1 war wohl die letzte Version von DirectX 10. Mit DirectX 11 will Microsoft die Unterstützung von Ray Tracing ermöglichen. Zwar soll Rasterisierung noch erhalten bleiben, die Frage aber, die man sich stellen sollte, wäre wohl für wie lange. DirectX 11 soll Gerüchtenßu Folge mit Windows Vista Service Pack 2 Ende 2008 kommen [Har08]. Zahlreiche Computerzeitschriften spekulieren und melden aber schon jetzt ein Datum nahe Fazit DirectX 10 bringt im Vergleich zu DirectX 9 zahlreiche Änderungen, die die Performance von 3D-Applikationen verbessern sollen. Die folgende Abbildung zeigt eine Tabelle, welche die Minimierung der CPU Belastung etwas näher verdeutlichen soll. Auf dem Papier sieht das natürlich alles sehr toll aus, in Wirklichkeit, braucht man trotz der verbesserten Performance immer noch Grafikkarten, die im Bereich der 150 bis 250 Euro liegen, um Spiele wirklich auf maximalen Details spielen zu können. Also was hat sich für den Verbraucher geändert? Teurere Hardware verspricht weiterhin bessere Qualität in Spielen, ist aber den Preis leider nicht wert. Darüber hinaus scheint sich DirectX 10 in manchen Spielegenres erst gar nicht etabliert zu haben, MMORPGS (massively multiplayer online roleplaying game) unterstützen zum jetzigen Zeitpunk gar kein DirectX 10 und man spricht schon von DirectX 11. Spiele wie Egoshooter scheinen aber von DirectX 10 wenigstens visuell zu profitieren, die Anschaffung der teuren Hardware auf der anderen Seite ist es aber leider nocht nicht wert. Abbildung 9: Unterschiede in der CPU Belastung zwischen DirectX 9 und DirectX 10 [NVI06]. 13

15 Literatur [Bly06] David Blythe. Direct3d 10. pages Microsoft Corporation, [Cor08] Microsoft Corporation. The directx software development kit. Microsoft Corporation, März [Har08] PC Games Hardware. Directx 11: Microsoft wechselt das lager und bringt ray-tracing /News/DirectX_11_Microsoft_wechselt_das_ Lager_und_bringt_Ray-Tracing/, März [NVI06] NVIDIA. Technical brief microsoft directx 10 : The next generation graphics api. pages 4 5. NVIDIA Corporation, [Röd99] Lutz Röder. Komponentenentwicklung mit dem component object model. In OBJEKTspektrum 3, pages LITTLE softwarehouse GmbH, [tec08] techfaq. Was ist directx. de/directx.shtml, [Wik08] Wikipedia. Directx. DirectX, [Zwi05] Olaf Zwintzscher. In Software-Komponenten im Überblick. Einführung, Klassifizierung Vergleich von JavaBeans, EJB, COM+, Net, CORBA, UML 2. W3L. Herdecke,

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

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

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

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

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe Grafikprozessoren Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe 2D: Berechnung der Bildes aus einfachen Grafikprimitiven 3D: Bildaufbau aus räumlicher Beschreibung

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

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

(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

Seminar: Grafikprogrammierung

Seminar: Grafikprogrammierung Game Developer Converence 08 Seminar: Grafikprogrammierung Alexander Weggerle 17.04.08 Seite 2 Einführung Themenüberblick Organisatorisches Seminarablauf liches Seite 3 Einführung Seminar Motivation Vorbereitung

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

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

Anwendungsentwicklung mit dem Windows Phone 7

Anwendungsentwicklung mit dem Windows Phone 7 Anwendungsentwicklung mit dem Windows Phone 7 Anwendungen auf Basis von XNA IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe

Mehr

OpenGL vs. Direct3D Ein 3D-API Vergleich

OpenGL vs. Direct3D Ein 3D-API Vergleich OpenGL vs. Direct3D Ein 3D-API Vergleich 3D-APIs (Application Programming Interface)sind Software-Schnittstellen, um über einen Standard auf die Hardware des Rechners zugreifen zu koennen. Direct3D von

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

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

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

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

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen MASTER THESIS zur Erlangung des akademischen Grades Master of Science in Engineering im Studiengang 585 Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen Ausgeführt

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

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

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

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Asteroids3D Seminar: Game Programming Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Gliederung 2 1. Live-Demo und Spielidee 2. Softwarearchitektur und Szenengraph Übersicht

Mehr

Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann

Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann Futurella Spielprinzip & Demo - Raumschiffe - Asteroiden - Zielplaneten - LAN Multiplayer Wettrennen

Mehr

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Game Development 1. Proseminar Objektorientiertes Programmieren mit.net und C# Philipp Kaiser. Institut für Informatik Software & Systems Engineering

Game Development 1. Proseminar Objektorientiertes Programmieren mit.net und C# Philipp Kaiser. Institut für Informatik Software & Systems Engineering Game Development 1 Proseminar Objektorientiertes Programmieren mit.net und C# Philipp Kaiser Institut für Informatik Software & Systems Engineering Agenda Allgemeine Spieleentwicklung XNA: Vereinte Programmierschnittstellen

Mehr

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Billboards Letztes Übungsblatt: Meshes & Instancing um dem Terrain zusätzliche Details (Vegtation) hinzuzufügen. Nachteil:

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

XNA. Alt Christian, Atzl Caroline, Gintner Peter, Huemer Sandra. January 16, 2009

XNA. Alt Christian, Atzl Caroline, Gintner Peter, Huemer Sandra. January 16, 2009 -Framework Alt Christian, Atzl Caroline, Gintner Peter, Huemer Sandra January 16, 2009 -Framework Inhaltsverzeichnis 1 Einführung Vergleich 2 -Framework Schichten 3 4 Grundgerüst Beispiel zu Einführung

Mehr

Computer Graphik (CS231) - Installation der Software

Computer Graphik (CS231) - Installation der Software UNIVERSITÄT BASEL Prof. Dr. Thomas Vetter Departement Mathematik und Informatik Spiegelgasse 1 CH 4051 Basel Tobias Maier (tobias.maier@unibas.ch) Jasenko Zivanov (jasenko.zivanov@unibas.ch) Marc Schmidlin

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

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

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

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

SINAMICS Intelligent Operator Panel (IOP)

SINAMICS Intelligent Operator Panel (IOP) SINAMICS Intelligent Operator Panel (IOP) Anweisungen zur Installation der IOP Firmware und Software Ausgabe: Dezember 2013 Technische Änderungen vorbehalten Page Siemens AG 2013 Subject to change without

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

Mac OS X und ios. Softwarearchitekturen SS 2011. Von Pawel Wall

Mac OS X und ios. Softwarearchitekturen SS 2011. Von Pawel Wall Mac OS X und ios Softwarearchitekturen SS 2011 Von Pawel Wall Inhalt UNIX-Kategorien Kernel und Kerneltypen Die Vorgeschichte von Mac OS X Die Architektur von Mac OS X Die Architektur von ios Fazit Unix-Kategorien

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

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

(13) Hot Topics. Vorlesung Computergrafik T. Grosch (13) Hot Topics Vorlesung Computergrafik T. Grosch Heute Vorstellung der besten Flugsimulatoren Hot Topics T. Grosch - - Warum Hot Topics? Typischerweise i Computergrafik 1 : Grundlagen, konstant Computergrafik

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

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

SMAVIA & Externe Systeme

SMAVIA & Externe Systeme Whitepaper SMAVIA & Externe Systeme Erforderliche Lizenzen und Verfahren für die Einbindung von SMAVIA Recording Server in externe Systeme über Dallmeier Schnittstellen Deutsch Rev. 1.0.0 / 2012-04-17

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

3.5 Implizite Beschreibungen

3.5 Implizite Beschreibungen 3.5 Implizite Beschreibungen 3 Repräsentation und Modellierung von Objekten Idee: Beschreibung von Objekt-Flächen bzw. -Volumina als Isoflächen in Skalarfeldern. Die Skalarfelder ihrerseits entstehen kontrolliert

Mehr

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen:

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen: Smith Micro Software, Inc. und das Poser-Team freuen sich mitteilen zu dürfen, dass das Poser Pro 2014 Service Release 4 (SR4) ab sofort für Mac OS X und Windows verfügbar ist. Das SR4 wird ihre Poser-Vollversion

Mehr

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Martin Christen FHNW Hochschule für Architektur, Bau und Geomatik Institut Vermessung und Geoinformation martin.christen@fhnw.ch

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

Photonik Technische Nutzung von Licht

Photonik Technische Nutzung von Licht Photonik Technische Nutzung von Licht Raytracing und Computergraphik Überblick Raytracing Typen von Raytracern z-buffer Raytracing Lichtstrahlen-Verfolgung (engl. ray tracing): Berechnung von Lichtstrahlen

Mehr

XNA XNA s Not Acronymed. Vorlesung Virtual Reality Wintersemester 2007/2008 Jonas Schmidt, Martin Schiewe

XNA XNA s Not Acronymed. Vorlesung Virtual Reality Wintersemester 2007/2008 Jonas Schmidt, Martin Schiewe XNA XNA s Not Acronymed Vorlesung Virtual Reality Wintersemester 2007/2008 Jonas Schmidt, Martin Schiewe Überblick I. XNA XNA s Not Acronymed II. III. IV. I. Entwicklung von XNA II. Einordnung in die Microsoft-Welt

Mehr

Versuch 8 Gerätesteuerung mit SICL und VISA in C Widerstandskennlinie

Versuch 8 Gerätesteuerung mit SICL und VISA in C Widerstandskennlinie Fachhochschule Merseburg FB Informatik und Angewandte Naturwissenschaften Praktikum Messtechnik Versuch 8 Gerätesteuerung mit SICL und VISA in C Widerstandskennlinie Agilent IO Libraries - SICL und VISA

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete Kapitel 0 Einführung 0.1 Was ist Computergrafik? Software, die einen Computer dazu bringt, eine grafische Ausgabe (oder kurz gesagt: Bilder) zu produzieren. Bilder können sein: Fotos, Schaltpläne, Veranschaulichung

Mehr

Terrain Rendering mit Hardware Tessellation unter DirectX 11

Terrain Rendering mit Hardware Tessellation unter DirectX 11 MASTER THESIS zur Erlangung des akademischen Grades Master of Science in Engineering im Studiengang Game Engineering und Simulation Terrain Rendering mit Hardware Tessellation unter DirectX 11 Ausgeführt

Mehr

Übungseinheit 3. FIR und IIR Filter

Übungseinheit 3. FIR und IIR Filter Übungseinheit 3 FIR und IIR Filter In dieser Übungseinheit sollen verschiedene Effekte mittels FIR (finite impulse response) und IIR (infinite impulse response) Filter implementiert werden. FIR Filter

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Graphische Datenverarbeitung und Bildverarbeitung

Graphische Datenverarbeitung und Bildverarbeitung Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Clippen in 2D und 3D Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 1 Einordnung in die Inhalte der Vorlesung Einführung

Mehr

Volumen Visualisierung

Volumen Visualisierung Volumen Visualisierung Seminar Interaktive Visualisierung (WS 06/07) Fabian Spiegel und Christian Meß Fabian Spiegel und Christian Meß 1 Übersicht Anwendungsbeispiele Volumendaten Entstehung Repräsentation

Mehr

Version 1.0.1 vom 13.07.2005

Version 1.0.1 vom 13.07.2005 %HGLHQXQJVDQOHLWXQJI UGHQ86%$QDORJ &RQYHUWHU95P$9& Version 1.0.1 vom 13.07.2005 %HGLHQXQJVDQOHLWXQJ Diese Bedienungsanleitung behandelt, wie der USB 2.0 Analog Converter VRmAVC-1 installiert und in Betrieb

Mehr

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware Implementierung und Evaluierung von Video Feature Tracking auf moderner Diplomarbeit vorgelegt von Sebastian Heymann Betreut von Prof. Dr. Bernd Fröhlich Bauhaus Universität t Dr. Aljoscha Smolic Fraunhofer

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

Multimedia/Graphics Libraries & Systems

Multimedia/Graphics Libraries & Systems Multimedia/Graphics Libraries & Systems Einführung und Themenvorstellung Prof. Dr. Jürgen Döllner Juri Engel, Tassilo Glander, Martin Beck, Stefan Buschmann, Matthias Trapp Ziele des Seminars 2 Analyse,

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

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

Design Betrachtungen für r Tablet PC Software

Design Betrachtungen für r Tablet PC Software Design Betrachtungen für r Tablet PC Software Stefan Wick Software Design Engineer / Test Lead Tablet PC Group - Microsoft Corporation swick@microsoft.com Überblick Design Betrachtungen Richtlinien für

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

C A R L V O N O S S I E T Z K Y. Wavefront OBJ Format. 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. Wavefront OBJ Format. 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 Wavefront OBJ Format Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation 3D-Modelle bestehen i. d. R. aus Tausenden von Dreiecken Händische

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Eine Kommando-Oberfläche für.net

Eine Kommando-Oberfläche für.net Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre

Mehr

Herausgeber. Im Auftrag von. Kontakt. Heike Neuroth Hans Liegmann ( ) Achim Oßwald Regine Scheffel Mathias Jehn Stefan Strathmann

Herausgeber. Im Auftrag von. Kontakt. Heike Neuroth Hans Liegmann ( ) Achim Oßwald Regine Scheffel Mathias Jehn Stefan Strathmann Herausgeber Heike Neuroth Hans Liegmann ( ) Achim Oßwald Regine Scheffel Mathias Jehn Stefan Strathmann Im Auftrag von nestor Kompetenznetzwerk Langzeitarchivierung und Langzeitverfügbarkeit digitaler

Mehr

7 Datenaustausch. Datenaustausch. Ziele dieses Kapitels. A Sie verschaffen sich einen Überblick über OLE. A Sie verknüpfen Objekte.

7 Datenaustausch. Datenaustausch. Ziele dieses Kapitels. A Sie verschaffen sich einen Überblick über OLE. A Sie verknüpfen Objekte. 7 Datenaustausch Ziele dieses Kapitels A Sie verschaffen sich einen Überblick über OLE. A Sie verknüpfen Objekte. A Sie betten Objekte ein. Microsoft Office Excel 2003 Aufbau - 133 - 7.1 Überblick OLE

Mehr

Benutzerhandbuch TABLE OF CONTENTS 1. Benutzerhandbuch .......................................................... 3 2. Bedienung

Benutzerhandbuch TABLE OF CONTENTS 1. Benutzerhandbuch .......................................................... 3 2. Bedienung Dieses Handbuch enthält alle wichtigen Informationen darüber, wie BlueBridge List2PDF for Microsoft SharePoint eingesetzt werden kann. TABLE OF CONTENTS 1. Benutzerhandbuch..........................................................

Mehr

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005 Hochschule Bremen Rechnerstrukturen Labor I7I Thema: Grafikkarten Laborbericht Datum 18.01.2005 Carsten Eckert(83912) (72497) Fazit Für unseren Praxisteil zum Vortrag Grafikkarten haben wir uns entschieden,

Mehr

Spieleprogrammierung mit DirectX

Spieleprogrammierung mit DirectX jetzt lerne ich Spieleprogrammierung mit DirectX Der einfache Einstieg in die C++-Programmierung CHRISTIAN ROUSSELLE Inhaltsverzeichnis jetzt lerne ich 1 Einführung 17 2 Grundlagen 19 2.1 Plattformen 19

Mehr

MF Breadcrumbs. Sergej Schefer & Fabian Marx

MF Breadcrumbs. Sergej Schefer & Fabian Marx MF Breadcrumbs Sergej Schefer & Fabian Marx MF Breadcrumbs! Entwurf! Algorithmen! Screenshots / Live-Demo Entwurf! 2.5D Jump n Run! Spieler kann sich durch Level bewegen und Punkte aufsammeln! Freie Levelgestaltung

Mehr

Bedienungsanleitung MT 4007 MedioControl

Bedienungsanleitung MT 4007 MedioControl R Bedienungsanleitung MT 4007 MedioControl Inhaltsverzeichnis Inhaltsverzeichnis... 2 Einleitung... 3 Vorraussetzungen... 3 Installation... 3 Speicher verwalten und anzeigen... 4 Speicher und Timer zum

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION Benutzerhandbuch UNIFIED FIELD COMMUNICATION Inhalt 1 Installation der Software...3 2 Kommunikations-DTM ishrt CommDTM...4 3 Konfiguration ishrt Comm DTM offline...5 3.1 Treiberkonfiguration...5 3.2 Kanalkonfiguration...6

Mehr

Office 2013 / Gut zu Wissen

Office 2013 / Gut zu Wissen Office 2013 / Gut zu Wissen Datum 08.03.2013 Autor Andre Koch Version 1.0 Pfad Hinweis Diese Informationen sind vertraulich zu behandeln und dürfen an Dritte nur mit dem vorgängigen Einverständnis von

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Beleuchtungsmodelle in OpenGL Bump-Maps zur Erzeugung von Reliefartigen Oberflächen Height-Maps

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Neuerungen in AutoCAD Christian Walz, Dipl.-Ing. Geodäsie, Schulung und Support

Neuerungen in AutoCAD Christian Walz, Dipl.-Ing. Geodäsie, Schulung und Support Neuerungen in Christian Walz, Dipl.-Ing. Geodäsie, Schulung und Support 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 Dateiformat Wie schon bei der Version 2016 behält auch die Version 2017 das

Mehr

Microsoft Office PowerPoint für Windows POW2007F. Autorin: Tina Wegener. Inhaltliches Lektorat: Sabine Spieß

Microsoft Office PowerPoint für Windows POW2007F. Autorin: Tina Wegener. Inhaltliches Lektorat: Sabine Spieß POW2007F Autorin: Tina Wegener Inhaltliches Lektorat: Sabine Spieß 1. Ausgabe, 2. Aktualisierung, September 2011 HERDT-Verlag für Bildungsmedien GmbH, Bodenheim Microsoft Office PowerPoint 2007 für Windows

Mehr

Non-Photorealistic Rendering

Non-Photorealistic Rendering Übersicht 1. Motivation und Anwendungen 2. Techniken - Cel Shading - Konturlinien - Hatching Einführung Traditionelle Computergraphik Ziel: Fotorealismus Einführung Motivation Bewusste Vermeidung von

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

20 Jahre. acadgraph CADstudio GmbH Fritz-Hommel-Weg 4 80805 München Seite 1 von 11

20 Jahre. acadgraph CADstudio GmbH Fritz-Hommel-Weg 4 80805 München Seite 1 von 11 Seite 1 von 11 Inhaltsverzeichnis 1 - Features & Benefits... 3 1.1 Schnell und einfach Eye Checker erstellen... 3 1.2 Einfach zu erlernen... 3 1.3 Voll CAD-Kompatibel... 3 2 - Arbeitsweise... 3 2.1 Userinterface...

Mehr

Computergrafik II. OpenGL Einführung

Computergrafik II. OpenGL Einführung Computergrafik II OpenGL Einführung OpenGL Rein prozedurales Interface Keine direkten Klassen/Objekte Verwaltung von OpenGL-Strukturen mittels Identifier Explizites funktionales Erzeugen/Löschen von Objekten

Mehr

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem Matthias Kupfer (mkupfer@reactos.org) ReactOS Deutschland e.v. Aleksey Bragin (aleksey@reactos.org) Projektkoordinator 14.03.2010 1 Überblick

Mehr

Stereoskopisches 3D Gaming

Stereoskopisches 3D Gaming PRIME Symposium 17.02.2011 BERLIN Stereoskopisches 3D Gaming Jonas Schild Lehrstuhl für Medieninformatik und Entertainment Computing Universität Duisburg Essen Lehrstuhl Medieninformatik Entertainment

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

Mehr

Das "Softwarepaket für Falcon und Eagle Framegrabber"

Das Softwarepaket für Falcon und Eagle Framegrabber Windows Treiber für IDS Falcon und Eagle 26.07.2011 Page 1/6 Einleitung IDS bietet für die der Falcon und Eagle Serie zwei unterschiedliche Windows-Treiber an. Zum einen das "Softwarepaket für Falcon und

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Seminar: Programmierung von Grafikkarten (SS 2006)

Seminar: Programmierung von Grafikkarten (SS 2006) Seminar: Programmierung von Grafikkarten (SS 2006) Shader Christian Niemand (nemojr@gmx.de) Johannes Spohr (jspohr@student.uni-kassel.de) Universität Kassel, FB 16 Research Group Programming Languages

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2013 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Einführung in OpenGL. Einführung in OpenGL

Einführung in OpenGL. Einführung in OpenGL OpenGL: Einführung/Standard - OpenGL (Open Graphics Library) ist ein Standard für 3D Rendering und 3D Hardware-Beschleunigung - OpenGL läuft unter Windows, MacOS, Linux, Unix, - Website: http://opengl.org

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