Direct3D 8. Ein kurzer Überblick. Seite 1 von 13. Seminararbeit von. Michael Sonnenfroh. Mai 2001
|
|
- Helmut Kerner
- vor 7 Jahren
- Abrufe
Transkript
1 Direct3D 8 Ein kurzer Überblick Seminararbeit von Michael Sonnenfroh Mai 2001 Seite 1 von 13
2 Mircosoft Direct3D Direct3D ist eine Grafikschnittstelle, die einen Geräte unabhängigen Zugriff auf moderne 3D - Grafikhardware bietet. Direct3D ist eine Low-Level API, die die Kommunikation mit der Hardware auf einer sehr tiefen Ebene bietet. Dennoch wird der Programmierer durch einen HardwareAbstractionLayer weit genug von der eigentlichen Hardware abgekoppelt, um sich keine Gedanken um den spezifischen Grafikchip machen zu müssen. Kapitel 1: Grundlagen Transformation Einer der wichtigsten Punkte in der 3D -Programmierung ist das Positionieren von Objekten im Raum. In Direct3D geschieht das mit Hilfe von 4x4 Matrizen. Diese enthalten zum einen eine 3x3 Matrix für die Transformation des Objekts (Drehung), als auch einen 4D Vektor mit der Position im Raum. Direct3D unterscheidet zwischen drei verschiedenen Matrizen: 1.WorldMatrix Dies Matrix konvertiert ein Modell von seinem lokalen Koordinatensystem in das Koordinatensystem der 3D-Szene (Welt). 2.ViewMatrix Die ViewMatrix positioniert die Kamera in der Welt und bestimmt deren Ausrichtung. Im Kamera -Raum befindet sich der Betrachter im Ursprung und schaut in Richtung der positiven Z-Achse. 3.ProjectionMatrix Die Projektions-Matrix beschreibt den internen Zustand der Kamera in Analogie zu einer Linse. Die Projektions-Matrix sorgt typischerweise für eine perspektivische Korrektur. Primitives und Punkte(Vertices) Als ein Primitive bezeichnet man in Direct3D eine Sammlung von Punkten, die ein elementares 3D- Objekt ergeben. Direct3D kennt sechs solcher elementaren Objekte; PointList, LineList, LineStrip, Seite 2 von 13
3 TriangeList, TriangleStrip und TriangleFan. Alle größeren 3D -Objekte wie Raumschiffe oder Gebäude bestehen a us diesen elementaren Objekten. Oftmals wird für Primitives auch das Wort Polygone gebraucht. (z.b. in OpenGL) Jeder einzelne Punkt(Vertex) kann in Direct3D eine Vielzahl von Informationen enthalten. Dazu zählen Texturkoordinaten, Farbwerte, Punktgröße und die eigentliche Position des Punktes. Bis auf die Position sind alle weiteren Daten optional in Direct3D. Ein Punkt könnte folgende Form haben: RECORD x,y,z : Single <-- Position Color : LongWord <-- Farbe u,v : Single <-- Texturkoordinaten END Zu beachten ist, dass die Reihenfolge in der die einzelnen Teile des Punktes angegeben werden entscheidend ist! Über Konstanten teilt man Direct3D mit, welche Informationen ein Vertex enthält. Linke Hand Kartesisches Koordinatensystem Microsoft verwendet in Direct3D standardmäßig das Linke Hand Kartesische Koordinatensystem,d.h die Punkte, die ein Dreieck definieren, müssen im Uhrzeigersinn angegeben werden. Falls diese gegen den Uhrzeigersinn angegeben werden, wird das Dreieck nicht gezeic hnet. Dieses Verhalten wird auch als Backface-Culling bezeichnet. Licht und Materialien In Direct3D können bis zu 8 unterschiedliche Lichtquellen definiert werden, die die Szene beleuchten. Im Gegensatz zur Natur, wo einfallendes Licht von der Oberfläche reflektiert wird und wieder andere Flächen beleuchtet und so kontinuierlich seine Farbe verändert bis es das Auge des Betrachters erreicht, wird in Direct3D aus Rechenzeit Gründen ein vereinfachtes Modell angewendet. Das Licht in D3D besteht aus den drei G rundfarben rot,grün und blau. In Direct3D wird zwischen zwei grundsätzlichen Lichtarten unterschieden: 1.Ambient Light Das ist diffuses Licht der Umgebung ohne eine bestimmte Richtung und ohne eine spezielle Lichtquelle. Indirekte Beleuchtung eines Fotograp hen ist ein Beispiel für Ambient Light. 2.Direct Light Das ist das Licht, das eine Lichtquelle in eine bestimmte Richtung abstrahlt. Es fügt kein Licht zur Umgebungshelligkeit hinzu. Direct Lights werden nun in weitere Untergruppen aufgeteilt: 2.1.Point Lights Punktförmige Lichtquellen strahlen Licht in alle Richtungen aus und werden wie Seite 3 von 13
4 Objekte im Raum positioniert. Vergleichbar mit einer Glühbirne. 2.2.Spotlights Spotlights haben die Eigenschaft, dass sie Licht in genau eine Richtung emittieren und einen Lic htkegel bilden, der in der Mitte die maximale Helligkeit aufweist und zu den Rändern hin schwächer wird. Vergleichbar mit einem Suchscheinwerfer. 2.3.Directional Lights. Dies sind Lichtquellen ohne wirkliche Position. Sie strahlen ihr Licht parallel aus, was bedeutet, dass das Licht alle Objekte in der Szene aus der gleichen Richtung trifft. Vergleichbar ist dies mit dem Licht, das von der Sonne auf die Erde trifft. Materialien bestimmen, wie 3D -Objekte Licht in einer Szene reflektieren oder emittieren. Es kann genau angegeben werden, wie stark und in welchem Farbton sie Umgebungs - oder diffuses Licht reflektieren. Materialien können Licht auch emittieren, um so den Anschein zu erwecken, dass das Objekte leuchtet. Das emittierte Licht beeinflusst die Beleuchtung anderer 3D-Objekte nicht! Texturen Texturen sind aus der heutigen Grafikprogrammierung nicht mehr wegzudenken. Sie ermöglichen es Objekten ein realistische Aussehen zu geben, ohne das die Polygonanzahl erhöht werden muss. Im Grunde sind Texturen nur Bitmaps, die auf Polygone gemappt werden. Texturkoordinaten Texturen können auf jede Primitive -Art gemappt werden, die Direct3D bietet. Um eine Textur nun auf ein Dreieck zu legen, muss jedem Punkt eine Texturkoordinate zugeordnet werden. Direct3D verwendet uniforme Texturkoordinaten, die normaler weise von (0,0) bis (1,1) innerhalb der Textur reichen (bei 2 -D Texturen). Die Position (0,0) bezieht sich immer auf die linke obere Ecke der Textur, die Position (1,1) auf die rechte untere Ecke. Texture Address Modes Texturkoordinaten, die größer als 1 sind, werden von Direct3D speziell behandelt. Dazu werden die sogenannten Texture Adress Modes gesetzt: 1.Wrap Texture Die Textur wird auf das Primitive gekachelt. 2.Mirror Texture Die Textur wird immer gespiegelt gekachelt. 3.Clamp Texture Die Textur wird einmal gezeichnet und die Farben der Kanten nach außen verschmiert. 4.Border Color Direct3D benutzt eine fest vorgegebene Farbe für alle Texturkoordinaten außerhalb 0,1. Texture Filtering Wenn eine Textur auf ein Primitive gemappt wird, muss sie meisten verzerrt werden, um an die Seite 4 von 13
5 Form und Größe des Primitive's angepasst zu werden. Damit diese Operationen keine zu starken optischen Artefakte hinterlassen, kann eine Textur gefiltert werden. Folgende Varianten gibt es in D3D: 1.Nearest Point Sample Dies ist die Standardmethode von D3D. Es wird einfach der nächst beste Pixel in der Textur als Farbwert gewählt. 2.Linear Texture Filtering Bei dieser Methode bildet D3D einen Mittelwert über die umgebenden Texturpixel, um d ie Farbe des zu setzend Pixel zu ermitteln. 3.Anisotropic Filtering 4.Mipmaps Kapitel 2: Die Direct3D-Schnittstelle In diesem Kapitel möchte ich einen Überblick über den Umgang mit der Direct3D geben und an Hand eines Beispiels die Grundlegenden Funktionen erläutern. -Schnittstelle COM-Objekte DirectX basiert seit den ersten Versionen auf den COM-Objekten von Microsoft. Die COM-Objekte fungieren als Black Box und stellen nach außen nur ein Interface zur Verfügung. Direct3D kennt elf verschiedene Interfaces, von denen ich hier nur die Wichtigsten vorstellen möchte. Initialisierung Als erstes muss Direct3D initialisiert werden. Im Gegensatz zum Erstellen normaler COM -Objekt ist bei D3D kein CoInitialize nötig, vielmehr wird die Funktion Direct3DCreate8 benutzt um ein IDirect3D8 Objekt zu erstellen (wenn von Objekten die Rede ist, sind immer COM -Objekte gemeint). Mit Hilfe dieses Objekts kann ein IDirect3DDevice8 Objekt (kurz device) erzeugt werden, welches die Direct3D Abstraktion des Grafikadapters darstellt. Der IDirect3D8.CreateDevice-Aufruf erhält eine Reihe von Parametern, die genau spezifizieren, welcher Grafikadapter, welche Auflösung, Bildwiederholrate, Farbtiefe,TnL-Support,etc. verwendet werden soll. VertexBuffer Wie wir in Kapitel 1 gesehen haben, besteht jedes 3D-Objekt aus einer Vielzahl von Vertices. Diese Vertices werden in D3D in sogenannten VertexBuffer gespeichert. Ein VertexBuffer ist ein Speicherbereich, der für den Anwender transparent, sowohl im RAM des Grafikadapters, im AGP - Speicher als auch im normalen System -RAM liegen kann. VertexBuffer sind in modernen Grafikadapter direkt in Hardware implementiert und werden von Direct3D nur durchgereicht. Der Anwender kann in D3D nicht spezifizieren wo der VertexBuffer liegen soll, er kann nur durch Parameter gewisse Einschränkungen bestimmen, die es D3D ermöglichen den bestmöglichen Speicherplatz zu finden. Über das device kann ein VertexBuffer erstellt werden. Gelingt die Seite 5 von 13
6 Ausführung, erhält man ein COM -Objekt vom Typ IDirect3DVertexBuffer8, das die D3D Abstraktion eines VertexBuffers(kurz VB) darstellt. Um nun unsere Punkte in den VB zu transferieren müssen wir diesen locken.das bedeutet, wir müssen D3D mitteilen, dass wir Zugriff auf den Speicherbereich des VB wollen. Gelingt der Zugriff, erhält man einen Zeiger auf einen Zeiger, der auf den Speicherbereich des VB's zeigt. Das korrekte Dereferenzieren der Zeiger ist wichtig, da der erste Zeiger in den Kernel verweist und das Schreiben der Punktdaten in denselben zu äußerst unerwünschten Effekten führt. Die Punktdaten können nun per memcopy direkt in den VertexBuffer geschrieben werden. Nach erfolgreichem Kopieren, muss der Zugriff auf den VB durch die Funktion Unlock des VB - Objekts wieder freigegeben werden. Zu beachten ist, das das Locke n eines VertexBuffers zu einem Stall des System führen kann, wenn sowohl Grafikchip als auch D3D versuchen gleichzeitig auf den Puffer zuzugreifen. Es führt zwar nicht zu einem Absturz, beeinträchtigt aber die Performance enorm. IndexBuffer Analog zu Ver texbuffer gibt es in Direct3D zusätzlich IndexBuffer ( IDirect3DIndexBuffer8) mit denen der indexierte Zugriff auf die einzelnen Punkte innerhalb eines VertexBuffer's ermöglicht wird. Das Erstellen und Verwalten geschieht analog zu den VB's, einziger Unters chied ist die Art der Daten. Statt kompletter Punkte werden hier nur Indexnummern angegeben (16bit bzw. 32bit). FlexibleVertexFormat Nachdem wir nun unsere Punkte in einen VertexBuffer gespeichert haben, müssen wir Direct3D sagen, welches Format ein Punkt hat, d.h. welche Komponenten der Punkt außer seiner Position noch enthält. Dies ist wichtig, damit Direct3D die Punkte richtig interpretieren kann. Die Komposition der Punkte wird Direct3D durch OR Verknüpfte-Konstante erläutert. Unser Punkt aus Kapitel 1 würde so zusammengesetzt: FVF = D3DFVF_XYZ OR D3DFVF_DIFFUSE OR D3DFVF_TEX1 Position OR Farbwert OR Texturkoordinaten Mit der Funktion SetVertexShader des device kann man D3D das Punktformat mitteilen. Streams Nun müssen wir Direct3D noch angeben, welche Daten es zum Zeichen verwenden soll. Diese Daten werden als Streams bezeichnet. Ein Stream ist entweder ein VertexBuffer oder ein IndexBuffer. Es können auch mehrere Streams kombiniert werden. Dadu rch besteht die Möglichkeit in einem Stream die Position des Punktes zu haben und in einen anderen Stream seine Texturkoordinaten. Mit der Funktion SetStreamSource des device können die Streams gesetzt werden. Seite 6 von 13
7 Device States Direct3D ist eine Zustandsmasc hine, d.h. Anwendungen setzen Zustände für Licht, Material und Transformation.Auf alle dann zum Rendern übergebenen Daten werden diese Zustände angewendet. Zustandsänderungen beeinflussen Direct3D nie rückwirkend, d.h. Änderungen werden erst beim Rendern der nächsten Primitives wirksam. die Render States Die Render States kontrollieren den Renderer des Direct3D devices. Dies umfasst Parameter für Beleuchtung, Clipping, Culling sowie die Transformation. Render States werden mit der Funktion SetRenderState des device gesetzt. Für die Transformation Matrizen gibt es spezielle Funktion SetTransform. Texture Stage States Analog zu den Render States setzen Texture Stage States das Verhalten der Texturen beim Mappen auf Primitives. In Direct3D können bis zu 8 Texturen zusammengemischt werden. Für jeden Einzelnen dieser Stages können umfangreiche Einstellungen vorgenommen werden. Jedes dieser acht Stages wird mit den vorher berechneten Stages zusammengemischt. Dies ermöglicht Multitexturing -Effekte wie Lightmaps oder Bump-Maping. Rendern Nachdem die Vertexdaten angelegt wurden und die entsprechenden Renderstates gesetzt wurden, ist es nun an der Zeit die übergebenen Daten zu rendern. Dies geschieht in Direct3D mit Hilfe der Funktion DrawPrimitive. Als Parameter erwartet die Funktion die Primitive Art, die Anzahl an zu Seite 7 von 13
8 zeichnenden Primitives und die Anzahl verwendeter Punkte. Das Rendern geschieht asynchron, d.h. das Programm wartet nicht bis der Grafikadapter das Zeichnen beendet hat, sondern ist sofort bereit die nächsten Befehle anzunehmen. Der Grafiktreiber sorgt hier für die korrekte Zwischenpufferung. Lost Devices Ein Direct3D device kann entweder in einem betriebsbereiten Zustand oder in einem verlorenen Zustand sein. Verlor en bedeutet hier, dass dem Programm die Kontrolle über den Grafikadapter entzogen wurde. Alle Aufrufe von Direct3D werden korrekt beendet, nur haben sie keine direkten Auswirkungen mehr. Der Zustand wird zum Beispiel durch einen Taskwechsel in einer Vollbi ld- Applikation ausgelöst. Der Programmierer muss nun das Direct3D device neu initialisieren, um den Betrieb wieder aufnehmen zu können. Dafür ist es aber von Nöten, sämtliche Resourcen auf der Grafikkarte wie VertexBuffer und Texturen freizugeben und nach dem Reset neu zu laden. Kapitel 3: Direct3D Architektur In diesem Kapitel möchte ich einen genaueren Überblick über die Architektur von Direct3D geben und dabei besonders auf die neuen Komponenten VertexShader und PixelShader eingehen. Mit DirectX8 is t Microsoft im 3D -Bereich eine Kooperation mit dem Grafikchip Hersteller Nvidia eingegangen, um die 3D -Schnittstelle besser auf die Bedürfnisse moderner Grafikchips abzustimmen. Rendering Pipeline Das folgende Diagramm verdeutlicht, wie die einzelnen Pun kte Direct3D und/oder den Grafikadapter durchlaufen, bis sie im Framebuffer als fertige Pixel abgelegt werden. Seite 8 von 13
9 Vertex Daten werden zuerst von der TnL -Engine des Grafikadapters, der Softwarefunktionen von Direct3D oder den Vertex Shadern verarbeitet. Dies e Daten werden dann von Direct3D in Software durch den Sichtbereich des Viewports vorsortiert, wobei gegebenenfalls nicht sichtbare Objekte eliminier werdent. Im nächsten Schritt werden die einzelnen Primitive's mit Texturen versehen. Dies geschieht entwe der durch Direct3D -Funktionen in Software/Hardware oder durch spezielle Pixel Shader. Als letztes folgt Nebelberechnung, Stencil-, Alpha- und Tiefentest, bevor ein Pixel im Framebuffer abgelegt werden kann. Aber was sind nun die Vertex bzw. Pixel Shader? Vertex Shader Vertex Shader sind kleine Programme die das Laden und Verarbeiten von Vertices kontrollieren. Vertex Shader enthalten Definitionen über das Format der Eingangsdaten, die Anzahl an verwendeten Streams und eine Funktion, die auf die Punkte ange wendet wird. Vertex Shader erzeugen weder neue Punkte, noch löschen sie vorhanden. Der Begriff Vertex Shader bezieht sich meistens auf die programmierbaren Varianten, obwohl die selbe Technik auch bei den Standardfunktionen von Direct3D angewendet wird. Als Programmiersprache für die Vertex Shader dient ein spezieller Assembler, der von Direct3D vorkompiliert wird. Ein Programm kann maximal 128 Instruktionen enthalten, es besteht zum einen aus dem Source -Code und zum anderen aus einer Datendefinition, die f ür das richtige Mapping der Eingangsdaten sorgt. Bis auf die Geforce3 Karte von NVidia gibt es bisher noch keine Grafikkarte, die Vertex Shader in Hardware unterstützt. Die nächste Abbildung zeigt die Umgebung, die ein Vertex Shader Programm sieht, den Pse udo- Prozessor. Seite 9 von 13
10 Wie die Grafik zeigt, besitzt der Vertex Shader 16 Input Register in denen die Daten aus den verschiedenen Streams pro Vertex zur Verfügung stehen. Die Input Register sind weakly typed, d.h. wie die Daten interpretiert werden liegt am Vertex Shader, nicht an Typkonventionen. So ist es zum Beispiel möglich, ganze Transformation Matrizen als Eingabe zu benutzten. Der Constant Memory ist ein Datenbereich, der für die Aufnahme von Transformationsmatrizen, Farbwerten und anderen konstanten D aten gedacht ist. Die Einträge in diesem Speicher können während der Ausführung des Vertex Shaders nicht verändert werden. Um die Berechnungen zu erleichtern, stehen noch 12 allgemeine Register zur Verfügung. Nach jeder Berechnung müssen die entsprechenden Ausgaberegister mit gültigen Werten gefüllt werden. Ausgabregister gibt es für die Position des Punktes, Farbwerte für diffuses Licht und Glanzpunkte,bis zu vier Texturkoordinaten, Werte für Vertexfog und die Punktgröße. Vertex Shader können in Direct3D in Form von Text - Dateien geladen werden. D3D übernimmt dann die Komplilierung und das Laden des Shaders. Das folgende kleine Beispielprogramm soll die Arbeitsweise eines Vertex Shaders verdeutlichen: vs.1.0 ;Version des Shaders mov r0,v0 ;Eingangsvertex v0 in Register r0 dp4 opos.x,r0,v3 ;Skalarprodukt mit Vector in r0 und v3 dp4 opos.y,r0,v4 ;Skalarprodukt mit Vector in r0 und v4 dp4 opos.z,r0,v5 ;Skalarprodukt mit Vector in r0 und v5 dp4 opos.w,r0,v6 ;Skalarprodukt mit Vector in r0 und v6 mov od0,v1 ;Farbwert des Vertex ins Ausgaberegister od0 mov ot0,v2 ;Texturkoordinaten des Vertex ins Ausgaberegister ot0 Dieser Shader transformiert den Vertex mit einer Matrix, die er mit seinem Input -Daten erhält. Normalerweise steckt die Transformations-Matrix als Konstante im Konstantenbereich, wurde aber hier von mir durch diese dynamische Variante ersetzt, um die Flexibilität der Vertex Shader zu demonstrieren. Seite 10 von 13
11 Vertex Shader ermöglichen damit dem Grafikprogrammierer, die TnL Hardware direkt zu programmieren, um so Effekte wie Fischauge, Membran Beleuchtung oder andere aufwendige Effekte direkt auf der Grafikhardware berechnen zu lassen. Pixel Shader Wie wir oben gesehen haben, ermöglichen es Vertex Shader eigene Vertexoperationen zu definieren und die Vertexdaten individuell durch eigene Funktionen zu bearbeiten. Pixel Shader ermöglichen es nun eigene Textur - und Blendingoperationen zu implementieren, die Effekte wie Bump-Mapping oder realistische Per -Pixel Beleuchtung ermöglichen. Im Gegensatz zu Vert ex Shadern gibt es für Pixel Shader keine Softwareunterstützung, d.h. Pixel Shader sind nur verfügbar, falls der Grafikadapter dies in Hardware explizit unterstützt. Die obige Grafik zeigt den logischen Datenfluss durch den Pixel Shader. Die Texturkoord inaten und Farbwerte werden für jeden einzelnen Pixel berechnet. Ein Dreieck aus dem Vertex Shader würde in seine Pixel zerlegt und diese dann jeweils als Eingabe v0 für den Pixel Shader benutzt. Der Programmierer hat damit die Möglichkeit, direkt auf der Pixelebene des Framebuffers zu arbeiten. Wie beim Vertex Shader gilt auch hier, dass weder neuen Punkte erzeugt, noch alte gelöscht werden können. Pixel Shader Programme werden sind ähnlich geartet wie Vertex Shader Programme und unterscheiden sich hauptsächlich in ihren Instruktionen voneinander. Fazit Direct3D ist eine sehr moderne und durchdachte 3D Schnittstelle, die es dem Programmierer ermöglicht abstrakt und gleichzeitig sehr dicht an der Hardware zu programmieren. Vorallem die Vertex- und Pixel Shader zeigen wie aktuell Direct3D8 ist und welches Potential in dieser Schnittstelle steckt. Die Kooperation mit Nvidia, die Microsoft eingegangen ist, hat dazu sicherlich einiges beigetragen. Die Entwicklung auf dem Grafiksektor schreitet rasant voran u nd es scheint beinahe so als wären die Hersteller von Grafikchips den Programmieren von 3D -Software und Seite 11 von 13
12 Spielen immer ein Stück voraus. So bin ich der Meinung, dass es noch ein bis zwei Jahre dauern wird, bis Spiele das volle Potential, das in Direct3D8 steckt, ausnutzten werden können. Seite 12 von 13
13 Quellenverzeichnis [1] DirectX 8.0 Programmer's Reference Microsoft Corporation 2000 [2] Introduction to Vertex Shader Richard Huddy Nvidia 2000 Seite 13 von 13
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
MehrComputer 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)
MehrComputergrafik 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
MehrJö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
MehrDie 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
MehrDiplomarbeit. 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
MehrSoftwareprojekt 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Übungsstunde 8 zu Computergrafik 1
Institut für Computervisualistik Universität Koblenz 14. und 15. Januar 2013 Inhaltsverzeichnis 1 Wiederholung - Beleuchtung Gouraud-Shading Phong-Shading Flat-Shading Vergleich 2 - Idee in OpenGL Texturfilterung
MehrProgrammieren 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
MehrOpenGL und die Fixed-Function-Pipeline
OpenGL und die Fixed-Function-Pipeline Proseminar Game Design WS 07/08 Jan-Hendrik Behrmann Einführung In modernen Computerspielen hat sich inzwischen die Darstellung der Spielwelt in dreidimensionaler
MehrSpieleprogrammierung 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
MehrSpiegelgasse 1 CH 4051 Basel. Vorführung der laufenden Programme im Tutorium Woche 3 (Abgabe ).
UNIVERSITÄT BASEL Prof. Dr. Thomas Vetter Departement Mathematik und Informatik Spiegelgasse 1 CH 4051 Basel Patrick Kahr (patrick.kahr@unibas.ch) Clemens Büchner (clemens.buechner@unibas.ch) Computer
MehrJens 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
MehrKapitel 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Ü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
MehrProgrammierpraktikum 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
MehrDirect3D. (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
MehrGPU 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
MehrProgrammierpraktikum 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
MehrProbelektion 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
MehrComputergrafik 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.
MehrOpenGL. (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
MehrArchitektur moderner GPUs. W. Sczygiol - M. Lötsch
Architektur moderner GPUs W. Sczygiol - M. Lötsch Überblick Chipentwicklung Aktuelle Designs Nvidia: NV40 (ATI: R420) Vertex-Shader Pixel-Shader Shader-Programmierung ROP - Antialiasing Ausblick Referenzen
MehrWiederholung. 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)
Mehr3D 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
MehrComputergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-04 Kapitel VIII: Per Primitive Operations Primitive I 3 Primitive II Elementare grafische Grundform Besteht in OpenGL aus Folge von 1-3 Vertices
Mehr3D 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
MehrZwischenvortrag 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
MehrGliederung. Blending Licht Anwendungsbeispiel Optimierung OpenGL heute und morgen Wilfried Mascolus - OpenGL Teil II 2/20
OpenGL II Gliederung Blending Licht Anwendungsbeispiel Optimierung OpenGL heute und morgen 26.07.10 Wilfried Mascolus - OpenGL Teil II 2/20 Blending Entscheidung, was passiert, wenn sich zwei Objekte überlappen
MehrComputergrafik 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
MehrRST-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
MehrBeleuchtungsmodelle 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.
MehrSchattenwurf 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,
MehrHigh Performance Computing Blatt 7
Dr. Andreas Borchert Institut für Numerische Mathematik Prof. Dr. Stefan Funken Universität Ulm Prof. Dr. Karsten Urban Sommersemester 03 Markus Bantle, Kristina Steih High Performance Computing Blatt
MehrThema: 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
MehrRheinisch-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
Mehr3D 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(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
Mehr3D-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,
MehrSpezialprozessoren 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
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrKapitel 1 Parallele Modelle Wie rechnet man parallel?
PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische
MehrGrundlagen 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,
MehrGrafikkarten-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
MehrHeute. 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
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Organisatorisches Das Konzept der Szenegraphen Grundlagen Beispiel eines Szenegraphen Transformationen
MehrProseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach
Proseminar: Virtuelle Präsenz Vortrag: Steve Rechtenbach Themen: 2/22 Einführung Was ist OpenGL? / Entwicklung Fakten Kleines(!) Beispiel Hello OpenGL Shader Zusammenfassung OpenGL vs Direct3D Einführung:
MehrGame 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
MehrEinführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg
GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte
Mehr3.6 Schattenberechnung
3.6 Schattenberechnung Schatten sind für die realistische Darstellung von Szenerien sehr wichtig, da der Mensch aus dem Alltag gewohnt ist, Schatten zu sehen, so dass Bilder ohne Schatten sehr unnatürlich
Mehr3D-Grafik-Chips. Informatik-Seminar Michael R. Albertin. Betreuer: E. Glatz
3D-Grafik-Chips Informatik-Seminar Michael R. Albertin Betreuer: E. Glatz Übersicht Übersicht Ziel Einleitung Chipgrundlagen Funktionen Benchmarks Schluss Ziel Grundlegende Techniken kennen Chips unterscheiden
MehrBeleuchtung. in Computerspielen
Beleuchtung in Computerspielen Motivation Überblick Licht und Schattierung Lichtquellen Lokale Beleuchtungsmodelle Schattierungsverfahren Oberflächensimulation Beispiele der CryEngine Ausblick Zusammenfassung
Mehr3.5 Methode des gleitenden Horizonts
3.5 Methode des gleitenden Horizonts Für Flächen die durch eine Gleichung F (x, y, z) = 0 gegeben sind, lässt sich die Methode des gleitenden Horizonts anwenden. Dabei werden die sichtbaren Teile der Schnitte
MehrSpeziell-Relativistischer (Flug-) Simulator
Visualisierungsinstitut Universität Stuttgart Speziell-Relativistischer (Flug-) Simulator Wolfgang Knopki, Anton Tsoulos 09. Januar 2015 Wolfgang Knopki, Anton Tsoulos Speziell-Relativistischer (Flug-)
MehrProgrammierpraktikum 3D Computer Grafik
Prof. Andreas Butz Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Organisatorisches Das Konzept der Szenegraphen Grundlagen Beispiel eines
MehrProzedurale Texturen >>Was nicht passt wird passend gemacht...<<
Prozedurale Texturen >>Was nicht passt wird passend gemacht...
Mehr- dynamisches Laden -
- - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms
MehrChristina 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
MehrANIMATION - GRUNDLAGEN
ANIMATION - GRUNDLAGEN Bei CAD-Programmen gibt es meist folgende Verfahren zur Erzeugung von : Festlegung von Schlüsselszenen, aus denen das Programm automatisch Zwischenbilder generiert ( Keyframing )
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrComputergrafik 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
MehrFreiwillige Übungsaufgaben zur selbstständigen Bearbeitung
Freiwillige Übungsaufgaben zur selbstständigen Bearbeitung Veranstaltung: Beleuchtung und Rendering, WiSe 2012/2013 Prof. Dr. Marco Block-Berlitz Grundlagen des Beleuchtungsdesigns 1. Nennen Sie fünf klassische
MehrDirectX 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
MehrComputergrafik 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
MehrGeorg 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
MehrGPU-Programmierung: OpenCL
Seminar: Multicore Programmierung Sommerstemester 2009 04.06.2009 Inhaltsverzeichnis 1 GPU-Programmierung von Grafikkarten von GPU-Computing 2 Architektur Spracheigenschaften Vergleich mit CUDA Beispiel
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik GLSL Agenda Rendering Pipeline Prozessoren: Vertex Prozessor Fragment Prozessor OpenGL Setup für GLSL Shader-Grundlagen Beispiele Die Rendering-Pipeline
MehrAnzeige-Einstellungen Einstellungen in der Konfigurationsdatei DisplayPlugin.ini bearbeiten
In der Konfigurationsdatei DisplayPlugin.ini werden Einstellungen für die Anzeige und Darstellung (PAPI) von Video-Streams in dem SeMSy III Workstation Modul Mainviewer, seinen Subviewern und auf Variodecodern
MehrRendering: Lighting and Shading
Rendering: Lighting and Shading Hauptseminar: How to make a Pixar Movie Inhalt Einführung Was ist Rendering Was ist Reflexionsmodelle Lighting Shading Globale Beleuchtungsmodelle Zusammenfassung 2/53 Inhalt
Mehr3D 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
Mehr5 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
MehrUniversitä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
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrBlendaX Grundlagen der Computergrafik
BlendaX Grundlagen der Computergrafik Beleuchtungsmodelle (Reflection Models) 16.11.2007 BlendaX Grundlagen der Computergrafik 1 Rendering von Polygonen Der Renderingprozess lässt sich grob in folgende
MehrBeleuchtung. Matthias Nieuwenhuisen
Beleuchtung Matthias Nieuwenhuisen Überblick Warum Beleuchtung? Beleuchtungsmodelle Lichtquellen Material Reflexion Shading Warum Beleuchtung? Tiefeneindruck Realitätsnähe: Reflexionen Spiegelungen Schatten
MehrOrganisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
MehrGeneral Purpose Computation on GPUs
General Purpose Computation on GPUs Matthias Schneider, Robert Grimm Universität Erlangen-Nürnberg {matthias.schneider, robert.grimm}@informatik.stud.uni-erlangen.de M. Schneider, R. Grimm 1 Übersicht
MehrSeminar 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
MehrGeometry Shader. Ausarbeitung im Rahmen des Seminars Echtzeit Rendering" Von Sebastian Jackel Franz Peschel. Geometry Shader 1
Geometry Shader Ausarbeitung im Rahmen des Seminars Echtzeit Rendering" Von Sebastian Jackel Franz Peschel Geometry Shader 1 Inhalt I Einführung II Facts Renderpipeline III Funktionsweise Geometry Shader
MehrAufbau interaktiver 3D-Engines
Aufbau interaktiver 3D-Engines ActorComponents Im Folgenden findet sich eine Übersicht über alle bereits implementierten Actorcomponents der Engine. Dabei werden XML-Elemente, die die Komponente beschreiben
MehrParallele 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
MehrMesh-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
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrSpeicherklassen (1) Lokale Variablen
Speicherklassen (1) Lokale Variablen Lokale Variablen beschränken sich auf die Funktionen, in denen sie definiert werden Sind in der Funktion gekapselt können also nur in der Funktion verändert werden
MehrUniversität Trier FB IV Mathematik PS Mathematics for 3D Game Programming & Computer Graphics - WS 07/08 Seminarleiter: Prof. Dr.
The Rendering Pipeline Universität Trier FB IV Mathematik PS Mathematics for 3D Game Programming & Computer Graphics - WS 07/08 Seminarleiter: Prof. Dr. Volker Schulz Referent: Carsten Kurz Datum 25.10.07
MehrDigitale Bildverarbeitung - Rechnerübung 3
Digitale Bildverarbeitung - Rechnerübung 3 1. Khoros Zur Durchführung der Rechnerübung wird das Programmpaket KHOROS mit seiner Benutzerschnittstelle Cantata verwendet. Nach der Anmeldung am Rechner durch
MehrPraktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites
Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 6: Computergrafik und Sprites 28. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Technische
MehrNewtek Lightwave Grundlagen der 3D-Vektorgrafik
Newtek Lightwave Grundlagen der 3D-Vektorgrafik Form und Oberfläche Punkte und Polygone (mindestens 3-seitige Verbindungen zwischen Punkten) sind die Grundlage der Darstellung dreidimensionaler Objekte
MehrOrganisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Smart Pointer Auflage
HSR Rapperswil 2001 Markus Rigling Programmieren: Smart Pointer 1 1. Auflage Inhaltsverzeichnis: 1. Smart Pointer3 2. Vor- Nachteile von Smart Pointer..3 3. auto_ptr..3 4. Umsetzung / Anwendung:.4 5. Wertzuweisung
MehrProgrammieren I. Kapitel 12. Referenzen
Programmieren I Kapitel 12. Referenzen Kapitel 12: Referenzen Ziel: Die Wahrheit über Objekte Lebensdauer Speicherverwaltung Parameterübergabemechanismen in Methoden Gleichheiten, Kopien Arrays Speicherbereinigung
MehrComputergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung. Vorlesung vom
Computergrafik 2010 Oliver Vornberger Kapitel 18: Beleuchtung Vorlesung vom 08.06.2010 1 Korrektur α Für den Winkel zwischen den normierten Vektoren und gilt: ~v ~w A B C D sin(α) = ~v ~w 0,0 % sin(α)
Mehr3.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
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrZeiger (engl. Pointer)
Zeiger (engl. Pointer) Zeiger Ein Zeiger (engl. Pointer) speichert eine Adresse, unter der ein Wert im Speicher des Computers gespeichert werden kann. Eine Variable im Gegensatz speichert einen Wert. Der
MehrÜbungen zu Computergrafik
Institut für Informatik Universität Osnabrück, 3..6 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~cg Lukas Kalbertodt, B.Sc. Testat bis..6, 4: Uhr Übungen zu Computergrafik Sommersemester 6
Mehr