 2 Fases ◦ Data van CPU overbrengen naar GPU  Mesh data, Render State, Blend State... ◦ GPU rendert scene  Programeerbare shaders verwerken input 

Slides:



Advertisements
Verwante presentaties
De Video Kaart.
Advertisements

Data Acquisition & Control System
Photoshop Blend Modes Multiply, Screen, Overlay, Color, Luminosity.
Embedded systemen Embedded software.
GSP Labo 02 Mesh and World Matrix Operaties.
GSP Labo 01 Direct3D Foundations. Vooraf • Software: – Visual studio 2005 of/en 2008 met MSDN – DirectX SDK aug 2008 release (verschillende.
Fedora Content Model en XSLT Fedora op Klompen, Amsterdam, Egbert Gramsbergen TU Delft Library / Digital Product Development

C programma int main(){ } Compilatie met devc++ in file main.c Gecompileerd programma in file FirstProgram.exe Mov R1, 120 Mov R2, 160 ADD R1, R2.
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.
Context & Contextualisering* SIOB mini-symposium 27 maart 2013 Stichting Bibliotheek.nl Diederik van Leeuwen, Directeur *) Presentatie bevat schokkende.
Hoofdstuk 5: Bestanden.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
De processor.
Bouwstenen. Soorten geometrie Wireframe Surface Solid.
Computers en Visueel Gehandicapten
Het verbeteren van een modulaire verificatie techniek voor aspect georiënteerd programmeren Alfons Laarman.
Graphics & Virtual Reality Inf Keuzevak 2011/2012.
Visual Basic .NET voor studenten
Bluetooth Communicatie tussen computer en Brick Computer zet de connectie op, Brick wacht Enkel communicatie van de Brick naar de computer Lejos API: NXTConnecion.
 Programma's die bepalen hoe pixels gerendered worden.
GSP Labo 02 Mesh and World Matrix Operaties.
Open Dag Informatica (28 nov 2003) 3D Graphics Workshop Dr. Erwin M. Bakker Ing. Ernst Lindoorn Leiden Institute of Advanced Computer Science Leiden University.
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoofdstuk 13.6 File-I/O. Files n40 verschillende klassen in library java.io Exceptions niet meegeteld... nMethodes voor het plegen van Input en Output.
Een presentatie door Marthijn Loermans, Antonio Deda en Axel Martens
CSA, week 31 CSA week 3. CSA, week 32 Terugblik opdracht (client)  Stub creëren uitgaande van IOR ( string_to_object ) of stub creëren uitgaande van.
Inhoud  Soorten  Werking  Aansluitingen  Fabrikanten.
Presentatie op datum - De wereld van … Wat is jouw onderwerp?
Project Net nu Oranje groep.
Didier Collard en Simon Koolstra
23 september 2014 Niels Vanmarcke
Inputs wisselen met Change PRV Background wisselen met Change MAIN NB 1 Op deze manier heb je geen Preview van je bronnen. Indien je dat wel wil, moet.
Les 2: Interactie in je space door middel van klikbare objecten en actionscript. Wat is actionscript en programmeren?
Welkom bij Immersive space, de flashles Tijdens deze lessen, leren wij je werken met het programma adobe flash.
Context switching Chanel Mepschen Informatica 5Fvwo.
Context switching Heidi Snoek. Het proces Twee applicaties: A en B CPU voert de instructies van programma A uit. Op een bepaald moment wordt er data weggeschreven.
Inleiding tot programmeren
BIOS en Opstarten.
tircms02-p les 1 Operating Systems practicum
Context switching Naomi Baggelaar. Het proces Twee applicaties: A en B CPU voert de instructies van programma A uit. Op een bepaald moment wordt er data.
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Stel je eens voor… Inleef-opdrachten in de geschiedenisles ILO alumniconferentie 2015.
Instructie Programmeren Task 7
Programma zonder window commandline interface. Commandline programma public static void main (String [ ] params) { System. out. println (“Hoi allemaal!”);
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.
Java & het Web Programma: Contexts Listeners Scope/Attributes Thread safety.
Module Spanplaatjes.
Studie en implementatie van input replay Cornelis Frank.
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
GUI & classes Een Gui in een class steken en het object gebruiken.
Memc.  Je kent het antwoord terwijl je je programma maakt en dit is niet veel: voorzie X objecten.  Je kent het antwoord terwijl je je programma maakt.
Proportionele Besturing
De programmeertaal C++
Parallelle Balken Synchronisatie
Gameprogrammeren: Expressies
Het postkantoor van windows
3 Hardware 3.1 De processor en intern geheugen
Directe belichting in ray tracing
Versturen van data naar meerdere mensen
Unified Modeling Language
Hololens development sessie
Drie vormen van gedrag:
Aan de slag met MIJN TALENT DOCUMENT.
Transcript van de presentatie:

 2 Fases ◦ Data van CPU overbrengen naar GPU  Mesh data, Render State, Blend State... ◦ GPU rendert scene  Programeerbare shaders verwerken input  Scene wordt naar de Frame Buffer geschreven

 Vroeger (OpenGL 1): ◦ Fixed Function Pipeline: voorgeprogrameerde manier van belichten ◦ Direct Mode: Data wordt direct vanaf de CPU gerenderd met de GPU  Nu (OpenGL 3+): ◦ Programmeerbare Shaders: volledige controlle over rendering proces ◦ Buffer Objects: Data van de CPU wordt op de GPU gebufferd voordat het gerenderd wordt

 Resources alloceren ◦ We vragen OpenGL om ruimte te maken voor een resource op de GPU  glCreateShader, glGenVertexArray, glGenBuffers... ◦ Bind resource aan de huidige context  glBindVertexArray, glBindBuffer ◦ Upload data naar de GPU  glBufferData...

 Shaders verwerken input en renderen de scene  4 soorten shaders ◦ Vertex shaders ◦ Geometry shaders ◦ Tesselation shaders ◦ Fragment shaders (DX Pixel Shaders)

 We bufferen Data naar de GPU  VertexArrayObject: ◦ Bevat buffers (VBO) met info voor een Mesh  VertexBufferObject: ◦ Bevat Data zoals vertices, normals, colors, texCoords...

1. Maak nieuwe VAO aan 2. Bind de VAO aan de context 3. Maak VBOs aan, voor elk atribuut één 4. Bind VBO 5. Upload Data naar VBO

 Shaders zijn geschreven in OpenGL Shading Language (GLSL) ◦ Lijkt erg op C  Interface CPU/GPU ◦ in: input van GPU, bijvoorbeeld een vertex of color ◦ out: output van Vertex Shader vor Fragment Shader ◦ uniform: constante gezet vanaf CPU  Straks klein voorbeeld

1. Maak shaders aan 2. Upload source (in de vorm van een string) 3. Compileer shaders 4. Maak GLSL Programma aan 5. Voeg shaders aan programma toe 6. Link de shaders in het programma

1. Clear het screen 2. Bind GLSL Program 3. Zet uniforms in de shaders 4. Bind VAO 5. glDrawArrays 6. Unbind VAO 7. Unbind GLSL Program 8. SwapBuffers