OpenGL AGI HT05. Gustav Taxén
|
|
- Helena Lindqvist
- för 7 år sedan
- Visningar:
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
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
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.
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
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
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
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
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å
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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:
Ö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,
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»
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
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
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
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
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
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
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...
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
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
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 (
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
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
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
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
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
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
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
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å
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
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! >
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
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
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
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
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?
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
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
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,
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
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
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:
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
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
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
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,
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
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
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
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
Ö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,
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
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
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
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
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
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
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
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
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)