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 ).
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.
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.
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.
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.
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.
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.
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) |
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) |
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 |
![]() | |
---|---|
I bibliografiske kataloger |
|