Gjengivelse
I datagrafikk identifiserer gjengivelse (lit. " grafisk restitusjon ") gjengivelsesprosessen, det vil si genereringen av et bilde som starter fra en matematisk beskrivelse av en tredimensjonal scene, tolket av algoritmer som definerer fargen til hvert punkt i det digitale bilde .
I vid forstand ( på tegningen ) indikerer det en operasjon som tar sikte på å produsere en kvalitetsrepresentasjon av et objekt eller av en arkitektur (designet eller kartlagt).
Beskrivelse
Det er et av de viktigste temaene for tredimensjonal datagrafikk og i praksis er det alltid i forhold til alle de andre. Som en del av grafikkgenereringsprosessen er det det siste viktige stadiet og gir det endelige utseendet til modellen og animasjonen. Med den økende forbedringen av datagrafikk fra 1970 og utover har den blitt gjenstand for stadig mer spesifikke studier og forskning.
Den brukes til: videoredigering , dataspill, simulatorer, visuelle effekter for filmer og TV-serier, visualisering av prosjekter. Hver med en annen kombinasjon av funksjoner og teknikker.
Et stort antall gjengivelsesmotorer er kommersielt tilgjengelige, hvorav noen er integrert i de mest populære 3D-modellerings- og animasjonspakkene, noen andre uavhengige, noen distribuert som åpen kildekode -prosjekter .
En renderer er et program basert på en valgt kombinasjon av metoder relatert til: optikk , visuell persepsjon, matematikk og programvareteknikk .
Når det gjelder tredimensjonal grafikk, er gjengivelse en langsom prosess og krever et stort antall prosessering av CPU , eller assistert i sanntid av 3D-akseleratorene til grafikkort (for tredimensjonale spill).
Fenomener
Bildene kan analyseres i form av en rekke synlige fenomener. Forskning og fremskritt innen gjengivelse har i stor grad vært motivert av et forsøk på å simulere dem nøyaktig og effektivt.
- skyggelegging - skyggelegging; variasjon av fargen og lysstyrken til en overflate avhengig av det innfallende lyset
- teksturkartlegging - en metode for å definere fargedetaljene til en overflate ved å matche den med et bilde (tekstur)
- bump mapping - en metode for å simulere uregelmessigheter i form av en overflate ved å matche den med et bilde (bump map) som definerer en fiktiv forstyrrelse av overflaten, kun brukt for å utlede en forvrengning av den vinkelrette (normale) retningen brukt i beregningene for spredning av lyset.
- normal mapping - en metode som ligner på bump mapping der bildet direkte definerer hvordan overflaten skal forstyrres på det punktet.
- forskyvningskartlegging - ekstrudere en overflate i henhold til normaler gjennom et gråtonebilde, produsere en reell forstyrrelse av overflatens form, (for eksempel for å lage et fjell fra en flat overflate).
- distansetåke - demping og spredning av lys når det passerer gjennom luft eller andre midler; bare tomrommet er helt gjennomsiktig.
- skygger - håndtering av kasteskygger
- myke skygger - delskygger produsert av utvidede lyskilder
- refleksjon - speilrefleksjoner eller nesten
- transparens - overføring av lys gjennom et objekt
- refraksjon - avvik av lys når det går fra ett medium til et annet
- indirekte belysning og global belysning - ta hensyn til lyset som reflekteres flere ganger (minimum er en enkelt refleksjon, lyskilde -> objekt -> kamera)
- kaustics - akkumulering av reflektert eller brutt lys projisert i karakteristiske former på andre objekter (f.eks. kardioideformen til lys reflektert fra en sylinder eller de uregelmessige formene som beveger seg på bunnen av et svømmebasseng)
- dybdeskarphet eller DoF (dybdeskarphet) - simulering av progressiv uskarphet av objekter plassert i økende avstand fra fokusflaten (dybdeskarphet).
- bevegelsesuskarphet - simulering av uskarphet av objekter i rask bevegelse som i en fotoseanse.
- undergrunnsspredning eller SSS - simulering av oppførselen til lys som trenger inn i et objekt laget av gjennomskinnelig materiale som voks eller menneskelig hud (undergrunnsspredning).
- omgivende okklusjon - simulering av oppførselen til lys i nærheten av okkluderte volumer der lysstråler sliter med å komme inn og ut
- anisotropi - simulering av et materiale som reflekterer lys forskjellig for hver retning tangent til punktet.
Teknikker
De viktigste typene algoritmer for å løse problemet er:
Disse tilnærmingene kan være spesielt beregningsintensive, fordi de begge skaper et ganske komplett rammeverk for å håndtere gjengivelsesligningen.
For applikasjoner i et sanntidssystem er det utenkelig å utføre full behandling. Problemet forenkles vanligvis med en av følgende tilnærminger:
- Ingen belysning, kun teksturkartlegging , ettersom den iboende fargen til et objekt har størst innflytelse på utseendet.
- Direkte belysning: det tas kun hensyn til lyset som går fra lyskilden til overflaten, ikke det som reflekteres fra andre overflater i scenen. Dette lyset kan tas i betraktning ved andre spesielle tilfeller gjennom forhåndsberegning.
Noen av hovedalgoritmene er:
De som må gjengi store mengder bilder (for eksempel av en filmsekvens) bruker et nettverk av datamaskiner koblet til hverandre, kalt renderfarmen .
Den nåværende toppmoderne for å bygge 3D-scener for filmskaping er RenderMan -scenebeskrivelsesspråket laget av Pixar . (skal sammenlignes med enklere formater for beskrivelse av et 3D-miljø som VRML eller API som DirectX eller OpenGL som utnytter maskinvareakselerasjonen til moderne grafikkort).
andre populære og kraftige gjengivelsesmotorer:
Bruk
Når forhåndsbehandlingen av scenen (vanligvis en wireframe -representasjon ) er fullført, begynner gjengivelsesfasen som legger til punktgrafikkteksturer eller prosedyreteksturer , lys, bump-mapping og posisjoner i forhold til andre objekter. Resultatet er et fullstendig bilde som du kan se.
Når det gjelder filmanimasjoner, må mange bilder (rammer) tegnes og settes sammen i et program som er i stand til å lage en slik animasjon. De fleste 3D-behandlingsprogrammer er i stand til å behandle disse bildene.
Faglig grunnlag
Mange utviklingsmiljøer tar sikte på å lage fotorealistiske bilder , det vil si så nær fotografisk reproduksjon som mulig
Implementeringen av realistiske gjengivelser har alltid som grunnlag simuleringen av fysikken som ligger til grunn for lysets oppførsel.
Det fysikkbaserte begrepet refererer til bruken av modeller og tilnærminger som er veldig generelle og vidt spredt utenfor gjengivelsesmiljøet. Et bestemt sett med teknikker har etter hvert blitt vanlig praksis blant grafiske designere.
Grunnkonseptet er lett nok å forstå, men kan ikke løses gjennom bare beregning; en enkelt elegant algoritme eksisterer ikke (for øyeblikket). For å møte kravene til robusthet, nøyaktighet og praktisk, bruker hver implementering et sett med teknikker annerledes.
Ligningene bak gjengivelsen
Betydning: i en bestemt posisjon og retning er det utgående lyset (L o ) summen av det utsendte lyset (L e ) og det reflekterte lyset. Det reflekterte lyset oppnås ved å multiplisere: Li (lyset som kommer fra alle retninger), med refleksjonskoeffisienten (f r ) , og med ankomstvinkelen.
Dette er nøkkelen til det akademisk-teoretiske gjengivelsesbegrepet. Det er det mest abstrakte og formelle uttrykket for gjengivelsesproblemet. Alle de mest komplette algoritmene kan sees på som en spesiell løsning av formuleringen som finnes i denne ligningen.
BRDF
BRDF (bidirectional reflectance distribution function) er en modell som uttrykker interaksjonen mellom lys og en overflate gjennom dette enkle uttrykket:
Samspillet med lys er veldig ofte tilnærmet med enda enklere modeller: diffus og speilrefleksjon , selv om begge kan følge denne formuleringen.
Geometrisk optikk
Studiet av forplantningen av elektromagnetiske bølger ved hjelp av konseptet med en stråle som forplanter seg rettlinjet, og ignorerer enhver mulig diffraksjonseffekt og derfor bølgenaturen til selve lyset. Dette gjør det mulig å bruke en relativt enkel modell for å studere linser, flate, konkave og konvekse speil.
Visuell persepsjon
Matematikken som brukes i gjengivelse inkluderer: lineær algebra , numerisk kalkulus , numerisk analyse , digital signalanalyse , Montecarlo-metoden
Kronologi av publiserte ideer
- 1970 Scan-line algoritme (Bouknight, WJ (1970). En prosedyre for generering av tredimensjonale halvtone datagrafikkpresentasjoner. Communications of the ACM )
- 1971 Gouraud skyggelegging (Gouraud, H. (1971). Datamaskinvisning av buede overflater. IEEE Transactions on Computers 20 (6), 623–629.)
- 1974 Teksturkartlegging (Catmull, E. (1974). En underavdelingsalgoritme for datamaskinvisning av buede overflater. PhD-avhandling , University of Utah.)
- 1974 Z-buffer (Catmull, E. (1974). En underavdelingsalgoritme for datavisning av buede overflater. PhD-avhandling )
- 1975 Phong shading (Phong, BT. (1975). Belysning for datamaskingenererte bilder. Communications of the ACM 18 (6), 311–316.)
- 1976 Miljøkartlegging (Blinn, JF Newell, ME (1976). Tekstur og refleksjon i datagenererte bilder. Communications of the ACM 19 , 542–546.)
- 1977 Shadow volumes (Crow, FC (1977). Skyggealgoritmer for datagrafikk. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242–248.)
- 1978 Shadow buffer (Williams, L. (1978). Kaster buede skygger på buede overflater. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 270–274.)
- 1978 Bump mapping (Blinn, JF (1978). Simulering av rynkete overflater. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286–292.)
- 1980 BSP-trær (Fuchs, H. Kedem, ZM Naylor, BF (1980). På synlig overflategenerering av a priori trestrukturer. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124–133.)
- 1980 Strålesporing (Whitted, T. (1980). En forbedret belysningsmodell for skyggelagt skjerm. Kommunikasjon av ACM 23 (6), 343–349.)
- 1981 Cook shader (Cook, RL Torrance, KE (1981). En reflektansmodell for datagrafikk. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307–316.)
- 1983 Mipmaps (Williams, L. (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1–11.)
- 1984 Octree ray tracing (Glassner, AS (1984). Space subdivision for fast ray tracing. IEEE Computer Graphics & Applications 4 (10), 15–22.)
- 1984 Alpha compositing (Porter, T. Duff, T. (1984). Compositing digitale bilder. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 253–259.)
- 1984 Distribuert strålesporing (Cook, RL Porter, T. Carpenter, L. (1984). Distribuert strålesporing. Computer Graphics (Proceedings of SIGGRAPH (1984) 18 (3), 137–145.)
- 1984 Radiosity (Goral, C. Torrance, KE Greenberg, DP Battaile, B. (1984). Modellering av lysets interaksjon mellom diffuse overflater. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213–222.)
- 1985 Hemi-cube radiosity (Cohen, MF Greenberg, DP (1985). Hemi-cube: a radiosity solution for komplekse miljøer. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31–40.)
- 1986 Lyskildesporing (Arvo, J. (1986). Strålesporing bakover. SIGGRAPH 1986 Developments in Ray Tracing kursnotater )
- 1986 Gjengivelseslikning (Kajiya, JT (1986). Gjengivelsesligningen. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143–150.)
- 1987 Reyes algoritme (Cook, RL Carpenter, L. Catmull, E. (1987). Reyes bildegjengivelsesarkitektur. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
- 1991 Hierarkisk radiositet (Hanrahan, P. Salzman, D. Aupperle, L. (1991). En rask hierarkisk radiositetsalgoritme. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197–206.)
- 1993 Tonemapping (Tumblin, J. Rushmeier, HE (1993). Tonereproduksjon for realistiske datamaskingenererte bilder. IEEE Computer Graphics & Applications 13 (6), 42–48.)
- 1993 Spredning under overflaten (Hanrahan, P. Krueger, W. (1993). Refleksjon fra lagdelte overflater på grunn av spredning under overflaten. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 , 165–174.)
- 1995 Fotonkartlegging (Jensen, HJ Christensen, NJ (1995). Fotonkart i toveis monte carlo ray-sporing av komplekse objekter. Computers & Graphics 19 (2), 215–224.)
På nettet
Inne i en nettleser er det programvare som tolker hva som skal vises basert på informasjonen den mottar (HTML, CSS, JS ...) kalt gjengivelsesmotoren . Hver nettleser har sin egen og mange er forskjellige, for eksempel har Firefox Gecko som gjengivelsesmotor og Chrome har Webkit . Av denne grunn kan det hende at en nettside ikke vises på samme måte av alle nettlesere. Denne forskjellen i visningen av sidene har blitt lagt merke til mye ved flere anledninger i historien til nettet:
- I de tidlige dagene av nettet, da HTML <table>-taggen ble brukt til å bygge oppsettet til nettsteder, var det vanlig at de forskjellige gjengivelsesmotorene tolket egenskapene til tabellene på forskjellige måter (høyde, bredde, justeringer .. .) påvirker riktig visning av nettsider.
- Ved fødselen av CSS tolket Trident -gjengivelsesmotoren til Internet Explorer 6 og tidligere versjoner noen CSS-regler som påvirker riktig visning av nettsider. Dette problemet ble delvis løst med teknikker som alternativ CSS spesifikt for Internet Explorer og betingede kommentarer skreddersydd til det [2] . Andre kritikk av Trident var tregheten i gjengivelsen av nettsider sammenlignet med andre motorer, mangelen på støtte for åpenhet i PNG- og GIF-bilder [3] [4] .
- Ved fødselen av HTML5 og CSS3 var Webkit -gjengivelsesmotoren den første som tolket mange av de nye kodene riktig, den andre som oppdaterte fra det synspunktet var Gecko og til slutt Trindent. I noen år ble nettstedene som brukte de nye tilgjengelige CSS- og HTML-taggene sett på forskjellig avhengig av nettleseren som ble brukt av brukeren [1] . Dette problemet ble delvis løst med teknikker som alternativ CSS spesifikt for Internet Explorer, betingede kommentarer skreddersydd for det, og JavaScript -biblioteker som Modernizr [5] [2] [6] . Senere ble HTML Edge-gjengivelsesmotoren født (og gjorde Internet Explorer utdatert til fordel for Microsoft Edge ) som erstattet Trident.
Web 3D
Web 3D er et begrep som brukes for å indikere interaktivt 3D-innhold satt inn i en HTML -side , som kan vises av en vanlig nettleser gjennom en bestemt Web 3D-visning. Konseptet Web 3D brukes også for å indikere en mulig utvikling av nettet der ideen om en side er forlatt og nedsenket i et interaktivt tredimensjonalt rom. Også i dette tilfellet bruker nettleserne sin egen gjengivelsesmotor for å tolke 3D-rekonstruksjoner (inkludert interaktive).
Bøker og sammendrag
- Foley; Van Dam; Feiner; Hughes (1990). Datagrafikk: prinsipper og praksis . Addison Wesley. ISBN 0-201-12110-7 .
- Glassner (1995). Prinsipper for digital bildesyntese . Morgan Kaufmann. ISBN 1-55860-276-3 .
- Dutre; Bala; Bekaert (2002). Avansert global belysning . AK Peters. ISBN 1-56881-177-2 .
- Jensen (2001). Realistisk bildesyntese ved hjelp av fotonkartlegging . AK Peters. ISBN 1-56881-147-0 .
- Shirley; Morley (2003). Realistic Ray Tracing (2. utgave). AK Peters. ISBN 1-56881-198-5 .
- Glassner (1989). En introduksjon til strålesporing . Akademisk presse. ISBN 0-12-286160-4 .
- Cohen; Wallace (1993). Radiositet og realistisk bildesyntese . AP Professional. ISBN 0-12-178270-0 .
- Akenine-Møller; Haines (2002). Sanntidsgjengivelse (2. utgave). AK Peters. ISBN 1-56881-182-9 .
- Gooch; Gooch (2001). Ikke-fotorealistisk gjengivelse . AKPeters. ISBN 1-56881-133-0 .
- Strothotte; Schlechtweg (2002). Ikke-fotorealistisk datagrafikk . Morgan Kaufmann. ISBN 1-55860-787-0 .
- Blinn (1996). Jim Blinns Corner - A Trip Down The Graphics Pipeline . Morgan Kaufmann. ISBN 1-55860-387-5 .
- Beskrivelse av "Radiance"-systemet , på radsite.lbl.gov .
Merknader
- ^ a b Få tak i HTML5-nettleserkompatibilitet , på Speckyboy Design Magazine , 26. mars 2012. Hentet 3. februar 2021 .
- ^ a b Internet Explorer betingede kommentarer - SitePoint , på sitepoint.com . Hentet 3. februar 2021 .
- ^ Kwame Opam, The most hated browser in the world is finally dead , på The Verge , 8. april 2014. Hentet 3. februar 2021 .
- ^ David Walsh , 6 Reasons Why IE6 Must Die , David Walsh Blog , 29. august 2007. Hentet 3. februar 2021 .
- ^ Css3 på Internet Explorer 8? - fra i dag kan du , på Target Web.it , 8. april 2011. Hentet 3. februar 2021 .
- ^ Faruk Ateş, Dra nytte av HTML5 og CSS3 med Modernizr , på italiensk A List Apart , 5. juli 2010. Hentet 3. februar 2021 .
Andre prosjekter