OpenGL AGI HT05. Gustav Taxén

Storlek: px
Starta visningen från sidan:

Download "OpenGL AGI HT05. Gustav Taxén"

Transkript

1 OpenGL AGI HT05 Gustav Taxén

2 OpenGL-översikt Geometri Operationer på hörn Rastrering Operationer på fragment Bilddata Operationer på bildelement Texturminne Framebuffert (bildbuffert + hjälpbuffertar)

3 Geometrispecifikation glbegin(gl_quads); glvertex3f(...);... glend(); 6 sidor, 4 hörn per sida ger 24 hörn skickade till OpenGL för transformation och ljussättning. Också 24 anrop till glvertex().

4 Vertex arrays Steg 1: Lagra positionsdata för hörnen i en C-array. 6 1 Hörn Array index x y z 4 3

5 Indexerade primitiver Steg 2: Lagra index för primitiverna i en annan C-array. 6 1 Hörn Array index Array index Quad

6 Indexerade primitiver GLfloat positions[] = {... }; GLfloat normals[] = {... }; GLuint indices[] = {... }; glenableclientstate(gl_vertex_array); glvertexpointer(3, GL_FLOAT, 0, positions); glenableclientstate(gl_normal_array); glnormalpointer(gl_float, 0, normals); x, y, z gldrawelements(gl_quads, 6, Antal primitiver GL_UNSIGNED_INT, indices); gldisableclientstate(gl_vertex_array); gldisableclientstate(gl_normal_array);

7 Indexerade primitiver Klassiska varianten: 6 sidor, 4 hörn per sida: 24 hörn skickade till OpenGL för transformation och ljussättning. 24 funktionsanrop. Indexerade primitiver: 8 hörn skickade till OpenGL för transformation och ljussättning. 2 funktionsanrop.

8 Interleaved vertex arrays Hörn Array index x y z nx ny nz stride = 6 st floats GLfloat posandnorm[] = {... }; int stride = 6 * sizeof(glfloat); glenableclientstate(gl_vertex_array); glvertexpointer(3, GL_FLOAT, stride, posandnorm); glenableclientstate(gl_normal_array); glnormalpointer(gl_float, stride, &posandnorm[3]);

9 Texturer t s

10 Förstoring och förminskning Texelstorlek = pixelstorlek (inträffar i princip aldrig) Textur Förstoring Pixelpunkter på skärmen Förminskning Textur Pixelpunkter på skärmen

11 MIP-maps Teknik för att undvika aliasing-problem vid texturförminskning.

12 MIP-maps Filtrera ett antal texturer i förväg och lagra dem effektivt. Anropa glteximage2d() för varje MIP-mapnivå eller använd glubuild2dmipmaps(). Vid texturering väljs automatiskt den textur som passar bäst m.a.p. avstånd från kameran (om MIP-mapping är aktiverat).

13 MIP-maps Exempel på olika filteralternativ Visualisering av MIP-mapnivåerna: polygon som sträcker sig bort från kameran

14 Reflection mapping (R x R y R z ) Samla ljus som anländer från omgivningen och lagra m.a.p. riktning i någon lämplig datastruktur Vid rendering, beräkna reflektionsriktningen (R x R y R z ) och hämta dess färg från datastrukturen

15 Reflection mapping Algoritmen introducerades av Jim Blinn 1976 Blinn valde en cylinder som datastruktur

16 Reflection mapping Gene Miller, Michael Shou m.fl

17 Reflection mapping Interface, Lance Williams, 1985

18 Reflection mapping Terminator 2, 1991

19 Reflection mapping Vi vill hitta ett sätt att transformera riktningar på enhetssfären till en eller flera 2-dimensionella bilder (som grafikkortet kan använda).

20 Sphere mapping bildplan Antag att vi har en blank sfär och placerar den i en omgivning. Krymp sedan sfären till en punkt. Antag till sist att vi står oändligt långt bort och betraktar sfären (ortogonalprojektion). Vi har nu fångat ljuset i varje riktning på ett bildplan! Observera singulariteten för riktningar rakt bort från bildplanet.

21 Sphere mapping Givet en reflektionsvektor R = (R x R y R z ) kan vi göra den omvända transformationen och få ut texturkoordinaterna (s, t): s m = = Rx m , = ( ( ) ) R + R + R x y t R y m z Sphere mapping stöds direkt i OpenGL. När sphere mapping är aktivt genererar OpenGL själv R och texturkoordinater.

22 Sphere mapping - problem Riktningar framåt får högre upplösning än riktningar bakåt, och riktningar rakt bort från bildplanet ger en singularitet. Bilden stämmer bara om man roterar ett föremål med statisk kamera. Metoden fungerar inte för en rörlig kamera. Problem vid texturinterpolation för riktningar bakåt. Övre bilden: önskad interpolation. Nedre bilden: hur hårdvaran gör

23 Sphere mapping - demo

24 Cube mapping Löser problemen med låg upplösning men använder 6 gånger mer texturminne. Stöds av modern hårdvara.

25 Bufferttester i OpenGL Djuptest Alphatest Stenciltest Färgbuffert

26 Alphatest glalphafunc(gl_greater,0.5); glenable(gl_alpha_test); Släpper igenom fragment vars alpha-värde är större än 0.5. Det finns andra alternativ än GL_GREATER (t.ex. GL_LESS). RGBA = (1, 1, 1, 0.7) RGBA = (1, 1, 1, 0.2) Alphatestet behöver ingen egen associerad buffer.

27 Stenciltest Släpper igenom fragment på de positioner i stencilbufferten där ett (på förhand givet) referensvärde står skrivet. Stencilbuffert Fragment Stenciltestet kräver en egen buffert (oftast 8 bitar).

28 Stenciltest glstencilfunc() - konfigurerar stenciltestet. glstencilop() - bestämmer vad som ska hända med referensvärdet i fallen då Stenciltestet är FALSKT. Stenciltestet är SANT och djuptestet är FALSKT. Stenciltestet är SANT och djuptestet är SANT.

29 Stenciltest glstencilfunc(gl_equal, 1, ~0); anger att stenciltestet ska returnera SANT om referensvärdet i stencilbufferten på fragmentets (x, y)-position är lika med 1. ~0 är en bitmask och anger här att alla bitar i referensvärdet ska tas med i testet (~0 = 0xFF för 8 bitar).

30 Stenciltest glclear(gl_stencil_buffer_bit); glenable(gl_stencil_test); glstencilfunc(gl_always, 1, ~0); glstencilop(gl_replace, GL_REPLACE, GL_REPLACE); glcolormask(gl_false, GL_FALSE, GL_FALSE, GL_FALSE); /* draw something here */ glcolormask(gl_true, GL_TRUE, GL_TRUE, GL_TRUE); glstencilfunc(gl_equal, 1, ~0); glstencilop(gl_keep, GL_KEEP, GL_KEEP); glcolormask(gl_true, GL_TRUE, GL_TRUE, GL_TRUE); /* draw something else here */ Fyll i stencilbufferten utan att uppdatera färgbufferten Rita scenen utan att uppdatera stencilbufferten

31 Stenciltest och labben Denna del måste klippas bort...

32 Färgblandning Färg på anländande fragment blandas med färgen på det fragment som redan finns i bildbufferten. R out = R in S R + R bildbuffert D R G out = G in S G + G bildbuffert D G B out = B in S B + B bildbuffert D B där (S R,D R ), (S G,D G ) och (S B,D B ) kallas blandningsfaktorer.

33 Färgblandning, exempel glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA); S R D R R out = R in A in + R bildbuffert (1 A in ) Steg 1: Rita gul triangel. Steg 2: glenable(gl_blend); Rita blå triangel med A < 1.

34 Multitexturing Ofta vill man lägga på mer än en textur på varje polygon: Modern grafikhårdvara stöder att man kombinerar texturerna på olika sätt, t.ex. addition och multiplikation.

35 Multitexturing GL_REPLACE GL_MODULATE GL_ADD... RGBA från ljussättning (eller glcolor) RGBA från textur 0 Texture Unit 0 GL_REPLACE GL_MODULATE GL_ADD... RGBA från textur 1 Texture Unit 1... Det är inte ovanligt att PC-grafikkort har 8-16 Tetxure Units

36 Extensions Multitexturing är en s.k. extension. Extensions är utökningar av OpenGL som inte ännu blivit officiella delar av standarden. Lista och dokumentation finns på Kräver en ny header-fil: #include <GL/glext.h> (Brukar tillhandahållas av grafikkortstillverkaren, kan annars hämtas från ovanstående webbplats.) Kolla om en extension finns: glutextensionsupported();

37 Extensions #include <GL/glext.h> #define ARB_ENABLE true ger tillgång till s.k. ARB extensions. Dessa har godkänts av ARB men har inte hamnat i standarden ännu. Ex: GL_ARB_multitexture fanns som ARB extension i OpenGL 1.1 men är standard f.o.m. OpenGL 1.2. Övriga extensions måste man söka funktionspekare till. Se för exempel.

38 Multitexturing #include <glext.h> #define ARB_ENABLE true /* Aktivera enhet 0 och ladda textur */ glactivetexturearb(gl_texture0_arb); glenable(gl_texture_2d); glbindtexture(gl_texture_2d,...); /* Aktivera enhet 1 och ladda textur */ glactivetexturearb(gl_texture1_arb); glenable(gl_texture_2d); glbindtexture(gl_texture_2d,...);

39 Multitexturing (forts.) glbegin(gl_triangles); glmultitexcoord2farb(gl_texture0_arb, 0.0, 0.0); glmultitexcoord2farb(gl_texture1_arb, 0.1, 0.2); glvertex3f(0.0, 0.0, 0.0); glmultitexcoord2farb(gl_texture0_arb, 1.0, 0.0); glmultitexcoord2farb(gl_texture1_arb, 0.6, 0.2); glvertex3f(1.0, 0.0, 0.0); glmultitexcoord2farb(gl_texture0_arb, 0.5, 1.0); glmultitexcoord2farb(gl_texture1_arb, 0.3, 0.5); glvertex3f(0.5, 1.0, 0.0); glend();

40 Hämta OpenGL-tillst tillstånd Man kan ta reda på vilket värde samtliga tillstånd i OpenGL har genom att använda glget...(); Exempel: aktuell modelview-matris: GLfloat m[16]; glgetfloatv(gl_modelview_matrix, m); (Se OpenGL-specifikationen för mer info.)

41 Debugging Kan ofta vara klurigt. Man kan dock kolla om man angett ett felaktigt värde till OpenGL genom att använda if (glgeterror()!= GL_NO_ERROR) { /* Något är fel! */ } (Se OpenGL-specifikationen för mer info.)

42 Labben På Mac (äntligen)! Maya lagrar absoluta sökvägar till texturfiler ändra i RTG-filen om det behövs (eller skriv kod som hanterar det!). Se till att dina texturer är 2 n x 2 m Om din modell inte funkar, pröva med brood.rtg i kurskatalogen (glöm inte att kopiera texturen!). Läs all dokumentation som hör till labben (inkl hela labbpeket) innan du börjar! Dokumenten finns också i kurskatalogen.

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

Avalanche 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 mer

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

Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL Introduktion till OpenGL Battlezone Atari corp., 1980. Gustav Taxén CID gustavt@nada.kth.se Varför behövs grafikbibliotek? Grafikhårdvara Skillnader i funktionalitet och möjligheter. Skillnader i styrning.

Läs mer

OpenGL-översikt. OpenGL. Viktigt att komma ihåg: OpenGL-kommandon. OpenGL är en tillståndsmaskin. Transformationer. Geometrispecifikation

OpenGL-ö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 mer

OpenGL, Maya och specialeffekter

OpenGL, 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 mer

OpenGL-översikt. OpenGL. Lokala koordinatsystem. Transformationer. Hierarkiska modeller. Animation. Transformation Byte av koordinatsystem

OpenGL-ö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 mer

OpenGL, Maya och specialeffekter

OpenGL, 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 mer

OpenGL-översikt. Mer OpenGL. Består-av-hierarki. Hierarkiska modeller. Från hierarki till kod, steg 1. Lokala koordinatsystem

OpenGL-ö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 mer

En introduktion till OpenGL. Gustav Taxén gustavt@csc.kth.se

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 mer

OpenGL. grafikbibliotek? Nackdelar med OpenGL. Fördelar med OpenGL. En introduktion till OpenGL. OpenGL. rdvara. Grafikhårdvara.

OpenGL. 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 mer

RTG-formatet Gustav Taxén,

RTG-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 mer

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

I 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 mer

OpenGL, Maya och specialeffekter

OpenGL, 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 mer

Shaders. Gustav Taxén

Shaders. 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 mer

Rastrering och displayalgoritmer. Gustav Taxén

Rastrering 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 mer

Information Coding / Computer Graphics, ISY, LiTH

Information 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 mer

Målning. Genomskinliga (transparenta) objekt

Målning. Genomskinliga (transparenta) objekt Målning Säg att vi har ett slutet område i 2D och vill fylla det med en viss färg eller ett visst mönster. Hur gör man då? Alla ritprogram har naturligtvis en metod för det, men hur kan den tänkas se ut?

Läs mer

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

Shaders. 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 mer

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

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap PROCEDUELL TERRÄNG Proceduella metoder för bilder (TNM084) Jimmy Liikala (jimli570@student.liu.se) Institutionen för teknik och naturvetenskap Sammanfattning Rapporten beskriver hur en proceduell terräng

Läs mer

Realtidsskuggalgoritmer för virtuella 3D-världar på modern grafikhårdvara M A R C U S B E A U S A N G

Realtidsskuggalgoritmer för virtuella 3D-världar på modern grafikhårdvara M A R C U S B E A U S A N G Realtidsskuggalgoritmer för virtuella 3D-världar på modern grafikhårdvara M A R C U S B E A U S A N G Examensarbete Stockholm, Sverige 2006 Realtidsskuggalgoritmer för virtuella 3D-världar på modern grafikhårdvara

Läs mer

Grafiska pipelinen. Edvin Fischer

Grafiska 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 mer

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

Spelutveckling 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 mer

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

I 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 mer

Transformationer. Translation. Skalning. Homogena koordinater. Rotation. 2D-grafik. x y. Inom datorgrafik är transformationer den. Många. bevaras.

Transformationer. 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 mer

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Procedurell 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 mer

Texturering - förstoring 2(2)

Texturering - förstoring 2(2) Texturering - förstoring 2(2) De viktigaste ändringarna beror på Texturering i JOGL (Ex. 18) att matriselement i Java inte säkert lagras i sekvens (vilket OpenGL antar) att Java saknar motsvarighet till

Läs mer

Procedurell renderingsmotor i Javascript och HTML5

Procedurell renderingsmotor i Javascript och HTML5 Procedurell renderingsmotor i Javascript och HTML5 TNM084 Procedurella Metoder för bilder Gustav Strömberg - gusst250@student.liu.se http://gustavstromberg.se/sandbox/html5/shademe/texture_stop_final.html

Läs mer

Procedurell 3D-eld på grafikkortet

Procedurell 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 mer

Grafiska pipelinens funktion

Grafiska 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 mer

Realtidsalgoritmer 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 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 mer

Geometry shaders! och Tesselation shaders!

Geometry shaders! och Tesselation shaders! 5(91) Information Coding / Computer Graphics, ISY, LiTH Geometry shaders och Tesselation shaders Ytterligare shadersteg i geometristeget i OpenGLpipelinen Kan modifiera, lägga till och ta bort geometri

Läs mer

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

Repetition + lite av varje. Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Repetition + lite av varje Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Tävlingen Tävling: 22:a maj 15:00-17:00 i sal EA Anmäl ert lag om ni vill vara med. Skicka

Läs mer

Geometry shaders! och Tesselation shaders!

Geometry shaders! och Tesselation shaders! 6(87) Geometry shaders och Tesselation shaders Ytterligare shadersteg i geometristeget i OpenGLpipelinen Kan modifiera, lägga till och ta bort geometri Kan mata ut andra sorters geometri än vad som matas

Läs mer

Tentamen 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/ 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 mer

In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts.

In- 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 mer

Kort introduktion till POV-Ray, del 1

Kort introduktion till POV-Ray, del 1 Kort introduktion till POV-Ray, del 1 Kjell Y Svensson, 2004-02-02,2007-03-13 Denna serie av artiklar ger en grundläggande introduktion och förhoppningsvis en förståelse för hur man skapar realistiska

Läs mer

Transformationer i 3D. Gustav Taxén

Transformationer 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 mer

VRay för Max Camilla Ravenna / André Ravenna Alto Punto 2012 Alto Punto Askims Stationsväg 21 436 40 Askim

VRay för Max Camilla Ravenna / André Ravenna Alto Punto 2012 Alto Punto Askims Stationsväg 21 436 40 Askim VRay för Max Camilla Ravenna / André Ravenna Alto Punto 2012 Alto Punto Askims Stationsväg 21 436 40 Askim ISBN 978-91-637-2533-3 Innehåll 1: Kom igång 5 2: Nödvändiga inställningar 6 2.1: V-Ray fliken

Läs mer

Introduktion till fotogrammetrin

Introduktion 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 mer

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

Tentamen i. Programmering i språket C

Tentamen i. Programmering i språket C 1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering i språket C för D1 m fl, även distanskursen lördag 25 februari

Läs mer

Varför behövs det? I Allegro finns t.ex. stöd för:

Varför behövs det? I Allegro finns t.ex. stöd för: Allegro Introduktion Översikt vad är Allegro? Vad är lib och h-fil Kolla kodexempel Strukturen på ett Allegrospel Hur kommer jag igång? Var kan jag läsa mer Addons Alternativ Vad är Allegro? Ett spelprogrammeringsbibliotek

Läs mer

2D-grafik. Gustav Taxén

2D-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 mer

Agenda. 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å 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 mer

After Effects Lathund

After Effects Lathund After Effects After Effects Lathund After Effects En komposition är det samma som ett filmklipp i After Effects. En komposition kan vara hela filmen/ animationen eller så använder man sig av flera kompositioner

Läs mer

Omtentamen TNM077, 3D datorgrafik och animering (samt även TNM008, 3D datorgrafik och VR)

Omtentamen TNM077, 3D datorgrafik och animering (samt även TNM008, 3D datorgrafik och VR) Omtentamen TNM077, 3D datorgrafik och animering (samt även TNM008, 3D datorgrafik och VR) Grupp: MT2 och NO2MT Datum: Fredagen den 23 april 2004 Tid: 14.00-18.00 Hjälpmedel: inga Ansvarig lärare: Stefan

Läs mer

TNM022 Proceduella Bilder Rendering av proceduell päls i realtid

TNM022 Proceduella Bilder Rendering av proceduell päls i realtid TNM022 Proceduella Bilder Rendering av proceduell päls i realtid Jonas Nilsson jonni957@student.liu.se Sammanfattning Jag har undersökt och experimenterat med möjligheterna att rendera päls i realtid med

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Objektorienterad Programkonstruktion

Objektorienterad Programkonstruktion Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,

Läs mer

Asymptotisk komplexitetsanalys

Asymptotisk komplexitetsanalys 1 Asymptotisk komplexitetsanalys 2 Lars Larsson 3 4 VT 2007 5 Lars Larsson Asymptotisk komplexitetsanalys 1 Lars Larsson Asymptotisk komplexitetsanalys 2 et med denna föreläsning är att studenterna skall:

Läs mer

Översikt. Bildsyntesens huvudmålsättning. Ljusmodeller. Simulerat ljusspektra till datorskärm? Ljusspektra. En introduktion till bildsyntes

Översikt. Bildsyntesens huvudmålsättning. Ljusmodeller. Simulerat ljusspektra till datorskärm? Ljusspektra. En introduktion till bildsyntes Översikt En introduktion till bildsyntes Gustav Taxén Centrum för användarorienterad IT-design gustavt@nada.kth.se Reflektionsmodell Bildsyntes Kameramodell, Tone mapping, Rastrering Bildelement / RGB-värden,

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Spelutveckling - Scenegrafer. Scenegrafer Optimeringar Culling

Spelutveckling - Scenegrafer. Scenegrafer Optimeringar Culling Spelutveckling - Scenegrafer Scenegrafer Optimeringar Culling Scenegraf vad och varför? En hierkisk representation av en 3d-värld Directed acyclic Graph (DAG) Består av noder med med barn/föräldrar Gör

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Innehållsförteckning... 3 Om bokförfattaren och Rita med SketchUp... 8 Bra att veta... 9 Programspråk och förklaringar:... 9 Finns funktionen i gratisversionen (Make)?... 9 Musen är

Läs mer

HAND TRACKING MED DJUPKAMERA

HAND 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 mer

Programmeringsteknik I

Programmeringsteknik I Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Tentamen 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/ 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 mer

Enkla datatyper minne

Enkla 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 mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G 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 mer

TDDC74 Programmering, abstraktion och modellering. Tentamen

TDDC74 Programmering, abstraktion och modellering. Tentamen AID-nummer: Datum: 2011-06-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Fredag 10 juni

Läs mer

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild. Sphero SPRK+ Appen som används är Sphero Edu När appen öppnas kommer man till denna bild. Klicka på 3D-modeller för att se delarna på Sphero Klicka här för att ansluta Sphero till ipad Programmet för att

Läs mer

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

Den 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 mer

TDDC74 Lab 02 Listor, sammansatta strukturer

TDDC74 Lab 02 Listor, sammansatta strukturer TDDC74 Lab 02 Listor, sammansatta strukturer 1 Översikt I denna laboration kommer ni att lära er mer om: Mer komplexa rekursiva mönster, procedurer och processer. Hur man kan hantera listor och andra enklare

Läs mer

Robotarm och algebra

Robotarm och algebra Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson 2010-12-07 Robotarm och algebra I denna laboration skall du lära dig lite mer om möjlighetera att rita ut mer avancerade

Läs mer

Laboration - Shaders

Laboration - Shaders DH2640/2D2323/DOA, VT 2009 2009-03-06 Laboration - Shaders Martin Fitger, d00-mfi@d.kth.se Version 1.4 Syfte Att erbjuda studenterna möjlighet att få lära sig om olika shaderkoncept och renderingsalgoritmer

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

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

Fö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 mer

Några geometriska konstruktioner i R 3

Några geometriska konstruktioner i R 3 Linjär algebra, AT / Matematiska vetenskaper Några geometriska konstruktioner i R Inledning Vi skall se på några Platonska kroppar. Dessa är konvexa tre-dimensionella polyedrar som har likformiga polygoner

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

Koordinatsystem och Navigation

Koordinatsystem 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 mer

Föreläsning 9: Talteori

Föreläsning 9: Talteori DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2007-11-13 Skribent(er): Niklas Lindbom och Daniel Walldin Föreläsare: Per Austrin Den här föreläsningen behandlar modulär

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

Läs mer

Sökning och sortering

Sökning och sortering Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling

Läs mer

Designing a Shading System. David Larsson

Designing a Shading System. David Larsson Designing a Shading System David Larsson Överblick Genomgång av rendering och shading Designval Implementationsdetaljer Rendering Omvandla en konceptuell 3d-värld till en bild Geometri Kamera Något saknas?

Läs mer

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

Emacs. 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 mer

Introduktion till fotogrammetrin

Introduktion 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 mer

Kort introduktion till POV-Ray, del 5

Kort introduktion till POV-Ray, del 5 Kort introduktion till POV-Ray, del 5 Kjell Y Svensson, 2004,2007-03-14 Denna del kommer att beskriva hur man modellerar glas, vatten och metall. Vi kommer som vanligt använda oss av lite fördefinierat,

Läs mer

Tentamen TEN1 HI1029 2014-05-22

Tentamen TEN1 HI1029 2014-05-22 Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha

Läs mer

För att komma igång. Ta skissen från designlabben eller motsvarande och lägg in den i front/side/top fönstret/fönstrena.

För att komma igång. Ta skissen från designlabben eller motsvarande och lägg in den i front/side/top fönstret/fönstrena. Maya lab AGI2003. Detta labpek bör i sin helhet ha lästs igenom innan labtillfället, även om detaljerna i hur och var man hittar och använder verktyg kan skummas. Syfte. Syftet med den här labben är att

Läs mer

Mä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: 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 mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel 732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016 Objektorienterad Programkonstruktion Föreläsning 9 30 nov 2016 Collections Ett samlingsnamn på objekt som innehåller en samling av andra objekt Det finns många olika sorters Collections, t.ex listor, träd,

Läs mer

2D1339 Programkonstruktion för F1, ht 2003

2D1339 Programkonstruktion för F1, ht 2003 2D1339 Programkonstruktion för F1, ht 2003 Fiktiv Kontrollskrivning 1 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga hjälpmedel är tillåtna

Läs mer

Programmera 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?? 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

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog

Läs mer

Arrayer. results

Arrayer. results Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1

Läs mer

Översikt. Bildsyntesens huvudmålsättning. Ljusmodeller. Simulerat ljusspektra till datorskärm? Ljusspektra. En introduktion till bildsyntes

Översikt. Bildsyntesens huvudmålsättning. Ljusmodeller. Simulerat ljusspektra till datorskärm? Ljusspektra. En introduktion till bildsyntes Översikt En introduktion till bildsyntes Gustav Taxén Centrum för användarorienterad IT-design gustavt@nada.kth.se Reflektionsmodell Bildsyntes Kameramodell, Tone mapping, Rastrering Bildelement / RGB-värden,

Läs mer

Vi börjar med en penna som ritar när du drar runt den på Scenen.

Vi börjar med en penna som ritar när du drar runt den på Scenen. Nivå 3 Målarlådan All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Läs mer

Skinning and Animation

Skinning and Animation Skinning and Animation Skelett Keyframe animation BSpline Quaternioner Kinematics Animation Blending Skinning Skinning på GPU:n Skelett Hierarkiskt Kan närmast liknas vid en trädstruktur Ben och leder

Läs mer

Projektdokumentation för Othello

Projektdokumentation för Othello Projektdokumentation för Gustav Fransson Nyvell gusfr229@student.liu.se Tomas Franzén tomfr819@student.liu.se 1. Inledning Vi har gjort ett -spel som går ut på att man turas om att lägga brickor på en

Läs mer

Grafik raytracing. Mattias Axblom.

Grafik raytracing. Mattias Axblom. Grafik raytracing Mattias Axblom mam11003@student.mdh.se 1 SAMMANFATTNING Raytracing, strålföljning eller strålspårning är en metod för att rendera realistiska bilder, film och i framtiden spel. Grundidén

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Histogram över kanter i bilder

Histogram över kanter i bilder Histogram över kanter i bilder Metod Både den svartvita kanstdetekteringen och detekteringen av färgkanter följer samma metod. Först görs en sobelfiltrering i både vertikal och horisontell led. De pixlar

Läs mer

Föreläsning 1 Datastrukturer (DAT037)

Föreläsning 1 Datastrukturer (DAT037) Föreläsning 1 Datastrukturer (DAT037) Fredrik Lindblad 1 30 oktober 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037

Läs mer

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer