Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL
|
|
- Simon Olofsson
- för 6 år sedan
- Visningar:
Transkript
1 Introduktion till OpenGL Battlezone Atari corp., Gustav Taxén CID Varför behövs grafikbibliotek? Grafikhårdvara Skillnader i funktionalitet och möjligheter. Skillnader i styrning. Plattformar Skillnader i operativsystem. Applikationer Målet är att koden skall vara densamma oberoende av hårdvara och plattform. OpenGL är ett grafikbibliotek Specifikationen är oberoende av plattform och operativsystem. Alla implementationer måste tillhandahålla all funktionalitet. Systemberoende del sköter datautbyte mellan OpenGL och operativsystem. Enbart rendering: inget stöd för inenheter, fönsterhantering, etc. Fördelar med OpenGL Portabelt. Kraftfullt. Enkelt att använda. Anpassat för 3D-grafikhårdvara men kan även användas för att rita 2D. Effektivt för 3D-grafikhårdvara. Används i industrin. Nackdelar med OpenGL Kan vara ineffektivt på 2Dgrafikhårdvara. OpenGL-kod kan ge många funktionsanrop. Bristfälligt stöd från Microsoft på Windows-plattformar (mjukvara). Oviss framtid? Allmänt om OpenGL Utvecklat av Silicon Graphics (SGI). Kontrolleras av ett Architectural Review Board: 3Dfx, 3DLabs, ATI, Compaq, Evans & Sutherland, HP, IBM, Intel, Microsoft, nvidia, SGI, Sun. Licens måste köpas för utveckling av implementation. Gratis att använda. Mesa: GNU-implementation som har SGIs godkännande. 1
2 Delbibliotek Pipeline-modell OpenGL Renderingsfunktionalitet. GLU (OpenGL Utility Library) Hjälpfunktioner för bl.a. transformationer. GLX Sköter datautbyte mellan X Window System och OpenGL (GLW på Windows). GLUT Ljussättning Geometribeskrivning Ljussättningsmodell Avbildningsmetod Avbildning Rendering Bildelement Översikt över OpenGL Datapipeline Geometri Operationer på hörn Hörn Op. på hörn Transformerade och ljussatta hörn Rastrering Operationer på fragment Bilddata Op. på bildelement Rastrering Bilddata Operationer på bildelement Texturminne Framebuffert (bildbuffert + hjälpbuffertar) Op. på fragment Fragment (färg + djup + texturkoordinater) Buffertvärden Framebuffert (bildbuffert + hjälpbuffertar) Exempel 1: bildbuffert #include <GL/glut.h> void display(void) { int main(int argc, char *argv[]) { glutinit(&argc, argv); glutinitdisplaymode(glut_rgb GLUT_DOUBLE); glutcreatewindow("exempel 1"); glutdisplayfunc(display); glutmainloop(); return 0; Exempel 1, forts. Välj dubbel RGB-färgbuffert glutinitdisplaymode(glut_rgb GLUT_DOUBLE); R, G, B Synlig Gömd 2
3 Exempel 1, forts. Vilken färg (RGB) skall färbufferten få när den rensas? Vilket alpha (A) skall alphabufferten få när den rensas? R G B A RGB-färgbuffert och alphabuffert R, G, B A Exempel 1, forts. Rensa färg- och alphabuffert R = 0.1 G = 0.2 B = 0.3 (A = 1.0) Synlig Gömd Exempel 1, forts. Resultat, exempel 1 Byt plats på synlig och gömd buffert Synlig Gömd Exempel 2: geometrispecifikation void display(void) { glcolor3f(1.0, 1.0, 1.0); glvertex3f(1.0, 0.0, 0.0); glvertex3f(0.0, 1.0, 0.0); glvertex3f(0.0, 0.0, 1.0); Exempel 2, forts. b s i f d ub us ui Ändra aktuell färg glcolor3f(1.0, 1.0, 1.0); Antal argument R G B Argumentens datatyp byte short int Alla kombinationer är inte float double relevanta för alla kommandon! unsigned byte unsigned short unsigned int 3
4 Exempel 2, forts. Resultat, exempel 2 Geometrispecifikation glvertex3f(1.0, 0.0, 0.0); glvertex3f(0.0, 1.0, 0.0); glvertex3f(0.0, 0.0, 1.0); Alla hörn anges i homogena koordinater. Om w saknas sätts den till 1.0. Om z saknas sätts den till 0.0. Mer om detta i transformationsföreläsningen! Det är tillåtet (och önskvärt) att ange fler primitiver i rad. Viktigt att komma ihåg: Transformationer Transformation OpenGL är en tillståndsmaskin. Projektion Transformation Viewporttransformation Transformationer i OpenGL Modelview-matrisen Objektkoord. x o y o z o w o Matrisstack x w y w z w Ögonkoord. x e y e z e w e Perspektivdivision Viewporttransformation Matrisstack x n y n z n Klippkoord. x c y c z c w c Modelviewmatris Projektionsmatris Objektkoordinater anges med glvertex. Modelview-matrisen M omvandlar till ögonkoordinater: v e = M v o. M positionerar modeller (objekt) i världen. Normaler transformeras också. Ljussättning görs i ögonkoordinater. Fönsterkoord. Normerade enhetskoord. 4
5 Projektionsmatrisen Projektionsmatrisen P omvandlar ögonkoordinater till klippkoordinater: v c = P v e. P projicerar hörnen på ett bildplan och definierar samtidigt en vy-volym. Alla primitiver klipps mot denna volym. Kameran sitter i (0, 0, 0) och ser i riktningen (0, 0, -1). Perspektivdivision och viewport-transformation Perspektivdivision: (x n, y n, z n ) = (x c / w c, y c / w c, z c / w c ). Perspektivdivisionen ger normerade enhetskoordinater i intervallet [-1, 1]. Viewport-transformation: skalning och offset i bildbufferten. Skalning och offset anges i fönsterkoordinater. Exempel 3: transformation void display(void) { glmatrixmode(gl_modelview); gltranslatef(0.0, 0.0, -3.0); glcolor3f(1.0, 1.0, 1.0); glvertex3f(1.0, 0.0, 0.0); glvertex3f(0.0, 1.0, 0.0); glvertex3f(0.0, 0.0, 1.0); Exempel 3, forts. (0,0,1) z glmatrixmode(gl_modelview); gltranslatef(0.0, 0.0, -3.0); y (0,1,0) (0,0,-2) (1,0,0) x (0,1,-3) (1,0,-3) Exempel 3, forts. Matriskommandon glmatrixmode Sätt aktuell matristyp. glloadidentity Ersätt med identitetsmatrisen. gltranslate Multiplicera med translationsmatris. glrotate Multiplicera med rotationsmatris. glscale Multiplicera med skalningsmatris. glmultmatrix Multiplicera med specificerad matris. glloadmatrix Ersätt med specificerad matris. glpushmatrix Pusha aktuell matris på stacken. glpopmatrix Ersätt med matris som ligger överst på stacken. Exempel 3, forts. Transformation Byte av koordinatsystem gltranslatef(0,0,-3); glrotatef(50,0,1,0); gltranslatef(0,0,3); glvertex3f(1,0,0); glvertex3f(0,1,0); glvertex3f(0,0,1); 5
6 Viktigt att komma ihåg: glpushmatrix pushar aktuellt koordinatsystem på stacken. glpopmatrix ersätter aktuellt koordinatsystem med det som finns överst på stacken. Exempel 4: projektionsspecifikation void reshape(int width, int height) { glmatrixmode(gl_projection); gluperspective(45, (GLfloat) width / (GLfloat) height, 0.5, 10.0); glviewport(0, 0, width, height); int main(int argc, char *argv[]) {... glutcreatewindow("exempel 4"); glutdisplayfunc(display); glutreshapefunc(reshape);... Viktigt att komma ihåg: OpenGLs kamera sitter alltid i origo och ser i riktningen (0,0,-1). Kameran kan inte flyttas. Exempel 4, forts. Perspektivprojektion gluperspective(angle, aspect, near, far); y bildplan angle z x near far Exempel 4, forts. Ortogonalprojektion glortho(left, right, bottom, top, near, far); y left, top bildplan z x right, bottom near far Exempel 4, forts. Skalning och offset av bildplanet glviewport(ox, oy, sx, sy); sy sx (ox, oy) 6
7 Resultat, exempel 4 7
En introduktion till OpenGL. Gustav Taxén gustavt@csc.kth.se
En introduktion till OpenGL Gustav Taxén gustavt@csc.kth.se 2D164 Grafik och Interaktionsprogrammering VT 27 Labb 4 görs på PC! Följ det nya labbpeket - eller: Följ stegen i labbpeket för labb 5 för att
Läs merOpenGL. grafikbibliotek? Nackdelar med OpenGL. Fördelar med OpenGL. En introduktion till OpenGL. OpenGL. rdvara. Grafikhårdvara.
En introduktion till Gustav Taxén gustavt@nada.kth.se Står för Open Graphics Library. C-bibliotek för 3D-grafik (och( i viss mån 2D). Utvecklat av Silicon Graphics (SGI). Kontrolleras av ett Architectural
Läs merOpenGL-översikt. OpenGL. Viktigt att komma ihåg: OpenGL-kommandon. OpenGL är en tillståndsmaskin. Transformationer. Geometrispecifikation
OpenGL OpenGL-översikt Geometri Operationer på hörn Projective shadows Advanced Rendering Techniques Using OpenGL, SIGGRAPH Courses 997. Gustav Taxén CID gustavt@nada.kth.se Bilddata Operationer på bildelement
Läs merAvalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard
OpenGL Avalanche Studios Sveriges ledande oberoende spelutvecklare Fokus på egenutvecklade IPn Finns på Söder i Stockholm ~6 anställda Just Cause för PS2, PC, XBox, och XBox 36 släpptes 26 Gustav Taxén
Läs merOpenGL-översikt. Mer OpenGL. Består-av-hierarki. Hierarkiska modeller. Från hierarki till kod, steg 1. Lokala koordinatsystem
Mer OpenGL OpenGL-översikt Geometri Operationer på hörn Projective shadows Advanced Rendering Techniques Using OpenGL, SIGGRAPH Courses 997. Gustav Taxén CID gustavt@nada.kth.se Bilddata Operationer på
Läs merIn- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts.
Den första datormusen Douglas Englebart, 1968. programmering i GLUT Gustav Taxén CID gustavt@nada.kth.se In- och utenheter Alla datorsystem har in- och utenheter som behandlar information. Data skickas
Läs merOpenGL-översikt. OpenGL. Lokala koordinatsystem. Transformationer. Hierarkiska modeller. Animation. Transformation Byte av koordinatsystem
OpenGL OpenGL-översikt Geometri Operationer på hörn DOOM 3 id Software, 2004 (?). Gustav Taxén CID gustavt@nada.kth.se Bilddata Operationer på bildelement Rastrering Texturminne Operationer på fragment
Läs merOpenGL AGI HT05. Gustav Taxén
OpenGL AGI HT05 Gustav Taxén gustavt@nada.kth.se OpenGL-översikt Geometri Operationer på hörn Rastrering Operationer på fragment Bilddata Operationer på bildelement Texturminne Framebuffert (bildbuffert
Läs merTransformationer i 3D. Gustav Taxén
Transformationer i 3D Gustav Taén gustavt@csc.kth.se 2D64 Grafik och Interaktionsprogrammering VT 27 Bakgrund Ett smidigt sätt att arbeta med 3D-grafik är att tänka sig att man har en virtuell kamera som
Läs merShaders. Gustav Taxén
Shaders Gustav Taxén gustavt@csc.kth.se 2D1640 Grafik och Interaktionsprogrammering VT 2007 Shading l 2 P l 1 n v Givet en punkt P på en yta, en normal n, riktningsvektorer l i mot ljuskällor och en kamerariktning
Läs merI rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?
Operationer på buffert och pixlar I rastergrafikens barndom......gjorde man grafik genom att skriva i ett videominne. Lapped textures Emil Praun et al., SIGGRAPH 2000. Gustav Taxén CID gustavt@nada.kth.se
Läs merIntroduktion till OpenGL
Introduktion till OpenGL Magnus Bondesson Institutionen för Datavetenskap 98-01-15, 99-01-12, 00-01-12, 01-01-07, 02-01-17, 03-01-14, 04-08-18, 05-08-23, 06-03-17 1 Inledning OpenGL (uttytt Open Graphics
Läs merGrafiska pipelinen. Edvin Fischer
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
Läs merShaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering
Shaders Renderingssystem Applikation Geometri Rastrering Martin Fitger d00-mfi@d.kth.se VT 2008, DH2323 / DH2640 / NA8740 Renderingssystem Renderingssystem Applikation Per-vertex operationer Geometri Rastrering
Läs merRTG-formatet Gustav Taxén,
RTG-formatet 2004-08-11 Gustav Taxén, gustavt@nada.kth.se Det här texten beskriver kortfattat RTG-filformatet och ett C-bibliotek som kan läsa det. RTG-formatet är ett filformat för geometribeskrivningar
Läs merTransformationer. Translation. Skalning. Homogena koordinater. Rotation. 2D-grafik. x y. Inom datorgrafik är transformationer den. Många. bevaras.
Transformationer D-grafik Gustav Taén gustavt@nada.kth.se Inom datorgrafik är transformationer den kanske viktigaste formen av operation. De vanligaste transformationerna är linjära och kan skrivas som
Läs merSpelutveckling 3d-grafik och modellering. Grunder för 3d-grafik Blender Animering
Spelutveckling 3d-grafik och modellering Grunder för 3d-grafik Blender Animering Grunderna för 3d-grafik Positionering, transformationer Projektion, kameran Objekt i en 3d-värld Ljusmodeller för 3d-grafik
Läs merDen tekniska utvecklingen av hårdvara och mjukvara för realtidsgrafik
Den tekniska utvecklingen av hårdvara och mjukvara för realtidsgrafik Anders Andersson aaa99005@student.mdh.se CD5420 - Vetenskap inom dataområdet, 2002-10-15 1 Sammanfattning Rapporten har en fokusering
Läs merOpenGL, Maya och specialeffekter
OpenGL, Maya och specialeffekter Gustav Taxén, gustavt@nada.kth.se Introduktion OpenGL är ett användbart API för att rendera grafik i realtid (om man har det rätta hårdvarustödet). Du har på tidigare kurser
Läs merOH-BILDER DATORGRAFIK HT 2005
OH-BILDER DATORGRAFIK HT 2005 Bok ej nödvändig, men kan ge mer kött på benen. Dessa kopior av OH-bilder tillsammans med ett antal småskrifter avses ge nödvändiga fakta. OH-bilder som enbart belyser teorin
Läs merOpenGL, Maya och specialeffekter
OpenGL, Maya och specialeffekter Gustav Taxén, gustavt@nada.kth.se Introduktion OpenGL är ett användbart API för att rendera grafik i realtid (om man har det rätta hårdvarustödet). Du har på tidigare kurser
Läs merRastrering och displayalgoritmer. Gustav Taxén
Rastrering och displayalgoritmer Gustav Taxén gustavt@csc.kth.se 2D1640 Grafik och Interaktionsprogrammering VT 2007 Klippning Man vill undvika att rastrera de primitiver som hamnar utanför fönstret. Man
Läs merI rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?
Operationer på buffert och pixlar I rastergrafikens barndom......gjorde man grafik genom att skriva i ett videominne. Videominne Lapped textures Emil Praun et al., SIGGRAPH 2000. Gustav Taxén CID gustavt@nada.kth.se
Läs merGrunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Läs merHomogena koordinater och datorgrafik
Linjär algebra, AT3 2011/2012 Matematiska vetenskaper Inledning Homogena koordinater och datorgrafik Vi såg tidigare på några geometriska transformationer; rotation, skalning, translation och projektion.
Läs merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs mer2 FRÅN VÄRLD TILL SKÄRM
Översikt FRÅN VÄRL TILL SKÄRM Magnus Bondesson 2--2, 2--8, 22--22, 22-3-7 et här pappret handlar om hur koordinaterna för ett objekt i en tredimensionell värld översätts till koordinater i ett tvådimensionellt
Läs merGrafik i DrRacket AV TOMMY KARLSSON
Grafik i DrRacket AV TOMMY KARLSSON Upplägg Grundläggande grafik i racket Frame% Kodexempel! Generella problemlösarstrategier Grafisk kodstruktur Button% Pane% & Panel% Canvas% Bitmap% Grafisk effektivisering
Läs merF5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
Läs merF5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Läs merProgrammering av grafisk display
Programmering av grafisk display Arbetsboken avsnitt 5 - Drivrutrin för grafisk display, uppg. 5.10-5.16. Datablad LCD Grafisk under resurser på kurshemsidan, s.14-23. Lab 3 - Drivrutiner - Enkel grafik
Läs mer2D-grafik. Gustav Taxén
2D-grafik Gustav Taxén gustavt@csc.kth.se 2D164 Grafik och Interaktionsprogrammering VT 27 Framebuffer Datorminne som lagrar information för pixlarna som ska visas på skärmen Grafikkortet hämtar värdena
Läs merx 1 x 2 x 3 x 4 mera allmänt, om A är en (m n)-matris, då ger matrismultiplikationen en avbildning T A : R n R m.
Fredagen 006 Avbildningar Låt A vara matrisen () = 0 0 Till varje vektor X i R får vi vid matrismultiplikationen AX en vektor i R Mera explicit, om X = x x x x är en given punkt i R, då får vi punkten
Läs merProgrammering av grafisk display
Programmering av grafisk display Arbetsboken avsnitt 5 - Drivrutrin för grafisk display, s. 86-96. Datablad LCD Grafisk under resurser på kurshemsidan, s.14-23. Lab 3 - Drivrutiner - Enkel grafik Lab 5
Läs merSgLib Simple Graphics Library
SgLib Simple Graphics Library SgLib är en förenkling av glut som I sin tur bygger på open GL. Om du inte känner till glut och open GL, räcker det att veta att sglib är en samling filer som gör det lättare
Läs merTentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel
Tentamen TNM061, 3D-grafik och animering för MT2 Onsdag 20/8 2014 kl 14-18 SP71 Inga hjälpmedel Tentamen innehåller 7 uppgifter, vilka tillsammans kan ge maximalt 50 poäng. För betyg G (registreras som
Läs merProcedurell grottgenerator och eld i GLSL. Marcus Widegren
Procedurell grottgenerator och eld i GLSL Marcus Widegren 14 januari 2012 Innehåll 2 Sammanfattning Jag har gjort en enkel procedurell grottgenerator i GLSL och C++. För belysning används en fackla, som
Läs merDatastrukturer och algoritmer. Föreläsning 4 Test, Stack och Kö
Datastrukturer och algoritmer Föreläsning 4 Test, Stack och Kö 1 Innehåll Test Datatyperna Stack och kö Specifikation och Gränssnitt Konstruktion Tillämpning 2 Testa VIKTIGT! Test går att göra under många
Läs merInformation Coding / Computer Graphics, ISY, LiTH. Compute shaders!! Framtiden för GPU computing eller sen efterapning av Direct Compute?
Compute shaders Framtiden för GPU computing eller sen efterapning av Direct Compute? Compute shaders Tidigare rent Microsoft-koncept, Direct Compute Numera även i OpenGL, ny shadertyp från OpenGL 4.3 Varför
Läs merProgrammering i C++ EDA623 Typer. EDA623 (Föreläsning 4) HT / 33
Programmering i C++ EDA623 Typer EDA623 (Föreläsning 4) HT 2013 1 / 33 Typer Innehåll Heltalstyper Flyttalstyper Pekare Minnesallokering Funktionspekare Typdeklarationer med typedef Typomvandlingar (casting)
Läs merTentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel
Tentamen TNM061, 3D-grafik och animering för MT2 Tisdag 3/6 2014 kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43 Inga hjälpmedel Tentamen innehåller 8 uppgifter, vilka tillsammans kan ge maximalt 50 poäng.
Läs merUtmatningstekniker Vektoriserade (linjeritande) skärmar
previous 2D-grafik. Något om FrameWorks. Java en kort introduktion och något exempel med AWT, något om Swing och Graphics2D, samt OpenGL ett litet exempel Föreläsning 2 Innehåll Något om utmatning hårdvara,
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merProgrammering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merOpenGL, Maya och specialeffekter
OpenGL, Maya och specialeffekter Gustav Taxén, gustavt@nada.kth.se Introduktion OpenGL är ett användbart API för att rendera grafik i realtid (om man har det rätta hårdvarustödet). Du har på tidigare kurser
Läs merRealtidsalgoritmer för ljusets spridning och absorption mot partiklar i luften P E T E R L Ö N N Q U I S T
Realtidsalgoritmer för ljusets spridning och absorption mot partiklar i luften P E T E R L Ö N N Q U I S T Examensarbete Stockholm, Sverige 2006 Realtidsalgoritmer för ljusets spridning och absorption
Läs merHAND TRACKING MED DJUPKAMERA
HAND TRACKING MED DJUPKAMERA ETT PROJEKT I TNM090 - SOFTWARE ENGINEERING Rasmus KARLSSON Per JOHANSSON Erik HAMMARLUND raska293@student.liu.se perjo020@student.liu.se eriha891@student.liu.se 2014-01-14
Läs merInformation Coding / Computer Graphics, ISY, LiTH
12(73) Shadow maps/skuggmappning Mycket populär skuggningsmetod Två renderingar av scenen Beräkning för beslut i fragmentshader Mycket beräkningar (filter) för god kvalitet Fördel: Behöver ingen kunskap
Läs merSF1624 Algebra och geometri Lösningsförslag till tentamen Tisdagen den 15 december, 2009 DEL A
SF1624 Algebra och geometri Lösningsförslag till tentamen Tisdagen den 15 december, 2009 DEL A 1 a Bestäm de komplexa koefficienterna a, b och c så att polynomet Pz z 3 + az 2 + bz + c har nollställena
Läs mer1 som går genom punkten (1, 3) och är parallell med vektorn.
KTH Matematik Extra uppgifter på linjär algebra SF1621 Analytiska metoder och linjär algebra 2 för OPEN och T Förkunskaper Obs en del av detta är repetition från förra kursen Men innan ni ens börjar med
Läs merFörsättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet (fylls i av ansvarig) Datum för tentamen Sal Tid Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter i tentamen Antal sidor på
Läs merIntroduktion till fotogrammetrin
Introduktion till fotogrammetrin Lars Harrie, Institutionen för naturgeografi och ekosystemvetenskaper Flera bilder är framtagna av Mikael Johansson, Lantmäteriet Disposition 1)Introduktion 2)Tillämpningar
Läs merTransformationer, Angel
GrIP vt9: Föreläsning - D-grafik Yngve Sundblad 9-- D-grafik Yngve Sundblad @kth.se 8-79747 Rum 46, Lindstedtsv.5, plan 6 (vid Torget) DH64 Grafik och Interaktionsprogrammering VT 9 Transformationer, Angel
Läs merBorttagning av skymda ytor Painter s Algorithm och Z-buffering. MICHAEL HJORTHOLT och ANDREAS PAULSSON
Borttagning av skymda ytor Painter s Algorithm och Z-buffering MICHAEL HJORTHOLT och ANDREAS PAULSSON Examensarbete Stockholm, Sverige 2010 Borttagning av skymda ytor Painter s Algorithm och Z-buffering
Läs merRecap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.
Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum
Läs merRegel finns för strukturen på nätet Koordinatsystem anger element position
Nätgenerering Nätgenerering För större problem måste topologin skapas med hjälp av algoritmer Utgår ofta från en geometrisk beskrivning Kriterier kan sättas som anger hur tätt elemennätet skall genereras
Läs merÖvning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Läs merAtt prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.
Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Läs merAgenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då
Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de
Läs merGeometriska transformationer
CTH/GU LABORATION 5 TMV6/MMGD - 7/8 Matematiska vetenskaper Inledning Geometriska transformationer Vi skall se på några geometriska transformationer; rotation, skalning, translation, spegling och projektion.
Läs merProcedurell 3D-eld på grafikkortet
Procedurell 3D-eld på grafikkortet TNM084 Procedurella metoder för bilder Anders Hedblom, andhe893@student.liu.se 2012-04-04 1. Bakgrund 1.1. Procedurella metoder Procedurella metoder har ett stort användningsområde
Läs merLINJÄRA AVBILDNINGAR
LINJÄRA AVBILDNINGAR Xantcha november 05 Linjära avbildningar Definition Definition En avbildning T : R Ñ R (eller R Ñ R ) är linjär om T pau ` bvq at puq ` bt pvq för alla vektorer u, v P R (eller u,
Läs merSimulering av rök på GPU
Institutionen för kommunikation och information Examensarbete i datalogi 30hp C-nivå Vårterminen 2008 Simulering av rök på GPU Användning av GPGPU för att simulera rök Erik Jalsborn Simulering av rök på
Läs merGrafiska pipelinens funktion
LUNDS TEKNISKA HÖGSKOLA CAMPUS HELSINGBORG Grafiska pipelinens funktion Ludvig von Sydow EDT62, HT17 Datorarkitekturer med Operativsystem Sammanfattning Denna rapport syftar till att beskriva hur en graphics
Läs merProcedurell Terräng med LOD i OpenGL 4
Procedurell Terräng med LOD i OpenGL 4 TNM084: Proceduella metoder för bilder ITN, Linköpings universitet Lucas Correia, lucco863@student.liu.se Bakgrund Terräng är ett tydligt exempel där procedurella
Läs merLUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer
LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska
Läs merTBSK03 Teknik för avancerade Datorspel. Jens Ogniewski Information Coding Group Linköpings universitet
TBSK03 Teknik för avancerade Datorspel Jens Ogniewski Information Coding Group Linköpings universitet Representation av rotation Eulervinklar Y = Ryaw Rpitch Rroll X Intuitivt, fast svårt att göra Interpolation
Läs merTANA17 Matematiska beräkningar med Matlab
TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merLinjär Algebra, Föreläsning 2
Linjär Algebra, Föreläsning 2 Tomas Sjödin Linköpings Universitet Geometriska vektorer, rummen R n och M n 1 En (geometrisk) vektor är ett objekt som har storlek och riktning, men inte någon naturlig startpunkt.
Läs merDemonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3
LCD Display och Grafik Demonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3 Målsättning: Efter lektionen ska alla självständigt kunna slutföra
Läs merMälardalens högskola Västerås, Maj 2006 Institutionen för Datavetenskap och Elektronik, IDE Student: Alexander Andersson E-post:
Mälardalens högskola Västerås, Maj 2006 Institutionen för Datavetenskap och Elektronik, IDE Student: Alexander Andersson E-post: aan02016@student.mdh.se, aan02016@hotmail.com Telefon: 0707-418478 Handledare:
Läs merTENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs mer(8) OpenGL-Pipeline. Vorlesung Computergrafik T. Grosch
(8) OpenGL-Pipeline Vorlesung Computergrafik T. Grosch y v v p ' = M ORTHO M PERSP M R L V 4T 4 K 2 S4 T4 3 R 444 24444 3 M PROJECTION M MODELVIEW v p u v y v x v x v z v z v C -f (r,t) A Modell/Weltkoordinaten
Läs merKoordinatsystem och Navigation
2D vs 3D VS Skillnaden mellan 2D och 3D må verka ganska självklar men ibland kan det uppkomma missförstånd kring detta. Vi refererar oftast på 3D som datorgenererad grafik (CG=Computer Graphics) vilket
Läs merSKRIVNING I VEKTORGEOMETRI
SKRIVNING I VEKTORGEOMETRI 201-0-0 14.00-17.00 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade.
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merAbstrakta datatyper. Primitiva vektorer. Deklarera en vektor
Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.
Läs merMetoder för att öka realismen vid animerade 3Dförlopp. Master of Science Thesis MARTIN REBAS
Metoder för att öka realismen vid animerade 3Dförlopp Master of Science Thesis MARTIN REBAS Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg,
Läs merOOMPA 2D1359 Föreläsning 8
OOMPA 2D1359 Föreläsning 8 Innehåll Arv, polymorfi och gränssnitt Arv Subtyp, ersättbarhet Olika former av arv Polymorfi Abstrakta klasser och gränssnitt - 1 - Arv l Arv är fundamentalt i objektorienterad
Läs merIntroduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2015 2014 jonas.kvarnstrom@liu.se
Läs merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Läs merProgrammering = modellering
Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal
Läs merDatorseende. Niels Chr Overgaard Januari 2010
Datorseende Niels Chr Overgaard Januari 2010 Allmänt Föreläsningar: 14x2h, ti 15-17 + to 13-15 Övningar: 7x2h, fr 8-10 Labbar: 4x2h (obligatoriska) Inlämningsuppgifter: 5 stycken (obligatoriska) Projekt:
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merInformation Coding / Computer Graphics, ISY, LiTH. Bump mapping!
42(81) Information Coding / Computer Graphics, ISY, LiTH Bump mapping Principerna ingick i grundkursen. Mer detalj, implementation Koordinatsystem Normal mapping Utvidgning till mer avancerade metoder
Läs merKURSMÅL WINDOWS STARTA KURSEN
KURSMÅL WINDOWS Detta är en introduktionskurs för dig som är nybörjare. Du kommer att få bekanta dig med datorns viktigaste delar och lära dig grunderna i operativsystemet Windows, vilket är en förutsättning
Läs merIntroduktion till fotogrammetrin
Introduktion till fotogrammetrin Lars Harrie, Institutionen för naturgeografi och ekosystemvetenskaper Flera bilder är framtagna av Mikael Johansson, Lantmäteriet Disposition 1)Introduktion 2)Tillämpningar
Läs merDEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 15 mars 2010 kl
1 Matematiska Institutionen KTH Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 15 mars 010 kl 14.00-19.00. Hjälpmedel: Inga hjälpmedel är tillåtna på tentamensskrivningen. Betygsgränser:
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merAffina avbildningar och vektorgrafik
och vektorgrafik 2010-02-04 och vektorgrafik Affin avbildning som matriser Definition En affin avbildning f är en sammansättning av en linjär avbildning x Bx och en translation x x + c och är alltid på
Läs merOOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson
OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:
Läs mer2D1387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 31 augusti 2005
2D1387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 31 augusti 2005 I den här labben kommer du att lära dig att använda grundläggande C++ såsom klasser, loopar, variabler och minneshantering.
Läs merIdag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
Läs merEmacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016
Emacs Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016 Historia 2/21 Utvecklas konstant, från 70-talet Är en generellt texteditor (INTE ordbehandlare) som fokuserar på texten, inte utseendet
Läs merA comparison study between OpenGL 4.3, OpenGL ES 3.0 and WebGL 1.0 With focus on rendering pipeline and texture handling
Sammanfattning OpenGL är ett standardiserat API som används för att hantera 3D-grafik på desktop-datorer. Även då OpenGL är oberoende av specialanpassad hårdvara så passar det inte till alla sorter av
Läs mer