Gengivelse

Gengivelse eller tegning ( eng.  rendering-  " visualisering ") er et begreb i computergrafik , der betegner processen med at opnå et billede fra en model ved hjælp af et computerprogram .

Her er en model  en beskrivelse af eventuelle objekter eller fænomener i et strengt defineret sprog eller i form af en datastruktur. En sådan beskrivelse kan indeholde geometriske data, positionen af ​​observatørens punkt, information om belysning, graden af ​​tilstedeværelse af et eller andet stof, styrken af ​​det fysiske felt osv.

Et eksempel på visualisering er radarrumbilleder , som repræsenterer i form af billeddata opnået ved hjælp af radarscanning af overfladen af ​​et rumlegeme, i området af elektromagnetiske bølger, der er usynlige for det menneskelige øje.

Ofte i computergrafik (kunstnerisk og teknisk) forstås rendering ( 3D -gengivelse ) som skabelsen af ​​et fladt billede - et digitalt rasterbillede - baseret på en udviklet 3D-scene. Et synonym i denne sammenhæng er visualisering .

Visualisering er en af ​​de vigtigste grene inden for computergrafik, og i praksis hænger den tæt sammen med de andre. Typisk inkluderer 3D-modellerings- og animationssoftwarepakker også en gengivelsesfunktion. Der er separate softwareprodukter, der udfører gengivelse.

Afhængigt af formålet skelnes rendering som en ret langsom gengivelsesproces, som hovedsageligt bruges ved oprettelse af video, for eksempel i Vegas Pro , og gengivelse i realtid, for eksempel i computerspil . Sidstnævnte bruger ofte 3D-acceleratorer .

Et computerprogram, der gengiver, kaldes en renderer ( eng.  render ) eller renderer ( eng.  renderer ).

Grundlæggende udtryk i gengivelsespraksis

Billedgengivelse kan karakteriseres i form af en række synlige funktioner. Forskning og udvikling inden for gengivelse er i vid udstrækning sat i gang for at finde måder at anvende dem effektivt på. Nogle forholder sig direkte til specifikke algoritmer og metoder, mens andre supplerer hinanden.

Gengivelsesmetoder (visualisering)

Til dato er der udviklet mange visualiseringsalgoritmer. Eksisterende software kan bruge flere algoritmer til at producere det endelige billede.

At spore hver eneste lysstråle i en scene er upraktisk og tager uacceptabelt lang tid. Selv sporing af et lille antal stråler, nok til at få et billede, tager for lang tid, hvis tilnærmelse ( prøveudtagning ) ikke anvendes.

Som et resultat er der udviklet fire grupper af metoder, der er mere effektive end at simulere alle de lysstråler, der oplyser scenen:

Avanceret software kombinerer normalt flere teknikker for at opnå et fotorealistisk billede af tilstrækkelig høj kvalitet til en acceptabel mængde computerressourcer.

Gengivelse og rasterisering

Højniveaurepræsentationen af ​​et billede indeholder nødvendigvis andre elementer end pixels. Disse elementer kaldes primitiver. For eksempel i en skematisk tegning kan linjer og kurver være primitive. I en grafisk brugergrænseflade kan vinduer og knapper være primitive. Ved gengivelse af 3D-modeller kan trekanter og polygoner placeret i rummet være primitive.

I tilfælde, hvor en pixel-for-pixel (billedgengivelse) tilgang til gengivelse ikke er mulig eller for langsom til en given opgave, så kan en primitiv-for-primitiv (objektgengivelse) tilgang til gengivelse være nyttig.

Her ser hver sti på hver af primitiverne, og som et resultat bestemmer den, hvilke pixels i billedet den påvirker, og disse pixels modificeres i overensstemmelse hermed. Dette kaldes rasterisering og denne gengivelsesmetode bruges af alle moderne grafikkort .

Rasterisering er ofte hurtigere end pixelgengivelse. For det første kan store områder af billedet være tomme på grund af primitiver; rasterisering vil ignorere disse områder, men pixelgengivelse skal gå igennem dem. For det andet kan rasterisering forbedre cache-kohærens og reducere overhead ved at udnytte det faktum, at pixels optaget af den samme primitive har tendens til at være sammenhængende i et billede. Af disse grunde er rasterisering normalt det passende valg, når interaktiv gengivelse er påkrævet; dog giver pixelgengivelsesmetoden ofte billeder af højere kvalitet og er mere alsidig, fordi den ikke afhænger af så mange billedantagelser som rasterisering.

Den gamle form for rasterisering er karakteriseret ved at gengive det primitive som en enkelt farve. Alternativt kan rasterisering udføres på en mere sofistikeret måde, ved først at gengive hjørnerne af et ansigt og derefter gengive pixels på det ansigt som en blanding af toppunkters farver. Denne version af rasterisering har overhalet den gamle metode i brug, da den tillader grafik at flyde uden komplekse teksturer (et rasteriseret billede har tendens til at have den effekt, at hvis vi har at gøre med simple teksturer, er kanterne ikke glatte, fordi der ikke er nogen gradvis farveændring fra en primitiv til en anden). Denne rasteriseringsmetode bruger mere komplekse skyggefunktioner og giver stadig bedre ydeevne, fordi enklere teksturer i hukommelsen fylder mindre. Nogle gange bruger designere én rasteriseringsmetode på nogle flader og en anden metode på andre, baseret på den vinkel, hvor den flade møder andre forbundne flader, hvilket øger hastigheden uden at påvirke den overordnede effekt.

Raycasting

Ved raycasting analyseres den geometri, der er blevet modelleret, pixel-for-pixel, linje-for-linje, fra observatørens synspunkt udad, som om stråler blev kastet fra synspunktet. På det punkt, hvor objektet skærer, kan farveværdien estimeres ved hjælp af flere metoder. I det enkleste tilfælde bliver farveværdien af ​​objektet ved skæringspunktet værdien af ​​den pågældende pixel. Farven kan bestemmes ud fra teksturkortet. En mere sofistikeret metode er at ændre farveværdien ved hjælp af lysfaktoren, men uden at beregne forholdet til den simulerede lyskilde. For at reducere unøjagtigheder kan gennemsnittet af antallet af flerretningsstråler beregnes.

Strålekastning involverer at beregne en "visningsretning" (fra kamerapositionen) og gradvist følge denne "strålekastning" gennem "3D solide objekter" i scenen, mens den resulterende værdi akkumuleres fra hvert punkt i 3D-rummet. Dette er relateret til og ligner "ray tracing", bortset fra at transmissionen normalt ikke "reflekteres" af overflader (hvor "ray tracing" indikerer, at den følger lysets vej, inklusive afvisninger). Raycasting indebærer, at lysstrålen følger en lige vej (som kan omfatte at passere gennem gennemskinnelige genstande). Raycasting er en vektor, der kan komme fra kameraet eller fra scenens endepunkt ("fra front til bag" eller "back to front"). Nogle gange udledes den endelige lysværdi fra "overførselsfunktionen", og nogle gange bruges den direkte.

Grov modellering af optiske egenskaber kan desuden anvendes: en simpel beregning af strålen fra objektet til observationspunktet udføres. En anden beregningsmetode udføres for indfaldsvinklen af ​​lysstråler fra lyskilden/lyskilderne, derefter beregnes pixelværdien ud fra dem, såvel som fra lyskildernes angivne intensiteter. Belysning bruges også i en anden modelleringsmetode, der gengiver strålingsalgoritmen, eller en kombination af de to.

Matematisk begrundelse

Gengivelsesmotorimplementeringen er altid baseret på den fysiske model. De udførte beregninger refererer til en eller anden fysisk eller abstrakt model. Hovedideerne er lette at forstå, men svære at anvende. Som regel er den endelige elegante løsning eller algoritme mere kompleks og indeholder en kombination af forskellige teknikker.

Grundlæggende ligning

Nøglen til det teoretiske grundlag for gengivelsesmodeller er gengivelsesligningen. Det er den mest komplette formelle beskrivelse af den del af gengivelsen, der ikke er relateret til opfattelsen af ​​det endelige billede. Alle modeller repræsenterer en omtrentlig løsning af denne ligning.

Den uformelle fortolkning er som følger: Mængden af ​​lysstråling (L o ), der kommer fra et bestemt punkt i en bestemt retning, er dens egen stråling og reflekterede stråling. Den reflekterede stråling er summen af ​​den indkommende stråling i alle retninger ( Li ), ganget med reflektionskoefficienten fra den givne vinkel. Ved at kombinere det indkommende lys med det udgående lys på et punkt i én ligning, udgør denne ligning en beskrivelse af hele lysstrømmen i et givet system.

Sammenligningstabel for gengiveregenskaber

RenderMan mental stråle YafaRay V-Ray finalRender Brasilien R/S Skildpadde Maxwell Render Fryrender Indigo Renderer LuxRender Kerkythea Gelato (udvikling afbrudt)
kompatibel med 3ds Max Ja, via MaxMan indbygget Ikke Ja Ja Ja Ikke Ja Ja Ja Ja Ja Ja
kompatibel med Maya Ja, via RenderMan Artist Tools indbygget Ikke Ja Ja Ikke Ja Ja Ja Ja Ja Ja
kompatibel med Softimage Ja, via XSIMan indbygget Ikke Ja Ikke Ikke Ikke Ja Ja Ja Ja Ikke
Kompatibel med Houdini Ja Ja Ikke Ikke Ikke Ikke Ikke Ikke Ja Ja Ikke Ikke
kompatibel med LightWave Ikke Ikke Ikke Ikke Ikke Ikke Ikke Ja Ja Ikke Ikke Ikke
kompatibel med Blender Ja Ikke Ja Ja Ikke Ikke Ikke Ikke Ikke Ja Ja Ja Ikke
kompatibel med SketchUp Ikke Ikke Ikke Ja Ikke Ikke Ikke Ja Ja Ja Ja Ja Ikke
kompatibel med Cinema 4D Ja (startende fra version 11) Ja Ikke Ja Ja Ikke Ikke Ja Ja Ja Ja nej, frosset Ikke
platform Microsoft Windows , Linux , Mac OS X Microsoft Windows , Mac OS X Microsoft Windows , Linux , Mac OS X
modellens fysiske rigtighed Ikke Ikke Ikke Ikke Ikke Ikke Ikke Ja Ja Ja Ja Ikke
scanningslinjen Ja Ja Ikke Ikke Ikke Ikke Ikke Ikke Ikke Ikke Ikke Ikke Ja
raytrace meget langsom Ja Ja Ja Ja Ja Ja Ikke Ikke Ikke Ikke Ja Ja
Global Illumination algoritmer eller dine egne algoritmer Photon, Final Gather (Quasi-Montecarlo) Fotonkort, pathtracing, Tovejs, SPPM Light Cache, Photon Map, Irradiance Map, Brute Force (Quasi-Montecarlo) Hyper Global Illumination, Adaptive Quasi-Montecarlo, Image, Quasi Monte-Carlo Quasi-Montecarlo, PhotonMapping Photon Map, Final Gather Metropolis let transport Metropolis let transport Metropolis let transport Metropolis let transport, bidirektionel stisporing
Kamera – dybdeskarphed (DOF) Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Kamera - Motion Blur (vektor pass) meget hurtig Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja hurtig
forskydning hurtig Ja Ja langsom, 2d og 3d langsom Ikke hurtig Ja Ja Ja Ja hurtig
Områdelys Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Blank reflekter/brydning Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Undergrundsspredning (SSS) Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Standalone Ja Ja Ikke 2005 (rå) Ikke Ikke Ikke Ja Ja Ja Ja Ja
Nuværende version 13.5,2,2 3.10 0.1.1 (0.1.2 Beta 5a) 3,6 (3ds Max)

2.0 (Maya)
1.6 (SketchUp)
1.5 (Rhino)

Fase-2 2 4.01 1,61 1,91 1.0.9 v1.5 Kerkythea 2008 Echo 2.2
udstedelsesår 1987 1986 2005 2000 2002 2000 2003 2007 (?) 2006 (?) 2006 2015 2008 2003
materialebibliotek Ikke 33 Min mentale Ray i at udvikle 100+ vray materialer 30 af. internet side 113 af. hjemmeside  (link ikke tilgængelig) Ikke 3200+ af. internet side 110 af. internet side 80 af. internet side 61 af. internet side Ikke
baseret på teknologi flydende lys Metropolis let transport
normal kortlægning Ja Ja Ja
IBL/HDRI belysning Ja Ja Ja Ja
fysisk himmel/sol Ja Ja Ja Ja Ja
officielle side renderman.pixar.com YafaRay.org Arkiveret 27. december 2020 på Wayback Machine vray.com
chaosgroup.com
MaxwellRender.com fryrender.com IndigoRenderer.com LuxRender.net kerkythea.net
producerende land USA Tyskland Korea Bulgarien Tyskland USA Sverige Spanien Spanien USA
koste $ 3500 195 gratis, LGPL 2.1 800-1385

(afhængigt af 3D-pakken)
tilgængelige undervisningsversioner

1000 735 1500 995 1200 295 € gratis, GNU ledig ledig
hovedfordel ledig Bagning ved høj hastighed (ikke særlig høj kvalitet) Grupper af lyskilder, hvis indflydelse på billedet kan justeres direkte under gengivelsen, forskellige efterbehandlingseffekter og efterligninger af forskellige fotografiske film, der anvendes i farten;

Gratis og open source software

ledig
producentvirksomhed Pixar mentale billeder (siden 2008 NVIDIA ) YafaRay Kaos gruppe Cebas SplutterFish Oplys Labs Næste grænse Feversoft NVIDIA

Kronologi af større publikationer

Noter