Geometry shaders! och Tesselation shaders!
|
|
- Sebastian Pålsson
- för 8 år sedan
- Visningar:
Transkript
1 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 Kan mata ut andra sorters geometri än vad som matas in 5(91)
2 Geometry shaders 6(91)6(91)
3 Geometry shaders OpenGL 3 (extension i GL 2) Shader mellan vertex och fragment, bearbetar geometri, kan lägga till ny geometri Blygsamma hårdvarukrav: G80 eller bättre (2007+) Core sedan GL3. Vissa begränsingar, kritiserat för dålig prestanda. Dock förbättrat på nyare GPUer 7(91)7(91)
4 OpenGL pipeline Primitives, connectivity Vertex coordinates and normal vectors Vertex processing Transformed coordinates Geometry processing Triangles etc Texture Clip, cull Fragment operations Frame buffer operations +color, texture Fragment processing Pixel coord Raster conversion 8(91)8(91)
5 Geometry stage: Shaderprogram kan modifiera, lägga till eller ta bort geometri. TIll skillnad från vertexsteget jobbar vi på hela primitiver. Primitives, connectivity Vertex coordinates and normal vectors Vertex processing Transformed coordinates Geometry processing Triangles etc Texture Clip, cull Fragment operations Frame buffer operations +color, texture Fragment processing Pixel coord Raster conversion 9(91)9(91)
6 Tillämpningar för geometry shaders: Splines/spline-ytor Kantextraktion, silhuetter Effekter på polygonnivå (t.ex. uppbruten mesh genom att krympa trianglar) Adaptive subdivision (inkl displacement mapping) Visualisering av normalvektorer etc Flat shading Wireframes Dynamiskt hår/gräs definierat från en uppsättning "rotpunkter". 10(91) 10(91)
7 Geometry shader-exempel Input:En enda triangle (som första exempel) Ladda geometry shader tillsammans med vertex och fragment. Indata till shader: triangel, linje eller punkt Output: triangle strip, line strip 11(91)11(91)
8 Pass-through geometry shader #version 150 layout(triangles) in; layout(triangle_strip, max_vertices = 3) out; void main() { for(int i = 0; i < gl_in.length(); i++) { gl_position = gl_in[i].gl_position; EmitVertex(); } } Tala om att en primitiv är klar Skicka vidare samma vertex 12(91)12(91)
9 Flat shading Lätt med geometry shaders: Tag medelvärde av alla normaler i GS, beräkna ljus från detta. 13(91)13(91)
10 void main() { vec4 middleoftriangle = vec4(0.0); vec3 avgnormal = vec3(0.0);; for(int i = 0; i < gl_in.length(); i++) { avgnormal += exnormal[i]; } middleoftriangle /= gl_in.length(); avgnormal /= gl_in.length(); avgnormal = normalize(avgnormal); } for(int i = 0; i < gl_in.length(); i++) { gl_position = gl_in[i].gl_position; texcoordg = texcoord[i]; exnormalg = avgnormal; EmitVertex(); } EndPrimitive(); En aning bök för att få till något trivialt... 14(91)14(91)
11 Wireframe Wireframes kan genereras av geometry shader direkt från polygoner. Omvandla varje triangel till line strip i GS. Mycket användbart för visualisering av geometri. 15(91)15(91)
12 Lätt: line_strip ut i stället för triangle_strip layout(triangles) in; //layout(triangle_strip, max_vertices = 90) out; // Normal, solid layout(line_strip, max_vertices = 90) out; // Wireframe 16(91)16(91)
13 Hår och gräs Använd geometrin som startpunkter, generera linjer/kurvor från dessa for(float u = 0.0; u < 1.0; u += offs) for(float v = 0.0; u+v < 1.0; v += offs) { float u0 = u; float u1 = u + offs; float v0 = v; float v1 = v + offs; emit(u0,v0); EndPrimitive(); } 17(91)17(91)
14 Crack shader Mindre generellt användbart men rolig effekt. Flytta alla vertexar närmare centrum av triangeln. void main() { vec4 middleoftriangle = vec4(0.0); float tw = 1.0 / offs; for(int i = 0; i < gl_in.length(); i++) middleoftriangle += gl_in[i].gl_position; middleoftriangle /= gl_in.length(); for(int i = 0; i < gl_in.length(); i++) { gl_position = (gl_in[i].gl_position * offs) + (middleoftriangle) * (1.0 - offs); } texcoordg = texcoord[i]; exnormalg = exnormal[i]; EmitVertex(); } EndPrimitive(); 18(91)18(91)
15 Tesselering då... Dela upp geometri för att 1) runda till en grov polygonmodell 2) lägga till detalj (displacement mapping mm) 3) Hantera level-of-detail Baseras ofta på splines Möjligt i både geometry och tesselation shaders 19(91)19(91)
16 Displacement mapping nu på geometrin, inte bump mapping Gråd & Forslund TSBK (91)20(91)
17 Bézierkurvor Typiskt 3 eller 4 kontrollpunkter per sektion 21(91)21(91)
18 Bézierytor En yta byggd av en uppsättning Bézier-ytsektioner (Bézier patches) En Bézierpatch består av 16 kontrollpunkter i ett 4x4- rutnät 22(91)22(91)
19 Exempel på Bézierytor 23(91)23(91)
20 Bezierkurva i en geometry shader // Simple 3-point spline geometry shader #version 150 layout(triangles) in; layout(line_strip, max_vertices = 50) out; // quadratic bezier 0..1 vec4 bez3(vec3 a, vec3 b, vec3 c, float u) { float aw = (1-u)*(1-u); float bw = 2*(1-u)*u; float cw = u*u; return vec4(a*aw+b*bw+c*cw, 1.0); } void main() { for (int i = 0; i <= 20; i++) { gl_position = bez3( vec3(gl_in[0].gl_position), vec3(gl_in[1].gl_position), vec3(gl_in[2].gl_position), float(i)/20.0); EmitVertex(); } } 24(91)24(91)
21 Adjacency Geometri kan skickas tillsammans med information om grannpunkter Detta kan underlätta t.ex. tesselering Triangel med adjacency Linje med adjacency 25(91)25(91)
22 Bezierpatches (4x4 punkter) med geometry shader? Passar dåligt Geometry shader arbetar med trianglar. Adjacency räcker inte till, och kräver mycket extraarbete på modeller för att använda. 26(91)26(91)
23 Curved PN Triangles Passar bra för geometry shaders Behöver bara vertexar samt normalvektorer för en triangel i taget - ej adjacency. Bekvämt. PN = Point + Normal 27(91)27(91)
24 Curved PN Triangles (Se TSBK07) 28(91)28(91)
25 Slutsatser Geometry shader mycket användbar, med många tillämpningar. Ett extra shadersteg krånglar inte till det så farligt. Räcker till det mesta - men inte allt. 29(91)29(91)
26 Tesselation shaders 30(91)30(91)
27 Tesselation shaders Problem med tidiga geometry shaders: Mycket geometri från få indata ineffektivt, seriellt. Åtgärd 1: Invocations i nyare hårdvara, snabbare geometry shaders Åtgärd 2: Tesselation shaders 31(91)31(91)
28 Tesselation shaders Ligger mellan vertex shader och geometry shader Inte en shader utan två, plus mellansteg. 1) Tesselation control shader 2) Primitive generation 3) Tesselation evaluation shader 32(91)32(91)
29 OpenGL pipeline - extended Primitives, connectivity Primitives, connectivity Geometry processing Vertex coordinates and normal vectors Vertex shader Transformed coordinates Tesselation control shader Primitive generation Tesselation evaluation shader Geometry shader Texture Clip, cull Fragment operations Frame buffer operations +color, texture Fragment processing Pixel coord Raster conversion 33(91)33(91)
30 Uppgifter hos tesselation shaders Indata: Patchar, ett antal vertexar utan given konstellation. TC-shadern anger önskad detaljnivå per kant samt inre nivåer TE-shadern beräknar slutliga positioner på önskat sätt (t.ex. med en splinefunktion) 34(91)34(91)
31 Exempel: Triangel Outer = 3 Inner = 3 35(91)35(91)
32 Exempel: Tesselation Control #version 400 layout(vertices = 3) out; in vec3 vposition[]; // From vertex shader out vec3 tcposition[]; // Output of TC uniform float TessLevelInner; // Sent from main program uniform float TessLevelOuter; void main() { tcposition[gl_invocationid] = vposition[gl_invocationid]; // Pass on vertex if (gl_invocationid == 0) { gl_tesslevelinner[0] = TessLevelInner; // Decide tesselation level gl_tesslevelouter[0] = TessLevelOuter; gl_tesslevelouter[1] = TessLevelOuter; gl_tesslevelouter[2] = TessLevelOuter; } } 36(91)36(91)
33 Exempel: Tesselation Evaluation #version 400 layout(triangles, equal_spacing, cw) in; in vec3 tcposition[]; // Original patch vertices void main() { vec3 p0 = gl_tesscoord.x * tcposition[0]; // Barycentric vec3 p1 = gl_tesscoord.y * tcposition[1]; vec3 p2 = gl_tesscoord.z * tcposition[2]; gl_position = vec4(p0 + p1 + p2, 1); // Sum with weights from the barycentric coords any way we like // Apply vertex transformation here if we want } 37(91)37(91)
34 Control + Evaluation Control avgör hur många stegs tesselering som är önskvärd Evaluation anropas så många gånger, får unika koordinater, från vilka vi skall beräkna resulterande vertexar 38(91)38(91)
35 Resultat 39(91)39(91)
36 Variation på outer och inner 40(91)40(91)
37 Outer görs per kant Viktigt Beräkning per kant ger samma täthet på gemensam kant mellan olika delar Inga glipor 41(91)41(91)
38 Tesselering är inget nytt Gamla OpenGL hade Evaluators (glmap) Bra stöd för Bezierkurvor och Bezierytor. Dock begränsad kontrollfrån APIet 42(91)42(91)
39 Evaluators Gammalt API för att evaluera Bezierkurvor. Lättanvänt men numera deprecated. Stödjer både kurvor och ytor 43(91)43(91)
40 Evaluators Rättframt men inte så flexibelt glmap1f(gl_map1_vertex_3, u0, u1, 3, 4, &data2[0][0]); glenable(gl_map1_vertex_3); glbegin(gl_line_strip); for (int i = 0; i <= 20; i++) glevalcoord1f(u0 + i*(u1-u0)/20); Control points glend(); Evaluation, specifies vertices 44(91)44(91)
41 Evaluators Gammalmodiga Enbart quads - knepigt att använda på generella modeller. => satsa på geometry shaders och tesselation shaders 45(91)45(91)
42 Slutsatser om tesselation shaders Dubbla steg - mer komplicerat än geometry shaders Vertex shader överflödig Poängen är tesselering. Inget annat? Fler tillämpningar hos Geometry shaders? Har vi inte nog shadersteg snart? Tekniken så ny att det är svårt att förutse vad som slår. 46(91)46(91)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
A comparison study between OpenGL 4.3, OpenGL ES 3.0 and WebGL 1.0 With focus on rendering pipeline and texture handling
Sammanfattning OpenGL är ett standardiserat API som används för att hantera 3D-grafik på desktop-datorer. Även då OpenGL är oberoende av specialanpassad hårdvara så passar det inte till alla sorter av
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
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
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?
Vector Displacement Mapping
Thesis no: BCS-2014-02 Vector Displacement Mapping En Prestandajämförelse med Displacement Mapping i Realtid Emrik Lundström Faculty of Computing Blekinge Institute of Technology SE-371 79 Karlskrona,
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
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
Kv. Ogräset. Martin Stenmarck, janst942@student.liu.se
Kv. Ogräset Martin Stenmarck, janst942@student.liu.se Fig 1. Kv. Ogräset. Bakgrund Kvarteret Ogräset är en samling av tre bostadsrättshus i Gottfridsberg, Linköping. Dessa tre hus håller på att byggas
EXAMENSARBETE. Tesselering och Displacement. Ökad realism inom realtidsgrafik. Jonas Malm Teknologie kandidatexamen Datorgrafik
EXAMENSARBETE Tesselering och Displacement Ökad realism inom realtidsgrafik Jonas Malm 2013 Teknologie kandidatexamen Datorgrafik Luleå tekniska universitet Institutionen för konst, kommunikation och lärande
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
2D1339 Programkonstruktion för F1, ht 2003
2D1339 Programkonstruktion för F1, ht 2003 Kontrollskrivning 1 Onsdag 19/11 2003 kl 9.15 10.00 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
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
TANA17 Matematiska beräkningar med Matlab
TANA17 Matematiska beräkningar med Matlab Projekt 3. Beskrivning av geometri med Beziérkurvor 1 Introduktion Inom design har man behov av effektiva sätt att beskriva kurvor och ytor med matematiska funktioner
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
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
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.
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:
Information Coding / Computer Graphics, ISY, LiTH. Minnesaccess. Vitalt för prestanda! Minnestyper. Coalescing
Minnesaccess Vitalt för prestanda! Minnestyper Coalescing Exampel på hur man kan använda delat minne Minnestyper Global Shared Constant (read only) Texture cache (read only) Local Registers Viktiga när
Tron Style OpenGL ES 2.0 Shaders för ios Möjligheten att implementera ett Bloomfilter på ett ios-device
C3LOOPS Tron Style OpenGL ES 2.0 Shaders för ios Möjligheten att implementera ett Bloomfilter på ett ios-device Christoffer Tamm Kandidatexamensarbete inom Datavetenskap Mälardalens högskola, Västerås
LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer
LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska
Teknik bakom tredimensionella datorgrafiken Direct3D
Teknik bakom tredimensionella datorgrafiken Direct3D Samuli Ketola Examensarbete Medieteknik 2011 Förnamn Efternamn EXAMENSARBETE Arcada Utbildningsprogram: Medieteknik Identifikationsnummer: 3234 Författare:
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
Extramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Geometri ELEV Desmos Geometry är ett matematikverktyg som bland annat kan hjälpa dig att avbilda geometriska figurer och
TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.
TANA09 Föreläsning 8 Kubiska splines Approximerande Splines s s s s 4 B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor. x x x x 4 x 5 Exempel Parametriska Kurvor. Ritprogram. Beziér kurvor.
Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.
TANA09 Föreläsning 8 Approximerande Splines B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor. Exempel Parametriska Kurvor. Ritprogram. Beziér kurvor. Design av kurvor och ytor. Tillämpning
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
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
Texturmappningsalgoritmer
Institutionen för kommunikation och information Examensarbete i datalogi, 20 poäng C-nivå Vårterminen 2006 Texturmappningsalgoritmer Jämförelse mellan Normal-mapping, Parallaxmapping och Relief-mapping
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
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
Utmattningsdimensionering med FEM Lokala metoder
Utmattningsdimensionering med FEM Lokala metoder 2014-12-12 Mohammad Al-Emrani Ett TRV Projekt 2012-2013 Raport: Finns snart att ladda ner som pdf via Konstruktionscentrums hemsida Finns att köpa som
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
TBSK03 Teknik för avancerade Datorspel. Jens Ogniewski Information Coding Group Linköpings universitet
TBSK03 Teknik för avancerade Datorspel Jens Ogniewski Information Coding Group Linköpings universitet Representation av rotation Eulervinklar Y = Ryaw Rpitch Rroll X Intuitivt, fast svårt att göra Interpolation
VRay för SketchUp Camilla Ravenna / André Ravenna Alto Punto 2014 Alto Punto Askims Stationsväg 21 436 40 Askim
VRay för SketchUp Camilla Ravenna / André Ravenna Alto Punto 2014 Alto Punto Askims Stationsväg 21 436 40 Askim ISBN 978-91-637-2534-0 Förord Alto Punto är ett konsultföretag som startades av Camilla Ravenna
Föreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna
Föreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna
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
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
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
Displaysystem. Hans Brandtberg Saab Avitronics SAAB AVITRONICS 03-10-06
Displaysystem Hans Brandtberg Saab Avitronics Applikation Drivrutiner (OpenGL) Displaysystem Människa-maskin egenskaper -Kunna förstå och arbeta med information -Kunne se och uppfatta det som visas
Explorativ övning 11 GEOMETRI
Explorativ övning 11 GEOMETRI Syftet med denna övning är att ge kunskaper om grundläggande geometriska begrepp och resultat om geometriska figurer. Vi vill också ge en uppfattning om geometri som en matematisk
Omdirigering. Omdirigering
Programmering hh.se/db2004 Föreläsning 6: Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Omdirigering I unix kan man dirigera om standard input på samma sätt som
GPGPU-LOD (General Purpose Graphics Processing Unit - Level Of Detail)
Institutionen för kommunikation och information Examensarbete i datavetenskap 30hp C-nivå Vårterminen 2009 GPGPU-LOD (General Purpose Graphics Processing Unit - Level Of Detail) Grafikkortsdriven terräng-lod-algoritm
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
Autodesk 3ds Max Design Som nämnts tidigare kan du ändra storlek i tre olika steg genom att klicka på den lilla svarta pilen.
20: Ribbon Det har kommit nya modelleringsverktyg i 3ds Max Design 2010. Du kommer bara att skrapa på ytan eftersom det är ett omfattade område. I fortsättningskursen behandlas detta mera grundligt. Som
Procedurella Grottor TNM084. Sammanfattning. Alexander Steen
Procedurella Grottor TNM084 Alexander Steen alest849@student.liu.se 13-01-12 Sammanfattning Denna rapport beskriver en metod för att skapa procedurella grottor. Grottorna består utav sammanlänkade rum
Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004
Programmering hh.se/db2004 Föreläsning 10: Objektorienterad programmering - datatyper Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Påminnelse: en datatyp för bilder Vad är
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 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER
Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Från laboration 3 till 4 I laboration 3 har du implementerat klasser implementerat metoder i klasserna I laboration 4 kommer du att implementera
JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB
JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB PRESENTATIONSRUNDA VILKA ÄR VI? HUR JOBBAR NI MED LOADRUNNER IDAG? ANVÄNDER NI JAVASCRIPT/DFE/JSON? AGENDA LoadRunner
Laboration 3 GUI-programmering
Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad
Datastrukturer och Algoritmer D0041D
Luleå Tekniska Universitet 19 mars 2014 Laborationsrapport Laboration 3 Datastrukturer och Algoritmer D0041D Primms Algoritm Namn E-mail Magnus Björk magbjr-3@ltu.student.se Handledare Felix Hansson Primms
Tentamen PC-teknik 5 p Lösningar och kommentarer
Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Innehållsförteckning
Innehållsförteckning Innehållsförteckning... 3 Om bokförfattaren och Rita med SketchUp... 8 Rita och redigera... 9 Förena två linjer:... 9 Tänja en linje:... 9 Ange ny totallängd på en linje:... 10 Förlänga
C-Uppsats i Datavetenskap. Skinning på GPUn. Med dubbel kvaternioner. Författare: Björn Overå Handledare: Martin Blomberg Termin: VT12 Kurskod: 2DV40E
C-Uppsats i Datavetenskap Skinning på GPUn Med dubbel kvaternioner Författare: Björn Overå Handledare: Martin Blomberg Termin: VT12 Kurskod: 2DV40E 22 Abstract The goal with the project was to investigate
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
Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner
LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning
TANA18/20 mars 2015 LAB 3. INTERPOLATION 1 Inledning Vi ska studera problemet att interpolera givna data med ett polynom och att interpolera med kubiska splinefunktioner, s(x), som är styckvisa polynom.
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor
Föreläsning 3. Iteration. while-satsen for-satsen do-satsen
Föreläsning 3 Iteration while-satsen for-satsen do-satsen Datatypen double De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har en begränsad storlek och representerar således
Föreläsning 9-10 Innehåll
Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare
Parallellism, återblick
Parallellism, återblick Josef Svenningsson December 11, 2012 Lab7 Det är problem med lab7. Gå med i den grupp som ni använt tidigare. DEMO Flera saker händer samtidigt Ofta hanterar program olika indata
Rekursion och induktion för algoritmkonstruktion
Informationsteknologi Tom Smedsaas 22 januari 2006 Rekursion och induktion för algoritmkonstruktion Att lösa ett problem rekursivt innebär att man uttrycker lösningen i termer av samma typ av problem som
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.
Kurvlängd och geometri på en sfärisk yta
325 Kurvlängd och geometri på en sfärisk yta Peter Sjögren Göteborgs Universitet 1. Inledning. Geometrin på en sfärisk yta liknar planets geometri, med flera intressanta skillnader. Som vi skall se nedan,
Datorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)
Extramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Geometri ELEV Desmos Geometry är ett matematikverktyg som bland annat kan hjälpa dig att avbilda geometriska figurer och
Tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 11 Tentamen FYTA11 Javaprogrammering Måndag 9:e januari 2012, 10:15 14:15 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade
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
CAD. och mer därtill. KTH Industriell Produktion/DKT Lasse Wingård. CAD och mer därtill
CAD och mer därtill CAD Computer Aided Design - Datorstödd Konstruktion Standardverktyg för ingenjörer Programvara + Dator Många olika tillämpningsområden skilda programvaror Mekanik verkstadsindustri
Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner med
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-7, TDA540 Dag: 208-0-3, Tid: 4.00-8.00 Uppgift a) class används för en klassdeklaration som
Utveckling av terräng och partikeleffekter med
Utveckling av terräng och partikeleffekter med Lightweight Java Game Library (LWJGL) Development of a terrain and particle effects with Lightweight Java Game Library (LWJGL) Daniel Härnberg Gustav Wiiala
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
Projekt i TNM084, Procedurella bilder
Projekt i TNM084, Procedurella bilder Inledning Kursen TNM084, Procedurella Bilder innehåller ett examinerande projekt. Målet med projektet är att utöka förståelsen för hur man kan producera syntetiska
Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
PM 2012:14. En metodbeskrivning för beräkning av avrinningsområden utifrån Nya nationella höjdmodellen i ArcMap
PM 2012:14 Bilaga 1 En metodbeskrivning för beräkning av avrinningsområden utifrån Nya nationella höjdmodellen i ArcMap Miljöenheten Malin Spännar Version 2012-10-29 Länsstyrelsen Dalarna Tfn 023-810 00
Kort introduktion till POV-Ray, del 3
Kort introduktion till POV-Ray, del 3 Kjell Y Svensson, 2004-02-03,2007-03-13 I denna del beskrivs hur man ger objekten lite mera liv genom att beskriva hur deras yta ser ut, med reflektion, ruggighet,
Föreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Broarna i Königsberg, Euler, 17 Grafer
Skinning. Ännu fler koordinatsystem att hålla reda på. SUPPLEMENT 2 till "So How Can We Make Them Scream?" 1. Olika metoder för kroppsanimation
Skinning Ännu fler koordinatsystem att hålla reda på SUPPLEMENT 2 till "So How Can We Make Them Scream?" Såhär under kursens gång har jag hittat en lucka till i materialet, nämligen att skinning inte är
Innehållsförteckning
Innehållsförteckning Innehållsförteckning... 3 Om bokförfattaren och Rita med SketchUp... 8 Rita och redigera... 9 Förena två linjer:... 9 Tänja en linje:... 9 Ange ny totallängd på en linje:... 10 Förlänga
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
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
Effektivt arbetsflöde för att skapa en CG karaktär för film och reklam
Effektivt arbetsflöde för att skapa en CG karaktär för film och reklam Effective workflow when creating a CG character for film and commercials Mattias Lind Medie- och kommunikationsvetenskap, kandidat