Mer om Grafisk Databehandling. INF2340 / V042 Teksturering Øker detaljgraden uten å øke antall grafiske primitiver. Grafiske primitiver brukes som “bærere”

Slides:



Advertisements
Liknende presentasjoner
Fagoppgave Justert formulering
Advertisements

Lys, syn og farge.
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
Astrofysikk & Strålingslovene
Astrofysikk & Strålingslovene
Knight, Kap.23 Refleksjonsloven: qi qr Brytningsindeks, definisjon:
Brukerveiledning til NHOs PowerPoint-mal
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
POWER POINT INNFØRING I BRUK AV SOM ET PRESENTASJONS VERKTØY
IT For medisinsk sekretær Fredrikstad Kai Hagali
Gjenfinningssystemer og verktøy II
En innføring i spillet: Dobbeltkrig – Grønn
23 Finn ligningen for det planet  som inneholder linja
Knipsetips Se Fototeknikk kap.7 s.60 i boka.
Komplett avstandstabell. LOG530 Distribusjonsplanlegging 2 2 Noen ganger er det behov for en komplett avstandstabell mellom alle nodene i et nettverk.
Gjenfinningssystemer og verktøy II
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
Forelesningsnotater SIF8039/ Grafisk databehandling
Kompleksitetsanalyse
Forside Motivasjon Analyse Forside Motivasjon Analyse  -notasjon O og  Relasjoner Klasser Fallgruver Spørsmål Kompleksitetsanalyse Åsmund Eldhuset asmunde.
INF 295 Forelesning 15 - kap 9 Grafer Hans Fr. Nordhaug (Ola Bø)
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Klargjøring fra forrige gang
Kjeglesnitt Parameteriserte kurver Polarkoordinater
Formings oppgave i forbindelse med operaprosjektet:
Hva er en artikkel?.
IN229 – Våren 2003 Oversikt over innhold IN229/ V03 / Dag 12 Simulering i IN229 Simulatorkode –Proseduralt (FORTRAN / C) –Objekt-orientert (C++)
Forelesningsnotater SIF8039/ Grafisk databehandling
Kap 10 Graf.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
 Bygd opp av piksler  Hvor mange?  Mer ppi = bedre kvalitet = større fil  Skrivere bruker dpi.
RGB •The RGB fargemodell er en additiv fargemodell der rødt, grønt og blått lys er lagt sammen på ulike måter å gjenskape et bredt spekter av farger.
RGB •RGB fargemodellen er en fargemodell, der rødt, grønt og blått lys er lagt sammen på ulike måter og gjenskaper et bredt spekter av farger. Navnet på.
Dokumentasjon av rettslige beslutningssystemer Dag Wiese Schartum, AFIN.
1 Forelesningsnotater SIF8039/ Grafisk databehandling Notater til forelesninger over: Kapittel 3: ”Input and Interaction” i: Edward Angel: ”Interactive.
INF 4130 Eksamen 2008 Gjennomgang.
Oppgaver til kodegenerering etc. INF-5110, 2013 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet,
Magnus Haug Algoritmer og Datastrukturer
Del 3 "Visualization Pipeline"
Visualiseringsdelen - Oppsummering. INF2340 / V042 Del 1: Del 1: Introduksjon til VTK Numerisk datasett 1.23E E E E E-06.
Del 7 Volumavbildning. INF2340 / V042 Klassifikasjon Volumvisualisering FlateavbildningVolumavbildning Isoflater Snittplan visualisering av volumetrisk.
Del 3 "Visualization Pipeline"
Del 5 Visualisering av skalarfelt. INF2340/ V042 Skalar-til-farge korrespondanse Skalar-intervallet i datasettet korresponderer med en fargeskala s min.
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
1 INF5110 – 23. april, 2013 Svar på noen oppgaver til kap. 8 Beklager noe trykkfeil og rot på forelesningene Håper dette er bedre (lagt ut 24/4) Nå fredag.
1 INF5110 – 23. april, 2013 Noen oppgaver til kap. 8 Dette er en bedre utgave av oppgavene, lagt ut 24. april Nå fredag (26/4): Det blir ikke undervisning.
11. Balancing technology with people’s needs Bruk av teknologi.
Objektorientert utforming In 140 Sommerville kap. 12.
Dokumentasjon av rettslige beslutningssystemer Dag Wiese Schartum, AFIN.
Hypotesetesting, og kontinuerlige stokastiske variable
Fra lovtekst til programkode -hva er det saken gjelder? Dag Wiese Schartum.
Visualiseringsdelen - Oppsummering. 9/5-01IN229 (Vis.) / V01 / Dag 152 Del 1: Del 1: Introduksjon til VTK Numerisk datasett 1.23E E E-08.
Del 2 Grafisk databehandling forts.
Objektorientert design
Del 1 Introduksjon til VTK
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
LOG530 Distribusjonsplanlegging
§4. Irrasjonale og komplekse tall
Operasjonsanalytiske emner Prognosemodeller basert på Tidsserieanalyse Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 23Forecasting 1 - Mønster.
De fire regneartene.
Lys og farger Jeg skal lære om: hva lys er hvordan vi kan se farger.
Dokumentasjon av rettslige beslutningssystemer
Sist....
Fredag 20. mars kl Anne Bruvold
Utskrift av presentasjonen:

Mer om Grafisk Databehandling

INF2340 / V042 Teksturering Øker detaljgraden uten å øke antall grafiske primitiver. Grafiske primitiver brukes som “bærere” for bilder (f.eks. fotografier).

INF2340 / V043 Eksempel Bruk ett polygon for hver endring/fasett i bildet.  Ressurskrevende! "Klistre" bildet på kun ett polygon.  Teksturering! Alternativ 1 Alternativ 2

INF2340 / V044 Et annet eksempel

INF2340 / V045 Hovedstegene i teksturering Steg 1) Definer teksturen. En tekstur er en samling av teksturelementer - kalt texel’er - organisert i en matrise som enten er 1D, 2D, eller 3D. En texel inneholder informasjon om farge og transparens. Leses typisk inn fra en fil!

INF2340 / V046 Steg 2) Angi hvordan teksturen skal påvirke hvert pixel. –All farge kommer fra teksturen, eller –Teksturfargen blandes med eller påvirker den underliggende fargen (nødvendig for å få med belysning!)

INF2340 / V047 Steg 3) Angi teksturkoordinater for noder i geometriske primitiver. Teksturkoordinater typisk normaliserte, dvs. definert i intervallet [0, 1] (0.2, 0.8) (0.9, 0.87) (0.36, 0.2)

INF2340 / V048 Fordi det er såpass nyttig er teksturering ofte implementert i maskinvare!

INF2340 / V049 Transparens Skal se på et vanlig spesialtilfelle: –(helt eller delvis) gjennomsiktige objekter uten brytning Noen anvendelser: halvgjennomsiktig bilvindu helgjennomsiktig del av tekstur

INF2340 / V0410 Alfa Transparens representeres vanligvis som en alfa- verdi (A,  ) som betyr opasitet (ugjennomsiktighet). Alfa varierer fra 0 (helt gjennomsiktig) til 1 (helt ugjennomsiktig). Alfa spesifiseres vanligvis sammen med farge: RGBA (f.eks. polygon-node eller texel (tekstur- element))

INF2340 / V0411 Interpolert blanding av farger (vanlig modell) Forgrunnsobjekt Lysstråle mot øyet Bakgrunnsobjekt Resultatfarge: I =  FG I FG + (1 –  FG )I BG Farge= I FG Opasitet=  FG Farge= I BG Opasitet= irrelevant! Merk: Nye objekter må blandes inn i retning mot øyet ("back-to-front")! (Begynn med det som er lengst vekk, bland inn det som er nest-lengst vekk osv.)

INF2340 / V0412 Generelt I0I0 0 = Global bakgrunn  0 = 1 I1I1 1 11 I2I2 2 22 I3I3 3 33 I i =  i I i + (1 -  i )I i-1, i  1 ´´ I 0 = I 0 ´ I i = ´ Fargen som er resultatet av å blande objekt 'i' med det som ligger bakenfor, altså I i-1. ´

INF2340 / V0413 Observasjon Ett enkelt objekt med  = 1 er tilstrekkelig for å skjule alt bakenfor. Hvis alle objekter har  0 bidra til den endelige fargen.  = 1  = 0 skjules!  = 1  = 0 vil også bidra!

INF2340 / V0414 “Ray Tracing” (RT) Mer “fotorealistisk” sjatteringsalgoritme. Tar bedre hensyn til hvordan også andre objekter (og ikke bare lyskilder) kan påvirke belysningen av et punkt: –Refleksjon. –Skygger. Kan også modellere transparente objekter. Spesielt egnet for speilende refleksjon (andre metoder er bedre på diffus refleksjon)

INF2340 / V0415 Noen eksempler (laget med PovRay -

INF2340 / V0416

INF2340 / V0417

INF2340 / V0418 Essensen i RT Hvilke lysstråler treffer øyet, og hvor kommer de fra? Ide 1: Følg alle lysstråler fra alle lyskilder og ta vare på dem som (direkte eller indirekte) treffer øyet. UMULIG! Ide 2: Ta utgangspunkt i lysstrålene som faktisk treffer øyet. Følg dem bakover til dit de kom fra!

INF2340 / V0419 RT - Overordnet algoritme Send ut en stråle fra øyepunktet gjennom hvert pixel og videre innover mot objektene (antar disse allerede er transformert til synskoordinater). Avgjør om en stråle skjærer et objekt, og i såfall hva fargebidraget fra skjæringspunktet blir. (  RT er en bilderekkefølge algoritme!) En del av dette fargebidraget kan evt. regnes ut ved å sende ut nye stråler rekursivt fra et punkt for å modellere speilende refleksjon og brytende transparens.

INF2340 / V0420 Transparent objekt pixel = primær stråle = reflektert stråle = brutt stråle = skyggestråle = normalvektor

INF2340 / V0421 for { ray = fargen i p = RT_trace(ray, 1) } procedure RT_trace(ray, depth) { if return RT_shade(..., depth) else return } RT - Pseudokode

INF2340 / V0422 procedure RT_shade(..., depth) { color = omgivelse-lys for { finn ut (vha. skyggestråler) i hvilken grad lyset er blokkert av andre objekter og skalér leddene for diffus og speilende refleksjon tilsvarende før disse adderes til color } if depth > maxDepth return color if color += RT_trace(, depth + 1) if color += RT_trace(, depth + 1) return color }

INF2340 / V0423 Skjæringsalgoritmer essensielle i RT! Parametrisert uttrykk for stråle gjennom pixel x = x(t), y = y(t), z = z(t), t  0 Kule (x – a) 2 + (y – b) 2 + (z – c) 2 = r 2 Gir 2. gradslikning for t r (a, b, c) røtter

INF2340 / V0424 Polygon  Finn skjæringspunktet (hvis det eksisterer) mellom strålen og planet polygonet ligger i.  Projiser skjæringspunktet og polygonet ned på xy-, xz- eller yz-planet.  Sjekk om punktet er inne i polygonet (2D problem - enklere). x y z

INF2340 / V0425 Parametriske flater (splines etc.) Kontrollpunkter Ressurskrevende skjæringsalgoritme!

INF2340 / V0426 RT er ressurskrevende! I prinsippet må vi sjekke skjæring for alle stråler (primære, reflekterte, brutte og skygge-) mot alle objekter. En skjæringsalgoritme kan i seg selv være ressurskrevende. Belysningsmodellen må evalueres i alle skjæringspunkter.

INF2340 / V0427 RT-optimalisering 1 Pakk objektene inn i omsluttende volumer (“bounding volumes”) med enklere (billigere) skjæringsalgoritme. Hvis en stråle ikke skjærer et omsluttende volum, vil den heller ikke skjære noen av objektene inne i volumet!

INF2340 / V0428 RT-optimalisering 2 Del bildet opp i n forskjellige utsnitt og la n prosessorer beregne hvert sitt utsnitt i parallell. Prosessor 1Prosessor 2Prosessor 3Prosessor 4

INF2340 / V0429 Animasjon Å vise en sekvens med bilder etter hverandre i rask rekkefølge. Kino: –Chaplin: 16 bilder / sek –Moderne filmer: 24 bilder / sek Dataskjerm: – bilder / sek

INF2340 / V0430 To typer animasjon på datamaskin Manuell (f.eks. ved interaktiv endring av kamera) Automatisk (tradisjonell film)

INF2340 / V0431 Basisalgoritme for animasjon med 24 bilder / sek for (i = 0; i < n; i++) { } tid STV 1/24 sek

INF2340 / V0432 Problem ser kun delvis ferdig bilde først her ser vi det ferdige bildet Resultat: flimring og blinking!

INF2340 / V0433 Løsning: Dobbeltbuffer RGB-buffer 1 RGB-buffer 2 Z-buffer Video controller ?

INF2340 / V0434 Buffer 1 Buffer 2 Buffer 1 vises på skjermen Buffer 2 vises på skjermen Buffer 1 vises på skjermen for (i = 0; i < n; i++) { }