Bildsyntes

3D-scen som framförs av olika metoder

Bildsyntes eller rendering (från engelska (till) render , tyska för att  producera något, för att publicera något, för att göra något ) avser generering av en bild från rådata i datorgrafik . Rådata kan vara geometriska beskrivningar i 2D- eller 3D-utrymme (även kallad scen ), HTML , SVG, etc.

En scen är en virtuell rumslig modell som definierar objekt och deras materialegenskaper, ljuskällor, liksom betraktarens position och synriktning.

Datorprogram för att återge bilder kallas renderare . En skillnad görs mellan B. renderingsmotorn för dataspel, HTML-renderaren etc.

Vid rendering måste följande uppgifter vanligtvis lösas:

  • bestämning av objekt som är synliga från den virtuella observatören ( ocklusionsberäkning )
  • simuleringen av ytans utseende, påverkad av deras materialegenskaper ( skuggning )
  • beräkningen av ljusfördelningen inom scenen, som bland annat uttrycks av indirekt belysning mellan kroppar.

Dessutom kräver genereringen av datoranimering några ytterligare tekniker. Ett viktigt tillämpningsområde är den interaktiva syntesen av bilder i realtid , som oftast använder hårdvaruacceleration . När det gäller realistisk bildsyntes, å andra sidan, läggs värde på hög bildkvalitet eller fysisk korrekthet, medan den erforderliga beräkningstiden spelar en underordnad roll.

En renderad bild med reflektion och fältdjupeffekter

Rendering i realtid

Med rendering i realtid beräknas en serie bilder snabbt och den underliggande scenen ändras interaktivt av användaren. Beräkningen görs tillräckligt snabbt för att bildsekvensen upplevs som en dynamisk process. Interaktiv användning är möjlig från en bildhastighet på cirka 6 fps; vid 15 fps kan man med säkerhet tala om realtid. På moderna datorer stöds rendering i realtid av hårdvaruacceleration med grafikkort . Med några få undantag stöder grafikhårdvara bara punkter, linjer och trianglar som grundläggande grafiska objekt .

Grafik pipeline

Med rendering i realtid beskriver grafikledningen vägen från scenen till den färdiga bilden. Det är en modellpresentation som kan variera beroende på system. Grafikrörledningen implementeras ofta i delar som liknar processorrörledningar , där beräkningar utförs parallellt. En grafisk pipeline kan delas upp i tre huvudsteg: applikation, geometri och rasterisering.

Den ansökan steg gör några ändringar till platsen som anges av användaren som en del av samverkan och skickar dem vidare till nästa steg i pipeline. Dessutom används tekniker som kollisionsdetektering , animering, morphing och accelerationsmetoder med hjälp av rumsliga indelningsscheman.

Representation av en scen med en virtuell observatör och visuell volym (ljusgrå) som begränsas av de två klippnivåerna . Den visuella volymen förvandlas till en kub under projektionsförloppet, så att närmare objekt verkar större än längre bort.

Den geometri steg tar över en stor del av verksamheten med hörn , hörnpunkterna för de grundläggande objekt. Den kan delas in i olika delsteg som successivt genomför transformationer till olika koordinatsystem . För att förenkla perspektivillustrationen fungerar nästan alla geometriska operationer i geometristeget med homogena koordinater . Poäng definieras av fyra koordinater och transformationer med 4 × 4- matriser .

Först och främst transformeras alla grundobjekt på scenen på ett sådant sätt att den virtuella observatören ser längs z (djup) axeln. Om scenen innehåller ljuskällor beräknas en färg för varje toppunkt baserat på materialegenskaperna för motsvarande triangel. Volymen på scenen som är synlig för observatören är en trunkerad pyramid ( frustum ). I nästa steg förvandlas denna frustum till en kub, vilket motsvarar en central projektion. Grundläggande objekt som helt eller delvis ligger utanför den synliga volymen beskärs eller tas bort med hjälp av klipp- och borttagningstekniker. Slutligen appliceras en transform som flyttar toppkoordinaterna till önskat ritområde på skärmen. De Z -coordinates behålls eftersom de behövs för den senare beräkningen av ocklusion.

I rasteriseringssteget rasteriseras alla återstående projicerade grundobjekt genom att färga pixlarna som hör till dem. Eftersom endast de synliga delarna ska visas vid överlappande trianglar används en Z-buffert som tar över beräkningen av maskeringen.

Grafik-API: er

Grafik- API: er används vanligtvis för att styra grafikledningar , som abstrakta grafikhårdvaran och befria programmeraren från många uppgifter. OpenGL- standarden som ursprungligen introducerades av Silicon Graphics har bidragit väsentligt till utvecklingen av realtidsåtergivning . De senaste innovationerna i OpenGL och Microsofts DirectX används främst i moderna datorspel . Förutom DirectX och OpenGL fanns det andra tillvägagångssätt, såsom Glide , som dock inte kunde råda. OpenGL är mycket viktigt inom det professionella området. DirectX, å andra sidan, är starkt optimerad för spelutveckling. DirectX är egenutvecklad programvara som endast finns i Windows ; det är inte en öppen standard.

Historiska tekniker

Se även historik för datorgrafik

Den första interaktiva tekniken för ocklusionsberäkning publicerades 1969 av Schumacker med flera. Schumackers algoritm användes för flygsimulering för USA: s väpnade styrkor, en applikation där massiva investeringar alltid gjordes i grafikhårdvara.

Under de första dagarna av datorspel med interaktiv 3D-grafik utfördes fortfarande alla beräkningsintensiva grafikoperationer av datorns huvudprocessor . Därför kunde endast mycket enkla och begränsade återgivningsmetoder användas. Den första person shooter Wolfenstein 3D (1992), till exempel, används raycasting för beräkning av ocklusion , med vilken endast en fast höjd dimension och rummen angränsande varandra i rät vinkel kan representeras. Doom kombinerade raycasting med tvådimensionell binär rymdpartitionering för att öka effektiviteten och göra mer komplexa scener.

Skuggning och direktbelysning

Som skuggning (dt.: Skuggning ) beräknas färgen på ytor med tillhörande generellt materialegenskaper respektive direkt anländer från ljuskällorna. Skuggningen används både i realtid och realistisk rendering. Den indirekta belysningen av andra ytor beaktas initialt inte. Ett speciellt fall representeras av icke-fotorealistiska skuggningstekniker ( icke-fotorealistisk återgivning ) , där till exempel snedvridningar skapas av estetiska skäl, såsom cel-skuggning för komiska bilder.

Ljuskällor och skuggor

Olika, ofta fysiskt felaktiga typer av ljuskällor är vanliga vid modellering. Riktningsljus skickar parallella ljusstrålar i en viss riktning utan dämpning, punktljuskällor avger ljus i alla riktningar och spotljus avger endast ljus i ett konformat område. I verkligheten har ljus ett visst område; ljusintensiteten minskar kvadratiskt med avståndet. Detta beaktas i den realistiska bildsyntesen, medan i realtid rendering används oftast bara enkla ljuskällor.

Skuggor är ett viktigt inslag i datorgrafik, eftersom de ger användaren information om placering av objekt i rymden. Eftersom ljuskällor är av en viss storlek verkar skuggor mer eller mindre suddiga i verkligheten. Detta beaktas i realistiska renderingsprocesser.

Lokala belysningsmodeller

Ljusreflektion på en Lambert (helst diffus), en mindre grov (blank) och en slät (reflekterande) yta

Lokala belysningsmodeller beskriver ljusets beteende på ytor. När en ljuspartikel träffar en kropp reflekteras den, absorberas eller - med undantag av metaller - bryts in i kroppen . Inkommande ljus reflekteras bara på mycket släta ytor; När det gäller icke-metalliska kroppar beskrivs den relativa andelen reflekterat och brytat ljus av Fresnels formler .

Mikroskopiska stötar betyder att ljuset inte reflekteras, men med viss sannolikhet reflekteras i en annan riktning. Sannolikhetsfördelningen som beskriver detta beteende för ett material kallas dubbelriktad reflektionsfördelningsfunktion (BRDF). Lokala belysningsmodeller är mest parametrerbara BRDF: er. Idealiskt kan diffusa ytor simuleras , till exempel med Lamberts lag och glänsande ytor med Phong-belysningsmodellen . Rendering i realtid använder ofta en kombination av en diffus, en blank och en konstant faktor. Vidare utvecklades fysiskt mer troliga modeller för realistisk bildsyntes.

BRDF antar att ljuset som kommer fram till en punkt på ytan också exakt där. I verkligheten sprider icke-metalliska kroppar ljus inuti dem, vilket resulterar i ett mjukare utseende. Simuleringen av denna volymspridning är särskilt viktig för realistisk bildsyntes.

Interpolerad skuggning

En kropp (närmare bestämt en polyeder ), gjord med platt skuggning till vänster, med Gouraud skuggning till höger så att den ser ut som en sfär (eller en ellipsoid av revolution ). Kroppsbeskrivningen finns som en trådrammodell , eftersom endast området är relevant , inte volymen! En riktig sfär kan beskrivas med mycket färre parametrar: centrum + radie . Istället beskriver du ytor med många hörn och förbinder dem med varandra med raka linjer. Vissa modeller föreskriver trianglar, andra rutor. Beräkningar tillämpas på dessa hörnpunkter. Denna metod används inte bara i bildsyntes utan också z. B. även med numeriska simuleringar ( FEM ).

I realtid rendering finns det tre vanliga sätt att beräkna belysningen av en triangel. Med platt skuggning beräknas färgen för en triangel och hela triangeln fylls med den här färgen. Detta gör att facetterna som utgör modellen syns tydligt. Gouraud-skuggningen som stöds av de flesta grafikkort, å andra sidan, bestämmer färgen i varje hörn av en triangel, så att rastern interpolerar mellan dessa färgvärden och resulterar i ett mjukare utseende än med platt skuggning. Med Phong Shading är det normala vid denna toppunkt tillgängligt tillsammans med varje toppunkt. Rastern interpolerar mellan det normala och den lokala belysningsmodellen beräknas enligt dessa normaler. Denna procedur undviker vissa visningsproblem med Gouraud-skuggning.

Kartläggningstekniker

Sfärer med olika procedurstrukturer
Bumpkartläggning för att simulera ojämnheter i ytan, i mitten den använda bumpkartan

Normalt appliceras lokala belysningsmodeller enhetligt på ett helt objekt. Kartläggningstekniker används för att simulera ytdetaljer på grund av variationer i färg eller struktur. Material- eller geometriegenskaperna varieras vid varje punkt på ytan med hjälp av en funktions- eller rastergrafik. Många karttekniker stöds också av grafikhårdvara. Förutom de procedurer som anges nedan har många andra kartläggningstekniker utvecklats.

  • Texturmappning är den äldsta karttekniken och används för att skildra en tvådimensionell bild (textur) på en yta eller för att "hålla fast" den med den. Förutom rastergrafik används också procedurstrukturer , där färgen vid en punkt bestäms av en matematisk funktion. Olika filtermetoder är möjliga vid bestämning av ett färgvärde. Mippkartläggning är vanligt på grafikhårdvara , där strukturen finns i olika bildupplösningar av effektivitetsskäl .
  • Bumpmapping används för att simulera ojämnheter i ytan. De faktiska normala vektorerna på ytan störs av en bumpkarta . Detta påverkar emellertid inte ett objekts geometri.
  • Förskjutningskartläggning används också för att simulera ojämnheter i ytan, men i motsats till bumpmappning ändras faktiskt ytgeometrin. Eftersom det vanligtvis inte finns tillräckligt med hörn tillgängliga för detta infogas ytterligare ytpunkter som förskjuts enligt ett höjdfält .
  • Miljökartläggning eller reflektionskartläggning används för att simulera speglingseffekter i realtid. För detta ändamål skickar betraktaren en stråle till det reflekterande objektet och reflekterar den. Till skillnad från strålspårning (se nedan) beräknas inte den reflekterade strålens skärningspunkt med närmaste yta. Istället bestäms färgvärdet från en förberäknad bild av scenen baserat på strålens riktning.

Realistisk rendering och global belysning

Hur realistisk en renderad bild ser ut beror till stor del på i vilken utsträckning ljusfördelningen inom scenen har beräknats. Medan skuggning bara beräknas direktbelysning, spelar indirekt belysning reflektion av ljus mellan objekt en roll. Detta möjliggör effekter som rum som bara lyser upp med ett smalt ljusrum. Den ljusväg notation används för att ange simulering av belysning med avseende på kapaciteten hos en rendering algoritm. Om man tar hänsyn till alla typer av ljusreflektion talar man om global belysning . Det måste beaktas för ett realistiskt resultat och är inte möjligt eller endast möjligt i mycket begränsad utsträckning med realtidsmetoder.

Matematiskt beskrivs global belysning av återgivningsekvationen , som använder radiometriska mängder för att indikera hur mycket ljus når en ytpunkt från en annan ytpunkt efter en reflektion . Renderingsekvationen kan beräknas med strålspårning , i speciella fall även med radiositet . Förutom dessa två fantastiska tekniker för realistisk bildsyntes används varianter av REYES- systemet , särskilt inom filmteknik .

Strålspårning

Bild beräknad med strålspårning. Ljusreflektioner och refraktioner är jämförelsevis enkla med strålspårning.

Strålspårning är först och främst en algoritm för beräkning av maskering, som baseras på perspektivstrålning från observatören. Varje stråle testas mot alla grundläggande föremål för en korsning och vid behov beräknas avståndet till dessa objekt. Det synliga objektet är det som har närmast avstånd. I utökade former kan strålspårning också simulera ljusreflektioner och refraktioner.

För att beräkna den globala belysningen med strålspårning måste den "ljusintensitet" som anländer till denna pixel bestämmas med hjälp av återgivningsekvationen. Detta görs med hjälp av en Monte Carlo-simulering , där många ljusstrålar slumpmässigt släpps ut på ytorna. Sådana strålspårningstekniker kallas Monte Carlo strålspårning; den enklaste av dessa metoder är sökvägen . Dessa algoritmer är relativt tidskrävande, men är det enda alternativet för scener med komplicerade ljusförhållanden och olika material. Om de implementeras på lämpligt sätt ger de också opartiska bilder. Detta innebär att bildbruset är den enda avvikelsen från rätt, helt konvergerad lösning. Fotonkartläggning används för att påskynda beräkningen av ljusfördelningen med strålspårning, men kan leda till synliga bildfel (artefakter).

Radiositet

En scen gjord med radiositet med direkt och indirekt upplysta, helst diffusa ytor

I sin grundform kan radiositetsalgoritmen endast användas på idealt diffusa ytor och baseras på indelningen av ytorna i små partiella områden (plåster). Under dessa förhållanden kan rendering ekvationer användas för att ställa in ett linjärt ekvationssystem för varje patch som löses numeriskt; Radiositet är en av de finita elementmetoderna . Radiositet kan utökas till vilket material som helst, men precisionen begränsas av antalet korrigeringsfiler och de resulterande minneskraven. En fördel jämfört med strålspårning är att ljusfördelningen beräknas oberoende av synvinkeln och att ocklusionsberäkningen inte är en del av den faktiska radiositetsalgoritmen. Detta gör radiosignalen särskilt lämplig för att återge statiska eller mindre animerade scener i realtid, förutsatt att en tidskrävande prognos är motiverad.

Volymgrafik

Bild av en skalle som återges med hjälp av medel för volymgrafik

Med volymgrafik beskrivs inte objekten som ska återges som ytor utan som rumsliga datamängder i form av voxel-rutnät . Voxel-galler innehåller värden ordnade i ett rutnät som beskriver objektets "densitet". Denna form av datarepresentation är särskilt lämplig för objekt som inte har tydliga konturer, till exempel moln. Särskilda tekniker krävs för att göra voxelnät. Eftersom många bildprocesser genererar voxeldata är volymgrafik också viktigt för medicin.

litteratur

  • Tomas Akenine-Möller, Eric Haines: Rendering i realtid. AK Peters, Natick, Mass. 2002, ISBN 15-6881-182-9 ( webbplats )
  • Philip Dutré bland andra: Advanced Global Illumination. AK Peters, Natick, Mass. 2003, ISBN 15-6881-177-2 ( webbplats )
  • Andrew Glassner: Principer för digital bildsyntes. Morgan Kaufmann, London 1995, ISBN 15-5860-276-3
  • Matt Pharr, Greg Humphreys: Fysiskt baserad rendering. Från teori till implementering. Morgan Kaufmann, London 2004, ISBN 01-2553-180-X ( webbplats )
  • Ian Stephenson: Produktion Rendering: Design och Implementering. Springer, London 2005, ISBN 1-85233-821-0
  • Alan Watt: 3D-datorgrafik. Addison-Wesley, Harlow 2000, ISBN 0-201-39855-9

webb-länkar

Commons : 3D-datorgrafik  - album som innehåller bilder, videor och ljudfiler

Individuella bevis

  1. Tomas Akenine-Möller, Eric Haines: Rendering i realtid, s.1
  2. Tomas Akenine-Möller, Eric Haines: Real-Time Rendering, s.7
  3. Tomas Akenine-Möller, Eric Haines: Rendering i realtid, s.11
  4. Ivan Sutherland et al: A Characterization of Ten Hidden-Surface Algorithms. ACM Computing Surveys (CSUR) 6, 1 (mars 1974): 1-55, här s. 23, ISSN  0360-0300
  5. ^ RA Schumaker et al: Studie för tillämpning av datorgenererade bilder på visuell simulering. AFHRL-TR-69-14. US Air Force Human Resources Laboratory, 1969