3D-rendering

3D-rendering  är processen att konvertera 3D-modeller till 2D-bilder på en dator . 3D-renderingar kan innehålla fotorealistiska effekter eller icke-fotorealistiska stilar.

Visualiseringsmetoder

Återgivning  är den sista processen för att skapa en riktig 2D-bild eller animering från en förberedd scen. Detta kan jämföras med att ta ett foto eller filma en scen efter att ha slutfört installationen i verkligheten [1] . Flera olika och ofta specialiserade bildbehandlingsmetoder har utvecklats . Dessa sträcker sig från uppenbart orealistisk wireframe-rendering, genom polygonbaserad rendering, till mer avancerade tekniker som scanline-rendering, ray tracing och andra. Återgivningen kan ta från bråkdelar av en sekund till flera dagar för en enda bild/bildruta. Generellt sett är olika metoder bättre lämpade för både fotorealistisk rendering och realtidsrendering [2] .

Realtid

Rendering för interaktiva medier som spel och simuleringar beräknas och renderas i realtid med cirka 20 till 120 bilder per sekund. Med realtidsrendering är målet att visa så mycket information som möjligt som ögat kan bearbeta på en bråkdel av en sekund (t.ex. "i en bildruta": i fallet med en animering på 30 fps spänner en bildruta över en 30:e del av en sekund).

Huvudmålet är att uppnå en så hög grad av fotorealism som möjligt vid en acceptabel lägsta renderingshastighet (vanligtvis 24 bilder per sekund, eftersom detta är det minimum som det mänskliga ögat behöver se för att framgångsrikt skapa illusionen av rörelse). Faktum är att exploateringar kan tillämpas på hur ögat "uppfattar" världen, och som ett resultat är den slutliga bilden som presenteras inte nödvändigtvis en bild av den verkliga världen, utan tillräckligt nära det mänskliga ögat för att tolerera.

Renderingsprogramvara kan simulera visuella effekter som linsreflexer, skärpedjup eller rörelseoskärpa. Dessa är försök att simulera visuella fenomen som härrör från kamerornas och det mänskliga ögats optiska egenskaper. Dessa effekter kan lägga till ett element av realism till en scen, även om effekten bara är en imitation av en kameraartefakt. Detta är den huvudsakliga metoden som används i spel, interaktiva världar och VRML.

Den snabba ökningen av datorernas processorkraft har gjort det möjligt att uppnå allt högre grader av realism även för realtidsrendering, inklusive tekniker som HDR-rendering. Realtidsrendering är ofta polygonal och stöds av datorns GPU [3] .

Inte i realtid

Animation för icke-interaktiva medier som långfilmer och videor kan ta mycket längre tid [4] . Icke-realtidsrendering gör att du kan använda begränsad processorkraft för att få högre bildkvalitet. Återgivningstider för enskilda bildrutor kan variera från några sekunder till flera dagar för komplexa scener. Återgivna ramar lagras på en hårddisk och överförs sedan till andra media som film eller optisk skiva. Dessa bildrutor renderas sedan sekventiellt med en hög bildhastighet, vanligtvis 24, 25 eller 30 bilder per sekund (fps), för att uppnå illusionen av rörelse.

När målet är fotorealism används metoder som strålspårning, vägspårning, fotonkartläggning eller strålemission. Detta är den huvudsakliga metoden som används i digitala medier och konstverk. Metoder har utvecklats i syfte att simulera andra naturliga effekter såsom ljusets interaktion med olika former av materia. Exempel på sådana metoder inkluderar partikelsystem (som kan simulera regn, rök eller eld), volymetrisk provtagning (för att simulera dimma, damm och andra rumsliga atmosfäriska effekter), kaustik (för att simulera fokusering av ljus av ojämna brytande ytor, som t.ex. ljusa krusningar som ses på botten av en simbassäng) och spridning under ytan (för att simulera reflektion av ljus inuti volymerna av fasta föremål som mänsklig hud).

Visualiseringsprocessen är beräkningsmässigt dyr med tanke på den komplexa mängd fysiska processer som modelleras. Datorns processorkraft har vuxit snabbt under åren, vilket gör att graden av realism gradvis kan ökas. Filmstudior som skapar datoranimationer använder vanligtvis en renderfarm för att skapa bilder i tid. Men den minskande kostnaden för hårdvara gör att det är fullt möjligt att skapa en liten mängd 3D-animationer på en hemdator. Rendering-utgången används ofta som bara en liten del av en komplett filmscen. Många lager av material kan renderas separat och integreras i den slutliga bilden med hjälp av kompositprogram.

Reflexions- och skuggningsmodeller

Modeller med reflektion/spridning och skuggning används för att beskriva utseendet på en yta. Även om dessa frågor kan verka som problem i sig själva, studeras de nästan uteslutande i samband med visualisering. Modern 3D-datorgrafik är starkt beroende av en förenklad reflektionsmodell som kallas Phong-reflektionsmodellen (inte att förväxla med Phong-skuggning). I ljusets brytning är ett viktigt begrepp brytningsindex; de flesta implementeringar av 3D-programmering använder termen "brytningsindex" (vanligtvis förkortad till IOR) för detta värde.

Skuggning kan delas upp i två distinkta tekniker som ofta studeras oberoende av varandra:

Algoritmer för ytskuggning

Populära ytskuggningsalgoritmer i 3D-datorgrafik inkluderar:

Reflektion

Reflektion eller spridning är förhållandet mellan inkommande och utgående belysning vid en given punkt. Spridningsbeskrivningar ges vanligtvis i termer av den dubbelriktade spridningsfördelningsfunktionen eller BSDF [5] .

Skuggning

Skuggning avser hur olika typer av spridning är fördelade över en yta (det vill säga vilken spridningsfunktion som appliceras var). Beskrivningar av detta slag uttrycks vanligtvis med hjälp av ett program som kallas en shader [6] . Ett enkelt exempel på skuggning är texturmapping, som använder en bild för att sprida färg på varje punkt på en yta, vilket gör den mer synlig. Några skuggtekniker inkluderar:

Teorin om överföring (transport) av ljus

Transport beskriver hur ljus i en scen färdas från en plats till en annan. Sikt är huvudkomponenten i lätta transporter.

Projektion

Skuggade 3D-objekt måste tillplattas så att visningsenheten – nämligen monitorn – bara kan visa dem i två dimensioner, en process som kallas 3D-projektion. Detta görs med hjälp av projektion och, för de flesta applikationer, perspektivprojektion. Grundtanken bakom perspektivprojektion är att objekt längre bort blir mindre jämfört med objekt närmare ögat. Program producerar perspektiv genom att multiplicera expansionskonstanten upphöjd till styrkan av det negativa avståndet från observatören. En expansionskonstant på ett betyder att det inte finns något perspektiv. Höga expansionskonstanter kan orsaka en fisheye-effekt, där bildförvrängning börjar uppstå. Ortografisk projektion används främst i CAD- eller CAM-tillämpningar där vetenskaplig modellering kräver exakta mätningar och bevarande av den tredje dimensionen.

Anteckningar

  1. Badler, Norman I 3D Object Modeling Lecture Series ( PDF ). University of North Carolina vid Chapel Hill . Hämtad 28 april 2020. Arkiverad från originalet 22 december 2018.
  2. Icke-fotorealistisk rendering . Duke University . Hämtad 23 juli 2018. Arkiverad från originalet 26 april 2021.
  3. ↑ Vetenskapen om  3D- rendering  ? . Institutet för digital arkeologi . Datum för åtkomst: 19 januari 2019. Arkiverad från originalet 19 januari 2019.
  4. Christensen, Per H.; Jarosz, Wojciech The Path to Path-Traced Movies ( PDF ). Hämtad 11 juni 2021. Arkiverad från originalet 11 juni 2021.
  5. Grundläggande för rendering - reflektansfunktioner ( PDF ). Ohio State University . Hämtad 28 april 2020. Arkiverad från originalet 11 juli 2019.
  6. Ordet "shader" används ibland för program som beskriver lokala geometriska variationer.
  7. Bump Mapping . web.cs.wpi.edu . Hämtad 23 juli 2018. Arkiverad från originalet 19 juli 2018.