Grafiska pipelinen. Edvin Fischer

Relevanta dokument
Grafiska pipelinens funktion

Spelutveckling 3d-grafik och modellering. Grunder för 3d-grafik Blender Animering

Koordinatsystem och Navigation

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Kort introduktion till POV-Ray, del 1

Bemästra verktyget TriBall

Procedurell Terräng med LOD i OpenGL 4

Grafik raytracing. Mattias Axblom.

3.0. Tips och Trix Sida 1 av 18

Rastrering och displayalgoritmer. Gustav Taxén

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Bemästra verktyget TriBall

Repetition + lite av varje. Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Innehållsförteckning

Fotorealistiska bilder 1 PV360 kap 1 7: Grunder samt material och dekaler i Photoview 360

Teknik bakom tredimensionella datorgrafiken Direct3D

A comparison study between OpenGL 4.3, OpenGL ES 3.0 and WebGL 1.0 With focus on rendering pipeline and texture handling

Borttagning av skymda ytor Painter s Algorithm och Z-buffering. MICHAEL HJORTHOLT och ANDREAS PAULSSON

Procedurell 3D-eld på grafikkortet

Lab5 för prgmedcl04 Grafik

Skinning and Animation

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

Shaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering

Transformationer i 3D. Gustav Taxén

Spelutveckling - Scenegrafer. Scenegrafer Optimeringar Culling

Konvexa höljet Laboration 6 GruDat, DD1344

2D1339 Programkonstruktion för F1, ht 2003

Visualisering med Rhino/Vray/Photoshop av modell som skapats i Revit. AADA15 Revit Workshop 2017 LTH Ludvig Hofsten

Geometry shaders! och Tesselation shaders!

Procedurell renderingsmotor i Javascript och HTML5

Att skapa och hantera bilder från Pro/E

Nationella prov i verkligheten

Homogena koordinater och datorgrafik

Färgmeny. Utskriftsläge. Färgkorrigering. Tonersvärta. Manuell färg. Skriva ut. Använda färg. Pappershantering. Underhåll. Felsökning.

Byggnet 3D-viewer LATHUND

Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Dental digital röntgenteknik Vad ska vi tänka på?

TNM022 Proceduella Bilder Rendering av proceduell päls i realtid

TBSK 03 Teknik för Advancerade Datorspel

Shaders. Gustav Taxén

UPPSALA UNIVERSITET Matematiska institutionen Styf. Exempeltenta med lösningar Programmen EI, IT, K, X Linjär algebra juni 2004

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?

Specifikation av kandidatexjobb

Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell

Fokus. Mirjam HY, Hovåsskolan F- 9, Hovås

Structuring Two Dimensional Space

Omtentamen. TNM077 3D-datorgrafik och animering kl 8-12 Inga hjälpmedel. (samt även TNM008 3D-datorgrafik och VR)

Grafisk Teknik. Rastrering. Övningar med lösningar/svar. Sasan Gooran (HT 2013)

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

TDDD78 projekt: Tower Defence

Geometry shaders! och Tesselation shaders!

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet april. Liten introduktionsguide för nybörjare

C-UPPSATS. Matte painting with fysical models

Tips & Trix GeoSuite Toolbox

Bästa skottläge på en fotbollsplan längs långsidan

Här är ett väldigt bra tidpunkt att spara scenen. Jag har valt att bygga ett litet pyramidtorn.

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet april

Tron Style OpenGL ES 2.0 Shaders för ios Möjligheten att implementera ett Bloomfilter på ett ios-device

BILAGA 2 SIDA 1 AV 5 GUF GEMENSAM UTVECKLING AV DE KOMMUNALA FÖRSKOLORNA I SÖDERMALMS STADSDELSOMRÅDE. Senast reviderad

Text, bilder eller norrpilar som lagts till en layout och inte är del av en dataram, sammanförs till ett lager som heter Other.

GPGPU-LOD (General Purpose Graphics Processing Unit - Level Of Detail)

Extramaterial till Matematik Y

2D-grafik. Gustav Taxén

Parabeln och vad man kan ha den till

Inledning. Polydronmaterialet. Tio områden. Lgr11-koppling

Tre nya tomter i Ekängen

Sidor i boken KB 6, 66

Undersökande arbetssätt i matematik 1 och 2

TBSK 03 Teknik för Advancerade Datorspel

ATT ARBETA MED VEKTORGRAFIK

Den tekniska utvecklingen av hårdvara och mjukvara för realtidsgrafik

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

Exempelsamling :: Vektorintro V0.95

Grafik. För enklare datorsystem

Student. a: 5 b: 6 c: 7 d: 8 e: 3

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

Np MaB vt Låt k = 0 och rita upp de båda linjerna. Bestäm skärningspunkten mellan linjerna.

Extramaterial till Matematik Y

Metod för termografisk mätning VV Publ. Nr 2006: Innehållsförteckning:

Avdelning 1, trepoängsproblem

Färglära. Ljus är en blandning av färger som tillsammans upplevs som vitt. Färg är reflektion av ljus. I ett mörkt rum inga färger.

Grafik. TDDC66 Datorsystem och programmering Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Mönsterigenkänning och följning Digitala projekt VT 2004 Carl Loodberg, grupp 10

Parallellism i NVIDIAs Fermi GPU

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Viktigt säkerhetsmeddelande till marknaden, Korrigering av medicinteknisk produkt #15483

Extramaterial till Matematik Y

Distribution av skogliga grunddata. Swedish University of Agricultural Sciences Forest Remote Sensing

Linjär algebra på några minuter

Manual för Webbkartan

EXAMENSARBETE. Tekniker för optimering av modellering och texturering av spelmodeller. Anders Lorentzen. Teknologie kandidatexamen Datorgrafik

GRAFISK MANUAL 1.0 FÖR SYSTEMTEXTS PRODUKTVARUMÄRKEN JANUARI 2011

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Transkript:

Grafiska pipelinen Edvin Fischer

Sammanfattning Rapporten behandlar den grafiska pipelinen och dess steg, vilka stegen är och hur de funkar.

Inledning Rapporten har till syfte att beskriva hur den grafiska pipelinen fungerar, frågeställningen lyder enligt följande, Vilka steg finns i den Grafiska pipelinen och vad händer i dem? Bakgrund Dagens bildskärmar, eller monitorer, är uppbyggda av ett 2D rutnät av pixlar. En pixel har två definierande egenskaper position, i rutnätet, och ljus. I många fall använder sig datorer av 3D grafik så som i datorspel, för att kunna visa upp dessa bilderna på en monitor krävs ett Grafikkort även kallat GPU (Graphical Processing Unit). GPU:n beräknar 3D format till 2D format och renderar ut data på monitorn, vilket sker i den grafiska pipelinen. Grafisk pipelining Vertices, Primitives, Fragments och Pixlar Den grafiska pipelinen använder sig av geometriska primitives. Primitives formas av en eller flera vertices till bland annat geometriska former så som trianglar eller cirklar, men en primitive skulle också kunna vara en punkt eller linje. (Hock-Chuan, 2012) En vertex beskrivs enligt följande, för det första har en vertex en position i ett 3D rum med koordinaterna x,y och z. För det andra har den en färg som specificeras av ett tal mellan 0.0 och 1.0 (alternativt av en 8-bitars Unsigned Integer). För det tredje har vertexen en normal, kallad Vertex-normal, normalen har betydelse för ljuskastningen i vertexens punkt på 2D bilden. Den fjärde egenskapen är texture som är en 2D koordinat förknippat med en texture (ett omslag för 3D objektet som till exempel en bild eller ett mönster). (Hock-Chuan, 2012) Figur 1: Primitives (Fatahalian, 2012)

Fragments är en approximativ bild av hur en primitiv ser ut på en 2D monitor, det vill säga pixlarna anpassas på bästa sett för att efterlikna en primitiv och med en gemensam färg. (Hock-Chuan, 2012) Figur 2: Framents (Fatahalian, 2012) Vertex processing Coordinates transformation består av tre av fyra steg, Model transform, View transform, Projektion transform och Viewport transform. Varav de tre första stegen tillhör Vertex process och det sista steget tillhör rasterizer. (Hock-Chuan, 2012) Varje 3D figur är ritad ett individuellt rum, eller koordinatsystem, för att sammanställa alla motiv till ett och samma rum måste dessa skalas om för att passa in. Detta görs med en följd av vektoradditioner och skalärmultiplikationer, även kallat linear transformation. Denna process brukar kallas Model transform. (Hock-Chuan, 2012) När Model transform är över positioneras kameran för att kunna skåda vyn. Positioneringen sker med hjälp av tre parametrar EYE, som sätter kamerans plats i rummet, AT, som bestämmer kameran riktning, och UP, som anger kamerans upp vilken vanligen sammanfaller med rummets y-riktning. Processen är den som heter View transform och genomförs även denna med hjälp av en mängd av vektoradditioner och skalärmultiplikationer. (Hock-Chuan, 2012) Projekt transform handlar om att bestämma vad i bilden som ska vara synligt och hur zoomning i bilden ska vara, vilka objekt som ska vara närmre och vilka objekt som ska vara längre bort. Begreppen Perspective projektion och Orthographic projektion används i samband med Projekt transform, de två begreppen är olika metoder för hur Projektion transform genomförs. Perspective projektion, som är den vanligare av de två metoderna, är när djup går att urskiljas ur bilden (mer av en 3D bild), Orthographic projektion kan liknas med av en 2D bild. (Hock-Chuan, 2012)

Rasterizer I Rasterizer anpassas alla pixlarna till primitives och bildar fragments i ett steg som kallas Viewport transform. I det sista steget av Rasterizer (Back-Face culling) tas primitives, som inte är vända mot kameran, bort. (Hock-Chuan, 2012) Fragment processing I Fragment processing finns fyra delar, i den första beräknas pixlarnas färger och deras texture koordinater. I den andra delen matchas pixlarna tillsammans med texture. I den tredje delen genomgår skuggas pixlarna för att ge en 3D effekt. I delen som inte är obligatorisk genomförs ett flertal tester. (Hock-Chuan, 2012) Figur 3: Fragment med texture (Fatahalian, 2012) Output Merging Z-buffert (depth-buffert) innehåller djupet för olika objekts ytor i 3D rummet, I Hidden surface removal tas dolda objekts ytor bort med hjälp Z-buffert. Med hjälp av z-koordinaterna för ett objekt kan Grafikkortet räkna ut vilka objekt som är dolda bakom andra. (Hock-Chuan, 2012) För att Hidden surface removal ska fungera krävs det att kameran inte kan se igenom det skymande objektets yta. För objekt vars ytor går att se igenom (exempelvis fönster) används metoden Alpha-Blending, där ytan i fråga har ett värde, som varierar mellan noll och ett, för en variabel alfa. Värdet för alfa definierar hur transparent ett föremål är, utifrån detta räknar GPU:n ut hur mycket det går att se igenom ett objekt. (Hock-Chuan, 2012) Figur 4: Graphics pipeline (Hock-Chuan, 2012)

Slutsats Den Grafiska pipelinen består av Vertex processing, Rasterizer, Fragment processing och Output merging. När vertices passerar igenom den grafiska pipelinen kommer de slutligen ut som en färdig bild i en 2D graf.

Referenser Chua Hock-Chuan, Juli 2012 - http://www.ntu.edu.sg/home/ehchua/programming/opengl/cg_basicstheory.html (hämtad 26/11 18) Kayvon Fatahalian, November 2012 http://www.cs.cmu.edu/afs/cs/academic/class/15462-f12/www/lec_slides/462_gpus.pdf (hämtad 26/11 17)