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

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

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

Rastrering och displayalgoritmer. Gustav Taxén

Grafiska pipelinens funktion

Grafiska system. Färgblandning. Samspel mellan ytor. Ögats. fysionomi. Ljusenergi. Signalbehandling och aliasing

Grafiska pipelinen. Edvin Fischer

OpenGL AGI HT05. 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

Procedurell renderingsmotor i Javascript och HTML5

Data och Information. Dr. Johan Hagelbäck.

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

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

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

TBSK 03 Teknik för Advancerade Datorspel

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

Innehåll. Kamerabaserad interaktion Del 3 3D och AR. Världen genom datorn. Vad är AR? AR vs. VR. Potential

Realtidsalgoritmer för ljusets spridning och absorption mot partiklar i luften P E T E R L Ö N N Q U I S T

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

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

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

OpenGL, Maya och specialeffekter

Signalbehandling och aliasing. Gustav Taxén

Procedurella Grottor TNM084. Sammanfattning. Alexander Steen

Shaders. Gustav Taxén

Digitala bilder. Matris, pixel, pixeldjup, signal, brus, kontrast

Spektrala Transformer

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

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

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Grafik. Tidig datorgrafik. Plottern (1950-talet) Datorgrafik idag. Bildelement. En introduktion till bildsyntes. Gustav Taxén

Grafik. För enklare datorsystem

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

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

Teknik bakom tredimensionella datorgrafiken Direct3D

FOURIERANALYS En kort introduktion

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi

FYSIKUM STOCKHOLMS UNIVERSITET Tentamensskrivning i Vågrörelselära och optik, 7 poäng, FyL2 Tisdagen den 19 juni 2007 kl 9-15

Spektrala Transformer

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

SeniorNet Huddinge

Laplace, Fourier och resten varför alla dessa transformer?

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

Kurvor och ytor. Gustav Taxén

7. Sampling och rekonstruktion av signaler

Bilder... Dagens föreläsning. Objektgrafik. Objektgrafik. TNMK30, 2010 Föreläsning

Procedurell 3D-eld på grafikkortet

Grafik. För enklare datorsystem

2D-grafik. Gustav Taxén

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

Digital bildhantering

Transformer och differentialekvationer (MVE100)

Bildbehandling, del 1

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Fredrik Ove Edvard Pensar. SLI och CrossFire - En studie i grafisk hårdvara

Teori... SME118 - Mätteknik & Signalbehandling SME118. Johan Carlson 2. Teori... Dagens meny

Matematiska uppgifter

Alla presentationstekniker har olika behov; bandbredd, lagring samt bildkvalitet

Bézierkurvor och parametriska objektrepresentationer

Realtids-strålföljning med geometriska primitiver på programmerbara grafikprocessorer (HS-IDA-EA )

A comparison study between OpenGL 4.3, OpenGL ES 3.0 and WebGL 1.0 With focus on rendering pipeline and texture handling

Avdelning 1, trepoängsproblem

TNM022 Proceduella Bilder Rendering av proceduell päls i realtid

Bildsyntesens mål. Realism. Realism. Realism och hypermediering. Bildsyntes. att. från fotografier.

Spektrala Transformer

SF1658 Trigonometri och funktioner Lösningsförslag till tentamen den 19 oktober 2009

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Grunderna i. Digital kamerateknik. SM3GDT Hans Sodenkamp SK3BG

Pixelgrafik. Utdrag ur Adobe Photoshops handbok. Om bitmappsbilder (pixelbilder) Om vektorgrafik (kallas ibland objektgrafik)

Trigonometri. Joakim Östlund Patrik Lindegrén 28 oktober 2003

Realism och hypermediering

Tentamen Matematisk grundkurs, MAGA60

Avdelning 1, trepoängsproblem

Föreläsning 13 Linjär Algebra och Geometri I

.I Minkowskis gitterpunktssats

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Digital signalbehandling Digitalt Ljud

Introduktion till programmering

Signal- och bildbehandling TSEA70

Digitala bilder & Fotografering med Digitalkamera

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007)

INT 3 F3. En texts läsbarhet. Teckensnitt. Medieteknik Del1. Färger, teckensnitt och bildformat

Texturmappningsalgoritmer

Grafik och Egna funktioner i Matlab

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

Kan prickarna på datorskärmen bilda en kurva? Digital geometri ger svaret

Borttagning av skymda ytor Painter s Algorithm och Z-buffering. MICHAEL HJORTHOLT och ANDREAS PAULSSON

HELA KEDJAN. Videoteknik. från kamera till bildskärm. Nils Wennerstrand P. KTH NADA Medieteknik. Gunnar Kihlander, Anders Nyberg

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation

Vektorgeometri. En vektor v kan representeras genom pilar från en fotpunkt A till en spets B.

Ladibug Bildbehandlingsprogram Bruksanvisning

MVE500, TKSAM Avgör om talserierna är konvergenta eller divergenta (fullständig motivering krävs). (6p) 2 n. n n (a) n 2.

Flerdimensionell analys i bildbehandling

5B1134 Matematik och modeller Lösningsförslag till tentamen den 11 oktober 2004

Block 1 - Mängder och tal

Automatisk bildstabilisering

DIGITAL BILDBEHANDLING GRUNDKURS. Sammanställd av

Procedurell Terräng med LOD i OpenGL 4

Samling och kaffe. Temakväll Bildhantering i släktforskningen Genomgång kring temat. Forska själv. Forska själv. Diskussion kring temat

Transkript:

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 Videominne Huvudminne en styr bildskärmens elektronkanon och läser samtidigt värden direkt från videominnet (ett speciellt avsatt område i datorns huvudminne) och översätter dem till volt-värden. Idag......finns videominne och grafikkrets på ett speciellt grafikkort. Grafikkort punkt linje triangel... Logikkrets Kan man specificera 3D-primitiver brukar man säga att kortet har 3D-acceleration. Grafikkortet har en logikkrets till vilken man kan skicka grafikprimitiver. Kretsen fyller sedan i videominnet. Varför grafikkort? Enklare - man kan jobba med grafikprimitiver istället för att behöva ordna egna implementationer av t.ex. linjealgoritmer. Snabbare - grafikkortets logikkrets jobbar oberoende av datorns CPU, man får tid över till annat. Mindre minnesåtgång - videominnet (som ofta är på åtskilliga Mb) finns på grafikkortet istället för i datorns huvudminne. Ger möjlighet till portering av program om många korttillverkare använder samma programmeringsbibliotek för att styra korten. Grafikbibliotek Andra egenskaper OpenGL Applikation DirectX...... Drivrutiner för grafikkortet Grafikkort Följer med grafikkortet Primitiver Vertex shader Pixel shader Logikkrets Grafikkort Extra hjälpbuffertar: djup-, stencil-, ackumulations-, överläggs-,... I bästa fall kan man använda samma applikationskod till många olika grafikkort! Logikkrets Aktuellt koordinatsystem Matrismultiplikationskrets 1

5 3 0 4 5 0 0 0 0 3 2 0 7 1 0 4 5 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 2

Texturer Klistra en bild (texturen) ovanpå geometrin. Texturer, grundidé Environment maps, grundidé v t Textur v s Färg för alla riktningar u t u s Kamera N R Hämta färg från rikningstexturen Environment maps, demo Dimma, demo Blanda pixelns färg med dimmans färg. Ta med mer av dimmans färg ju längre från kameran pixeln är (m.h.a. djupbufferten) 3

Bump maps, grundidé Bump maps, demo N N u s Modifiera normalen enligt en texturkarta och använd den modifierade normalen då ljussättningen görs. v s v t Förskjutningen beräknas från en bild genom att man tar differenser mellan närliggande bildelement. u t Hur representeras text? Antialiasing Ibland som en samling bitkartor (kartor med 1 eller 0), en för varje teckensnitt och storlek. Vanligt på äldre system, t.ex. X-Windows. I modernare system beskrivs teckensnitt ofta med hjälp av vektorer så att man kan använda en definition för alla storlekar. Färlägg enligt hur stor yta av pixeln som föremålet täcker. Lite samplingsteori Punktsampling Inom datorgrafiken använder vi alltid sampling: Vi har en bildbuffert med ett begränsat antal värden. När vi t.ex. översätter en triangel till pixlar m.h.a. svepkonvertering samplar vi triangeln. När pixlarna ritas ut av elektronstrålen på bildskärmen översätts de till analoga, kontinuerliga, signaler. Frågan är hur många samplade värden som behövs för att rekonstruera den ursprungliga triangeln? Denna fråga studeras inom samplingsteorin. y a y f 0 f 1 f 2 y = f(x), a x b f 3 f 4 f 5 b x x 4

Areasampling y a Vi kan i allmänhet inte rekonstruera en signal helt med punktsamplingar. Man kan ofta få ett bättre resultat om man samplar med area istället: f 0 f 1 f 2 f 3 f 4 f 5 b x Nyquists sats Vi behöver sampla med åtminstone 2 ggr så hög frekvens som den högsta frekvensen som förekommer i f(x). Men vad menas med högsta frekvensen hos f(x)? Frekvens hos periodiska funktioner Fourieranalys Man kan visa att alla periodiska kontinuerliga funktioner med period T kan representeras som Frekvensen hos sin(x) är 1/2π. Frekvensen hos sin(2x) är 1/π. 2π π Fourieranalys Aliasing En icke-periodisk funktion f(x) som är begränsad till ett intervall T kan betraktas som en periodisk funktion med intervall T, så att den kan skrivas som en Fourierserie. För få samplingar ger upphov till aliasing eftersom de höga frekvenserna inte kommer med och ser ut som om de vore låga frekvenser. Man kan tänka sig den högsta frekvensen hos f(x) som den frekvensen i sin- och cosfunktionerna i Fourierserien som är högst. 5

Trappstegseffekten Bilder Sekvens med tal: 1 eller 0, heltal eller flyttal. Vill vi ha färg behövs 3 tal per bildpunkt (R, G, B). En diskontinuerlig funktion f(x) kräver oändligt många sin- och cos-komponenter - den kan inte rekonstrueras korrekt. Hur lagras bilder normalt på disk? Tyvärr är nästan alltid de geometriska primitiver vi använder diskontinuerliga (de har skarpa hörn). Det är detta som ger upphov till trappstegseffekten i datorgrafikbilder. Bilder Om vi bara har 256 olika färger kan vi lagra dessas definitioner i en tabell och sedan använda 1 byte per pixel. Kompression Om samma färg förekommer i ett antal konsekutiva pixlar kan vi spara utrymme: RGB Bild Speciellt värde, -N, som talar om att det kommer N pixel med samma färg. Lossy compression Lossy compression Om vi vill komprimera mer kan vi undersöka bilden och se om vi kan hitta ett område med färger som ligger nära varandra. Alla pixlar området sätts sedan till samma färg. Sedan kan vi komprimera enligt föregående bild. Detta innebär att vi tappar information vid komprimeringen, men ofta kan man anpassa algoritmerna så att det inte märks, speciellt om bildens upplösning är hög. 6