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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 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 Framebuffert (bildbuffert + hjälpbuffertar) Transformationer Lokala koordinatsystem Transformation Transformation Projektion Transformation Byte av koordinatsystem glloadidentity(); gltranslatef(0,0,-3); glrotatef(50,0,,0); gltranslatef(0,0,3); glbegin(gl_triangles); glvertex3f(,0,0); glvertex3f(0,,0); glvertex3f(0,0,); glend(); Animation Hierarkiska modeller Viewporttransformation Uppdateringsmekanism Registrera en idle-callback med glutidlefunc(); Sist i din callback, generera omritningshändelse med glutpostredisplay(); pivotpunkt Parametrar Rendering/ utritning Transformationer baserade på parametrarna OpenGL

2 Består-av-hierarki Lokala koordinatsystem Skelett Subnodens origo positioneras m.a.p. förälderns koordinatsystem. Arm Överarm Underarm Från hierarki till kod, steg Överarm Skelett Arm Underarm void drawskeleton(void) { drawarm(); void drawarm(void) { drawupperarm(); drawlowerarm(); void drawupperarm(void) { void drawlowerarm(void) { Från hierarki till kod, steg 2 void drawskeleton(void) { glpushmatrix(); positionera armens origo; drawarm(); glpopmatrix(); void drawarm(void) { glpushmatrix(); positionera överarmens origo; drawupperarm(); glpopmatrix(); glpushmatrix(); positionera underarmens origo; drawlowerarm(); glpopmatrix(); Transformation av delträd Demo Ändra rotation här! void drawskeleton(void) { glpushmatrix (); positionera armens origo; drawarm (); glpopmatrix (); 2

3 Labbtips! Ljussättning: Phongs reflektionsmodell Ambient Matt param 0 = f 0 (t) param = f (t) Kända Speglande Phongmodellen i OpenGL Color = Ambient + + [ MatDiffuse LightDiffuse i (N L i ) + i + MatSpecular LightSpecular i (E H) Shininess ] Ekvationen evalueras tre ggr: R, G, B. Phongmodellen i OpenGL Ljuskälla Ambient RGBA Diffuse RGBA Ambient RGBA Hörnets material Diffuse RGBA Specular RGBA, shininess + Hörn RGBA E H R N L i H= (E + L i ) / E + L i är en approximation av reflektionsvektorn R. Specular RGBA Hörnets normal Ögats position (= världsorigo) Ljussättning av hörn Färg beräknas i varje hörn och interpoleras sedan linjärt över polygonen (Goraud shading). Bra att komma ihåg om ljussättning Då ljussättning är aktivt har aktuell färg ingen effekt. OpenGL stöder minst 8 aktiva ljuskällor. En ljuskälla avger en viss mängd av varje ljustyp. Då ljuskällans position specificras multipliceras den med aktuell modelviewmatris. 3

4 Demo Back face culling glenable(gl_cull_face); Back face culling Normalen? 90 o > 90 o Fram/baksida beräknas genom tecknet i a = 0.5 x i y i - x i y i, Kamera 0 i (n - ), i (i + ) mod n, (x i, y i ) fönsterkoordinater för hörn nr i, n = antal hörn i polygonen Denna beräkning visar om hörnen ligger i medsols eller motsols ordning. Konventionen är att motsols är riktat mot kameran. Rastrering Bilddataspecifikation Operationer på hörn: RGBA, z w, texturkoord. Operationer på bildelement Fragment Texturminne Två typer av bilddata: Bitmap - bit per pixel. Bild - max 32 bitar per pixel. Finns ingen filformatstolk, data hämtas från C-array. ( Bitmaps går direkt till rastreringen. Bilder går direkt till rastreringen eller lagras som texturdata (internt eller på grafikkortet). 4

5 Var ritas bilddata? Rita bild Aktuell rasterposition: glrasterpos2f(x, y); glrasterpos3f(x, y, z); glrasterpos4f(x, y, z, w); Då rasterpositionen anges transformeras den på samma sätt som övriga hörn. Jfr. position för ljuskällor! height gldrawpixels(width, height, format, type, const void *pixels); format R G B R G B R G B A R G B A R R R R (x w, y w, z w ) för aktuell rasterposition utgör origo för bilden/bitmapen. origo width type GL_UNSIGNED_BYTE GL_FLOAT Texturer Texturer Texturkoordinat t s Demo MIP-maps Teknik för att undvika aliasing-problem vid texturförminskning. 5

6 MIP-maps Filtrera ett antal texturer i förväg och lagra dem effektivt. Texturobjekt Filtreringsalternativ. Clamp/wrap-around för texturkoord. Texturobjekt Vid texturering väljs automatiskt den textur som passar bäst m.a.p. avstånd från kameran (om MIP-mapping är aktiverat). Texturappliceringsparametrar Texturkoordinater Rastrering Texturobjekt Innehåller: Texturdata (texels). Information filter och texturkoordinatapplicering: gltexparameter Information om huruvida kopia av texturdata har laddats ned till grafikhårdvaran. Endast ett texturobjekt är aktivt! Förstoring och förminskning Textur FÖRSTORING Pixelpunkter på skärmen FÖRMINSKNING Pixelpunkter Textur på skärmen Alternativ: GL_NEAREST, GL_LINEAR, m.m. (Labbtips: GL_NEAREST_MIPMAP_LINEAR är default, men vi använder inte MIP-maps) Clamp/wrap around Texturdataspecifikation (s, t) = (.25, -2.75) t m GL_REPEAT GL_CLAMP origo n ram s (width, height) = (2 n + 2b, 2 m + 2b) där m, n är heltal 0, b = om texturen har ram, 0 annars. 6

7 Texturdataspecifikation glteximage2d(gl_texture_2d, level, internalformat, width, height, border, format, type, const GLvoid *texels); level = MIP-mapnivå (= 0 på den här kursen) internalformat = internt lagringsformat (normalt = type) format, type som i gldrawpixels Observera att lagringslägen och transferoperationer även gäller texturer! Texturapplicering gltexenvi(gl_texture_env, GL_TEXTURE_ENV_MODE, mode); där mode är GL_DECAL = Ersätt RGB med texturdata, spara A. GL_REPLACE = Ersätt RGBA med texturdata. GL_MODULATE = Kombinera texturdata med ljussättning/färg. OBS! LAGRAS INTE I TEXTUROBJEKT! Texturkoordinater Texturkoordinater gltexcoord2f(s, t); gltexcoord3f(s, t, r); gltexcoord4f(s, t, r, q); Anges före glvertex (precis som för normaler). s' t' r' q' = T s t r q t glmatrixmode(gl_texture); Texturkartan indexeras sedan med (s'/q', t'/q'). r'/q' ignoreras normalt, men används vid 3D-texturering. s PPM-biblioteket #include <GL/glut.h> #include <ppm.h> GLuint tex; int main(int argc, char *argv) { float *texels; int w, h; w = ppmwidth( img.ppm ); h = ppmheight( img.ppm ); texels = ppmread( img.ppm, NULL); PPM-biblioteket glutcreatewindow( Win ); glgentextures(&tex, ); glteximage2d(, w, h,, texels); Programmet xv kan läsa/skriva PPM-bilder (gör module add graphics). På Windows: PaintShop Pro. 7

8 Bufferttester Djupbuffert och djuptest Fragment = (R, G, B, A, djup, texturkoordinat) Färgbuffert Färgbuffert Djuptest Djupbuffert Fönster Fragment Mer information om OpenGL Woo, Neider, Davis: The OpenGL Programming Guide, Addison Wesley Developer Press. Upplagan för OpenGL. finns som PDF på red_book_.0/ Segal, Akeley: The OpenGL Graphics System: A Specification. Finns på Plus en mängd andra böcker Inspiration! Problem? Gå till Simulering Spel Visualisering Konstnärliga uttryck xenia.media.mit.edu/~badger 8

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

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

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

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

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 AGI HT05. Gustav Taxén

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kurvor och ytor. Gustav Taxén

Kurvor och ytor. Gustav Taxén Kurvor och ytor Gustav Taxén gustavt@csc.kth.se 2D1640 Grafik och Interaktionsprogrammering VT 2007 Kurvor och ytor Explicit form Implicit form Parametrisk form Procedurbaserade Polynom Catmull-Clark Kubiska

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

Introduktion till OpenGL

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

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

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

Information Coding / Computer Graphics, ISY, LiTH. Compute shaders!! Framtiden för GPU computing eller sen efterapning av Direct Compute?

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

DGI/SUDOA Den historiska utvecklingen. Globala - lokala belysningsmodeller. Lokala belysningsmodeller. Rendering equation

DGI/SUDOA Den historiska utvecklingen. Globala - lokala belysningsmodeller. Lokala belysningsmodeller. Rendering equation DGI/SUDOA - 060329 Rendering equation Belysningsmodeller (lokala och globala) Kort om texturer Den historiska utvecklingen 1. Enkla modeller som utvärderades genom att göra enkla bedömningar 2. Mera sofistikerade

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.

Läs mer

Realism och hypermediering

Realism och hypermediering Bildsyntesens mål D. P. Greenberg, A framework for realistic image synthesis, Communications of the ACM, 42(8), 1999, 44-53. Bildsyntes, vt2009 Lars Kjelldahl En del bilder lånad av Gustav Taxén Skapa

Läs mer

Teknik för avancerade datorspel!

Teknik för avancerade datorspel! 1(84) Information Coding / Computer Graphics, ISY, LiTH TSBK 03 Teknik för avancerade datorspel Ingemar Ragnemalm, ISY Fysik Datorgrafik Spelmekanismer AI Animation 1(84) Föreläsning 5 GPU computing GPU

Läs mer

Undersökande arbetssätt i matematik 1 och 2

Undersökande arbetssätt i matematik 1 och 2 Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg Del 6: Undersökande arbetssätt med matematisk programvara Undersökande arbetssätt i matematik 1 och 2 I texten Undersökande arbetssätt

Läs mer

Teknik för avancerade datorspel!

Teknik för avancerade datorspel! 1(83) Information Coding / Computer Graphics, ISY, LiTH TSBK 03 Teknik för avancerade datorspel Ingemar Ragnemalm, ISY Fysik Datorgrafik Spelmekanismer AI Animation 1(83) Föreläsning 5 GPU computing GPU

Läs mer

SgLib Simple Graphics Library

SgLib 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 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

Transformationer, Angel

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

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt Programmeringsteknik II - HT18 Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt 18-09-28 1 Förra gången: Arv och klasshierarkier Vi såg hur

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

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

Ö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

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera Instruktionerna till denna kameraguide är en enkel kom igång guide. Grundkrav: En webbkamera som är kopplad till datorn

Läs mer

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

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning Karlstads GeoGebrainstitut Institutionen för matematik och datavetenskap Karlstads universitet Mats Brunström Maria Fahlgren GeoGebra ett digitalt verktyg för framtidens matematikundervisning Invigning

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

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

Realism och hypermediering

Realism och hypermediering D. P. Greenberg, A framework for realistic image synthesis, Communications of the ACM, 42(8), 1999, 44-53. Bildsyntes Lars Kjelldahl En del bilder lånad av Gustav Taxén Bildsyntesens mål Skapa bilder som

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

LANDING ZONE IV (v1.0, uppgift 4 av 4) för 3D Animering B 1112

LANDING ZONE IV (v1.0, uppgift 4 av 4) för 3D Animering B 1112 LANDING ZONE IV (v1.0, uppgift 4 av 4) för 3D Animering B 1112 'Landing Zone' (school assignment) is 2011-2012 Arvid Forsberg /// Images are of their respective owners. Tuesday, January 31, 12 Innehållsförteckning

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

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

Program Rubrik Beskrivning Åtgärd Datum Version

Program Rubrik Beskrivning Åtgärd Datum Version Novapoint GeoSuite Toolbox Se I tabellerna redovisas revisionshistorien för GeoSuite Toolbox. Revisionerna har publicerats i installationspaket enligt nedan. Installationspaket 1.0.27 Avinstallation av

Läs mer

Bézierkurvor och parametriska objektrepresentationer

Bézierkurvor och parametriska objektrepresentationer Sidan 1 av 11 Inledning Detta är en kort sammanfattning av teorimaterialet som år 2004 ingår i examinationen i kursen TNM077 3D-grafik och animering som ges vid Linköpings tekniska universitet på Campus

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

TANA17 Matematiska beräkningar med Matlab

TANA17 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 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

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

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

Lektion 7, del 1, kapitel 15 Filter och Transformationer

Lektion 7, del 1, kapitel 15 Filter och Transformationer Lektion 7, del 1, kapitel 15 Filter och Transformationer Inlärningsmål Att kunna använda filter för att åstadkomma specialeffekter Att kunna kombinera filter för att nå önskad effekt Att kunna åstadkomma

Läs mer

Att få inskannad text uppläst med talsyntes

Att få inskannad text uppläst med talsyntes Att få inskannad text uppläst med talsyntes 1. Komma igång med ClaroRead Pro Starta talsyntesprogrammet 1. Gå till Startmenyn > Program > Claro Software 2. Klicka på för att starta talsyntesen. ClaroReads

Läs mer

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

Här är ett väldigt bra tidpunkt att spara scenen. Jag har valt att bygga ett litet pyramidtorn. Man kan i 3dsmax 2011 som standard välja mellan två olika renderare. Dels den inbyggda och något föråldrade scanline-renderaren samt "mental ray" som är lite mer avancerad och har mer möjligheter men också

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

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

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

3.0. Tips och Trix Sida 1 av 18

3.0. Tips och Trix Sida 1 av 18 3.0 https://beta.scratch.mit.edu/ Tips och Trix 2018-08-31 Sida 1 av 18 Innehåll Starta nytt program 3 Scenens koordinatsystem 3 Centrumpunkt / rotationspunkt 4 Sprajtens inställningar 5 Placering i Z-led

Läs mer

Procedurell Terräng med LOD i OpenGL 4

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

Övning från förra gången: readword

Ö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 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

Systemprogrammering i C på en mobil plattform. Kurskompendium

Systemprogrammering i C på en mobil plattform. Kurskompendium Systemprogrammering i C på en mobil plattform Kurskompendium Jonny Karlsson 8.3.2011 1 INNEHÅLL 1. INTRODUKTION TILL C... 4 2. KOMPILERING AV C-PROGRAM I LINUX-MILJÖ... 5 2.1. Kompilering av program med

Läs mer

Vrida detalj samt flytta nollpunkt 1

Vrida detalj samt flytta nollpunkt 1 Vrida detalj samt flytta nollpunkt 1 Innehåll 1. Flytta detalj till nollpunkten... 2 2. Vrida detalj samt flytta nollpunkt.... 5 Vrida detalj samt flytta nollpunkt 2 1. Flytta detalj till nollpunkten I

Läs mer

2 FRÅN VÄRLD TILL SKÄRM

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

Optisk bänk En Virtuell Applet Laboration

Optisk bänk En Virtuell Applet Laboration Optisk bänk En Virtuell Applet Laboration Bildkonstruktion med linser. Generell Applet Information: 1. Öppna en internet läsare och öppna Optisk Bänk -sidan (adress). 2. Använd FULL SCREEN. 3. När applet:en

Läs mer

Institutionen för matematik, KTH Mats Boij. Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000

Institutionen för matematik, KTH Mats Boij. Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000 Institutionen för matematik, KTH Mats Boij Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000 1) Beräkna x 4 + 2x 3 + 3 för alla värden på x i Z 5. Lösning: Det nns bara fem

Läs mer

Bemästra verktyget TriBall

Bemästra verktyget TriBall Bemästra verktyget TriBall I IRONCAD finns ett patenterat verktyg för 3D-positionering av objekt, kallat TriBall. Hyllad av en del som "Det mest användbara verktyget i CAD-historien". TriBall är otroligt

Läs mer

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik I den här uppgiften studerar vi hur man kan använda sig av linjära avbildningar för att modifiera bilder i två dimensioner Mycket är repetition av vissa grundbegrepp

Läs mer

OH-BILDER DATORGRAFIK HT 2005

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

Information Coding / Computer Graphics, ISY, LiTH. Bump mapping!

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

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

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

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik. 2012 Rune Körnefors rune.kornefors@lnu.se

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik. 2012 Rune Körnefors rune.kornefors@lnu.se Föreläsning i webbdesign Bilder och färger Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Exempel: Bilder på några webbsidor 2 Bildpunkt = pixel (picture element) Bilder (bitmap

Läs mer

1 som går genom punkten (1, 3) och är parallell med vektorn.

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

Programmering av grafisk display

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

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA 5 LINJÄR ALGEBRA 5 Linjär algebra En kul gren av matematiken som inte fått speciellt mycket utrymme i gymnasiet men som har många tillämpningsområden inom t.ex. fysik, logistik, ekonomi, samhällsplanering

Läs mer

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Algebra ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få bekanta dig med i den här uppgiften.

Läs mer

Grundprogrammen. combine

Grundprogrammen. combine Seminarium II Andra seminariet behandlar speciella övningsuppgifter som gavs ut på kurswebben tidigare. Programmen som presenteras är förlag till lösningar på övningsuppgifterna. Genomgående används systemanropet

Läs mer

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

Programmering av grafisk display

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

Laboration 4: Digitala bilder

Laboration 4: Digitala bilder Objektorienterad programmering, Z : Digitala bilder Syfte I denna laboration skall vi återigen behandla transformering av data, denna gång avseende digitala bilder. Syftet med laborationen är att få förståelse

Läs mer

Information Coding / Computer Graphics, ISY, LiTH CUDA. En lösning för generella beräkningar. En introduktion: Programmingsmodell och språk

Information Coding / Computer Graphics, ISY, LiTH CUDA. En lösning för generella beräkningar. En introduktion: Programmingsmodell och språk CUDA En lösning för generella beräkningar. En introduktion: Programmingsmodell och språk Minnesareor och minnesaccess Delat minne Exempel CUDA = Compute Unified Device Architecture Utvecklat av NVidia

Läs mer

Simulering och rendering av gräs och vind i realtid

Simulering och rendering av gräs och vind i realtid Simulering och rendering av gräs och vind i realtid Linköpings universitet, ITN, TNM085, VT2010 Carl Claesson, 850508-1672, carcl268@student.liu.se Lucas Correia, 870325-7496, lucco863@student.liu.se David

Läs mer

Grafik i DrRacket AV TOMMY KARLSSON

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