Redare 3D - 3D rendering

Redarea 3D este procesul de grafică 3D pe computer de conversie a modelelor 3D în imagini 2D pe un computer . Renderele 3D pot include efecte fotorealiste sau stiluri non-fotorealiste .

Metode de redare

O redare 3D fotorealistă a 6 ventilatoare de computer folosind redarea radiosității , DOF și materiale procedurale

Redarea este procesul final de creare a imaginii 2D reale sau a animației din scena pregătită. Acest lucru poate fi comparat cu realizarea unei fotografii sau filmarea scenei după finalizarea configurării în viața reală. Au fost dezvoltate mai multe metode de redare diferite și adesea specializate. Acestea variază de la redarea în mod clar nerealistă a wireframe -ului prin redarea bazată pe poligon, la tehnici mai avansate, cum ar fi: redarea liniei de scanare , trasarea razelor sau radiositatea . Redarea poate dura de la fracțiuni de secundă la zile pentru o singură imagine / cadru. În general, diferite metode sunt mai potrivite fie pentru redarea fotorealistă, fie pentru redarea în timp real .

Timp real

O captură de ecran din Second Life , o lume virtuală online din 2003 care redă cadre în timp real

Redarea pentru mediile interactive, cum ar fi jocurile și simulările, este calculată și afișată în timp real, la rate de aproximativ 20 până la 120 de cadre pe secundă. În redarea în timp real, obiectivul este de a afișa cât mai multe informații pe care ochiul le poate procesa într-o fracțiune de secundă (alias „într-un singur cadru”: în cazul unei animații de 30 de cadre pe secundă, un cadru cuprinde o treime de secundă).

Scopul principal este de a atinge un grad cât mai mare de fotorealism la o viteză minimă acceptabilă de redare (de obicei 24 de cadre pe secundă, deoarece acesta este minimul pe care ochiul uman trebuie să îl vadă pentru a crea cu succes iluzia mișcării). De fapt, exploatările pot fi aplicate în modul în care ochiul „percepe” lumea și, ca rezultat, imaginea finală prezentată nu este neapărat cea a lumii reale, ci una suficient de apropiată pentru ca ochiul uman să tolereze.

Software-ul de redare poate simula astfel de efecte vizuale precum flare ale lentilelor , adâncimea de câmp sau neclaritatea mișcării . Acestea sunt încercări de a simula fenomene vizuale rezultate din caracteristicile optice ale camerelor și ale ochiului uman. Aceste efecte pot da un element de realism unei scene, chiar dacă efectul este doar un artefact simulat al unei camere. Aceasta este metoda de bază folosită în jocuri, lumi interactive și VRML .

Creșterea rapidă a puterii de procesare a computerului a permis un grad progresiv de realism chiar și pentru redarea în timp real, inclusiv tehnici precum redarea HDR . Redarea în timp real este adesea poligonală și este ajutată de GPU- ul computerului .

Nu în timp real

Imagine generată de computer (CGI) creată de Gilles Tran

Animațiile pentru medii non-interactive, cum ar fi lungmetrajele și videoclipurile, pot dura mult mai mult timp pentru a fi redate. Redarea în timp real permite utilizarea unei puteri limitate de procesare pentru a obține o calitate a imaginii mai ridicată. Timpii de redare pentru cadre individuale pot varia de la câteva secunde la câteva zile pentru scene complexe. Cadrele redate sunt stocate pe un hard disk , apoi transferate pe alte suporturi, cum ar fi filmul de film sau discul optic. Aceste cadre sunt apoi afișate secvențial la rate de cadre mari, de obicei 24, 25 sau 30 de cadre pe secundă (fps), pentru a realiza iluzia de mișcare.

Atunci când scopul este foto-realismul, sunt folosite tehnici precum trasarea razelor , trasarea traseului , maparea fotonilor sau radiositatea . Aceasta este metoda de bază utilizată în mass-media digitală și în lucrările artistice. Tehnicile au fost dezvoltate în scopul simulării altor efecte naturale, cum ar fi interacțiunea luminii cu diferite forme de materie. Exemple de astfel de tehnici includ sisteme de particule (care pot simula ploaia, fumul sau focul), eșantionarea volumetrică (pentru a simula ceața, praful și alte efecte atmosferice spațiale), caustice (pentru a simula focalizarea luminii prin suprafețe neuniforme de refractare a luminii, cum ar fi valuri ușoare văzute pe fundul unei piscine) și împrăștierea subterană (pentru a simula lumina care se reflectă în interiorul volumelor de obiecte solide, cum ar fi pielea umană ).

Procesul de redare este costisitor din punct de vedere al calculului, având în vedere varietatea complexă de procese fizice simulate. Puterea de procesare a computerului a crescut rapid de-a lungul anilor, permițând un grad progresiv mai ridicat de redare realistă. Studiourile de film care produc animații generate de computer folosesc de obicei o fermă de redare pentru a genera imagini în timp util. Cu toate acestea, scăderea costurilor hardware înseamnă că este pe deplin posibil să se creeze cantități mici de animație 3D pe un sistem computerizat de acasă. Ieșirea randatorului este adesea utilizată ca o singură mică parte a unei scene de film complet. Multe straturi de material pot fi redate separat și integrate în imaginea finală utilizând software-ul de compoziție .

Modele de reflecție și umbrire

Modele de reflexie / împrăștiere și umbrire sunt utilizate pentru a descrie aspectul unei suprafețe. Deși aceste probleme pot părea probleme ca atare, ele sunt studiate aproape exclusiv în contextul redării. Grafica computerizată 3D modernă se bazează în mare măsură pe un model de reflecție simplificat numit modelul de reflecție Phong (nu trebuie confundat cu umbrirea Phong ). În refracția luminii, un concept important este indicele de refracție ; în majoritatea implementărilor de programare 3D, termenul pentru această valoare este „indicele de refracție” (de obicei scurtat la IOR).

Umbrirea poate fi împărțită în două tehnici diferite, care sunt adesea studiate independent:

  • Umbrirea suprafeței - modul în care lumina se răspândește pe o suprafață (utilizată în cea mai mare parte în randarea scanării pentru redarea 3D în timp real în jocurile video)
  • Reflecție / împrăștiere - modul în care lumina interacționează cu o suprafață într-un anumit punct (utilizat în cea mai mare parte în randări trasate cu raze pentru redarea 3D în timp real fotorealistă și artistică atât în ​​imagini 3D CGI, cât și în animații 3D non-interactive CGI)

Algoritmi de umbrire a suprafeței

Algoritmii populari de umbrire a suprafeței în grafica computerizată 3D includ:

  • Umbrire plană : o tehnică care nuanțează fiecare poligon al unui obiect pe baza „normalului” poligonului și a poziției și intensității unei surse de lumină
  • Umbrirea Gouraud : inventată de H. Gouraud în 1971; o tehnică de umbrire a vârfurilor, rapidă și conștientă de resurse, utilizată pentru a simula suprafețe ușor umbrite
  • Umbrire Phong : inventată de Bui Tuong Phong ; folosit pentru a simula evidențieri speculare și suprafețe umbre netede

Reflecţie

Ceainicul Utah cu iluminare verde

Reflecția sau împrăștierea este relația dintre iluminarea de intrare și de ieșire într-un punct dat. Descrierile de împrăștiere sunt de obicei date în funcție de o funcție de distribuție bidirecțională de împrăștiere sau BSDF.

Umbrire

Umbrirea abordează modul în care diferite tipuri de împrăștiere sunt distribuite pe suprafață (adică, ce funcție de împrăștiere se aplică acolo). Descrieri de acest gen sunt exprimate de obicei cu un program numit shader . Un exemplu simplu de umbrire este maparea texturii , care utilizează o imagine pentru a specifica culoarea difuză în fiecare punct de pe o suprafață, oferindu-i detalii mai evidente.

Unele tehnici de umbrire includ:

Transport

Transportul descrie modul în care iluminarea dintr-o scenă ajunge dintr-un loc în altul. Vizibilitatea este o componentă majoră a transportului ușor.

Proiecție

Proiecție în perspectivă

Obiectele tridimensionale umbrite trebuie aplatizate, astfel încât dispozitivul de afișare - și anume un monitor - să îl poată afișa în doar două dimensiuni, acest proces se numește proiecție 3D . Acest lucru se face folosind proiecția și, pentru majoritatea aplicațiilor, proiecția în perspectivă . Ideea de bază din spatele proiecției de perspectivă este că obiectele care sunt mai departe sunt făcute mai mici în raport cu cele care sunt mai aproape de ochi. Programele produc perspectivă înmulțind o constantă de dilatație ridicată la puterea negativului distanței de la observator. O constantă de dilatație a unuia înseamnă că nu există perspectivă. Constantele mari de dilatație pot provoca un efect „ochi de pește” în care începe să apară distorsiunea imaginii. Proiecția ortografică este utilizată în principal în aplicații CAD sau CAM unde modelarea științifică necesită măsurători precise și păstrarea celei de-a treia dimensiuni.

Motoare de randare

Motoarele de randare se pot uni sau pot fi integrate cu software-ul de modelare 3D, dar există și software independent. Unele motoare de redare sunt compatibile cu mai multe software-uri 3D, în timp ce altele sunt exclusive pentru unul.


Vezi si

Note și referințe

  1. ^ Badler, Norman I. "Seria de prelegeri de modelare a obiectelor 3D" ( PDF ) . Universitatea din Carolina de Nord la Chapel Hill .
  2. ^ "Redare non-fotorealistă" . Universitatea Duke . Adus 23-07-2018 .
  3. ^ "Știința randării 3D" . Institutul de Arheologie Digitală . Adus 2019-01-19 .
  4. ^ Christensen, Per H .; Jarosz, Wojciech. „Calea către filme trasate pe cale” ( PDF ) .
  5. ^ "Fundamentele redării - Funcții de reflecție" ( PDF ) . Universitatea de Stat din Ohio .
  6. ^ Cuvântul shader este uneori folosit și pentru programele care descriuvariația geometrică locală.
  7. ^ „Bump Mapping” . web.cs.wpi.edu . Adus 23-07-2018 .

linkuri externe