Redarea 3D este procesul de conversie a modelelor 3D în imagini 2D pe un computer . Randările 3D pot include efecte fotorealiste sau stiluri non-fotorealiste.
Redarea este procesul final de creare a unei imagini 2D reale sau a unei animații dintr-o scenă pregătită. Acest lucru poate fi comparat cu realizarea unei fotografii sau filmarea unei scene după finalizarea configurării în viața reală [1] . Au fost dezvoltate mai multe modalități de imagistică diferite și adesea specializate . Acestea variază de la randarea wireframe evident nerealistă, prin redarea bazată pe poligoane, până la tehnici mai avansate, cum ar fi randarea liniei de scanare, trasarea razelor și altele. Redarea poate dura de la fracțiuni de secundă la câteva zile pentru o singură imagine/cadru. În general, diferite metode sunt mai potrivite atât pentru redarea fotorealistă, cât și pentru redarea în timp real [2] .
Redarea pentru medii interactive, cum ar fi jocuri și simulări, este calculată și redată în timp real la aproximativ 20 până la 120 de cadre pe secundă. Cu randarea în timp real, scopul este de a afișa cât mai multe informații pe care ochiul le poate procesa într-o fracțiune de secundă (de exemplu, „într-un cadru”: în cazul unei animații de 30 fps, un cadru se întinde pe o 30 de o secunda).
Scopul principal este de a atinge un grad cât mai mare de fotorealism la o viteză de redare minimă acceptabilă (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 modului în care ochiul „percepe” lumea și, ca urmare, imaginea finală prezentată nu este neapărat o imagine a lumii reale, ci suficient de apropiată de ochiul uman pentru a o tolera.
Software-ul de randare poate simula efecte vizuale, cum ar fi erupții ale lentilelor, adâncimea câmpului sau estomparea mișcării. Acestea sunt încercări de a simula fenomene vizuale rezultate din caracteristicile optice ale camerelor foto și ale ochiului uman. Aceste efecte pot adăuga un element de realism unei scene, chiar dacă efectul este doar o imitație a artefactului camerei. Aceasta este metoda principală folosită în jocuri, lumi interactive și VRML.
Creșterea rapidă a puterii de procesare a computerului a făcut posibilă atingerea unor grade tot mai mari de realism chiar și pentru randarea în timp real, inclusiv tehnici precum randarea HDR. Redarea în timp real este adesea poligonală și este susținută de GPU -ul computerului [3] .
Animația pentru medii non-interactive, cum ar fi lungmetraje și videoclipuri, poate dura mult mai mult [4] . Redarea în timp nu real vă permite să utilizați puterea de procesare limitată pentru a obține o calitate mai bună a imaginii. Timpul de randare pentru cadre individuale poate varia de la câteva secunde la câteva zile pentru scene complexe. Cadrele redate sunt stocate pe un hard disk și apoi transferate pe alte suporturi, cum ar fi filmul sau discul optic. Aceste cadre sunt apoi redate secvenţial la o rată de cadre ridicată, de obicei 24, 25 sau 30 de cadre pe secundă (fps), pentru a realiza iluzia de mişcare.
Când scopul este fotorealismul, sunt utilizate metode precum trasarea razelor, trasarea căii, maparea fotonilor sau emisia de raze. Aceasta este metoda principală utilizată în mediile digitale și lucrări de artă. Au fost dezvoltate metode cu scopul de a simula alte efecte naturale, cum ar fi interacțiunea luminii cu diverse forme de materie. Exemple de astfel de metode 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 de către suprafețe de refracție neuniforme, cum ar fi ondulații luminoase văzute pe fundul unei piscine) și împrăștiere subterană (pentru a simula reflectarea luminii în volumele obiectelor solide, cum ar fi pielea umană).
Procesul de vizualizare este costisitor din punct de vedere computațional, având în vedere varietatea complexă a proceselor fizice care sunt modelate. Puterea de procesare a computerului a crescut rapid de-a lungul anilor, permițând creșterea treptată a gradului de realism. Studiourile de film care creează animații pe computer folosesc de obicei o fermă de randare pentru a crea imagini în timp util. Cu toate acestea, costul în scădere al hardware-ului înseamnă că este pe deplin posibil să creați o cantitate mică de animație 3D pe un computer de acasă. Ieșirea de redare este adesea folosită ca doar o mică parte a unei scene complete de film. Multe straturi de material pot fi redate separat și integrate în imaginea finală folosind software-ul de compoziție.
Modelele de reflexie/împrăștiere și umbrire sunt folosite pentru a descrie aspectul unei suprafețe. În timp ce aceste întrebări pot părea probleme în sine, ele sunt studiate aproape exclusiv în contextul vizualizării. Grafica computerizată 3D modernă se bazează în mare măsură pe un model de reflexie simplificat numit model de reflexie Phong (a nu fi confundat cu umbrirea Phong). În refracția luminii, un concept important este indicele de refracție; majoritatea implementărilor de programare 3D folosesc termenul „indice de refracție” (de obicei scurtat la IOR) pentru această valoare.
Umbrirea poate fi împărțită în două tehnici distincte care sunt adesea studiate independent una de cealaltă:
Algoritmii populari de umbrire a suprafeței în grafica computerizată 3D includ:
Reflecția sau împrăștierea este relația dintre iluminarea de intrare și de ieșire la un punct dat. Descrierile de împrăștiere sunt de obicei date în termenii funcției de distribuție a împrăștierii bidirecționale sau BSDF [5] .
Umbrirea se referă la modul în care diferitele tipuri de împrăștiere sunt distribuite pe o suprafață (adică, ce funcție de împrăștiere este aplicată unde). Descrierile de acest fel sunt de obicei exprimate folosind un program numit shader [6] . Un exemplu simplu de umbrire este maparea texturii, care folosește o imagine pentru a difuza culoarea în fiecare punct de pe o suprafață, făcând-o mai vizibilă. Unele tehnici de umbrire includ:
Transportul descrie modul în care iluminarea într-o scenă se deplasează dintr-un loc în altul. Vizibilitatea este componenta principală a transportului ușor.
Obiectele 3D umbrite trebuie aplatizate astfel încât dispozitivul de afișare - și anume monitorul - să le poată afișa doar în două dimensiuni, proces numit proiecție 3D. Acest lucru se realizează folosind proiecția și, pentru majoritatea aplicațiilor, proiecția în perspectivă. Ideea de bază din spatele proiecției în perspectivă este că obiectele mai îndepărtate devin mai mici în comparație cu obiectele mai aproape de ochi. Programele produc perspectivă prin înmulțirea constantei de expansiune ridicată la puterea distanței negative față de observator. O constantă de expansiune de unu înseamnă că nu există perspectivă. Constantele mari de expansiune pot provoca un efect de ochi de pește, unde începe să apară distorsiunea imaginii. Proiecția ortografică este utilizată în primul rând în aplicațiile CAD sau CAM în care modelarea științifică necesită măsurători precise și păstrarea celei de-a treia dimensiuni.