Contacte

Ce este randamentul? Redare, metode și programe. Randare distribuită Ce este pre-rendarea

02oct

Ce este Render (Rarea)

Render (Rădare) este procesul de creare a unei imagini finale sau a unei secvențe de imagini din date bidimensionale sau tridimensionale. Acest proces are loc folosind programe de calculator și este adesea însoțit de calcule tehnice dificile care cad pe puterea de calcul a computerului sau pe componentele sale individuale.

Procesul de randare este prezent într-un fel sau altul în diverse domenii de activitate profesională, fie că este vorba despre industria filmului, industria jocurilor video sau blogging-ul video. Adesea, redarea este ultima sau penultima etapă în lucrul la un proiect, după care lucrarea este considerată finalizată sau necesită puțină post-procesare. De asemenea, este de remarcat faptul că deseori randarea nu este procesul de redare în sine, ci mai degrabă etapa deja finalizată a acestui proces sau rezultatul final al acestuia.

cuvintele „Renda”.

Cuvântul Render (Rădare) este Anglicismul, care este adesea tradus în rusă cu cuvântul „ Vizualizarea”.

Ce este randarea 3D?

Cel mai adesea, când vorbim despre randare, ne referim la randare în grafică 3D. Merită remarcat imediat că, de fapt, în randarea 3D nu există trei dimensiuni ca atare, pe care le putem vedea adesea în cinema purtând ochelari speciali. Prefixul „3D” din nume ne spune mai degrabă despre metoda de creare a unei randări, care utilizează obiecte tridimensionale create în programe de calculator pentru modelarea 3D. Pur și simplu, până la urmă obținem în continuare o imagine 2D sau o secvență a acestora (video) care a fost creată (redată) pe baza unui model sau a unei scene tridimensionale.

Redarea este una dintre cele mai dificile etape din punct de vedere tehnic în lucrul cu grafica 3D. Pentru a explica această operațiune într-un limbaj simplu, putem da o analogie cu munca fotografilor. Pentru ca o fotografie să apară în toată splendoarea ei, fotograful trebuie să treacă prin câteva etape tehnice, de exemplu, dezvoltarea filmului sau imprimarea pe o imprimantă. Artiștii 3D sunt împovărați cu aproximativ aceleași etape tehnice, care, pentru a crea imaginea finală, parcurg etapa de configurare a randării și procesul de randare în sine.

Construcția imaginii.

După cum am menționat mai devreme, redarea este una dintre cele mai dificile etape tehnice, deoarece în timpul redării există calcule matematice complexe efectuate de motorul de randare. În această etapă, motorul traduce datele matematice despre scenă în imaginea finală 2D. Procesul convertește geometria 3D, texturile și datele de iluminare ale scenei în informațiile combinate ale valorii culorii fiecărui pixel dintr-o imagine 2D. Cu alte cuvinte, motorul, pe baza datelor de care dispune, calculează ce culoare trebuie colorat fiecare pixel al imaginii pentru a obține o imagine complexă, frumoasă și completă.

Principalele tipuri de randare:

La nivel global, există două tipuri principale de randare, ale căror principale diferențe sunt viteza cu care imaginea este calculată și finalizată, precum și calitatea imaginii.

Ce este redarea în timp real?

Redarea în timp real este adesea folosită pe scară largă în jocuri și grafica interactivă, unde imaginea trebuie redată cât mai repede posibil și afișată în forma sa finală pe ecranul monitorului instantaneu.

Întrucât factorul cheie în acest tip de randare este interactivitatea din partea utilizatorului, imaginea trebuie redată fără întârziere și aproape în timp real, deoarece este imposibil de prezis cu exactitate comportamentul jucătorului și modul în care va interacționa cu acesta. joc sau scenă interactivă. Pentru ca o scenă sau un joc interactiv să ruleze fără smucituri și încetineală, motorul 3D trebuie să redeze imaginea la o viteză de cel puțin 20-25 de cadre pe secundă. Dacă viteza de redare este sub 20 de cadre, utilizatorul va simți disconfort din scenă, observând smucituri și mișcări lente.

Procesul de optimizare joacă un rol important în crearea unei randări fluide în jocuri și scene interactive. Pentru a atinge viteza de randare dorită, dezvoltatorii folosesc diverse trucuri pentru a reduce sarcina motorului de randare, încercând să reducă numărul forțat de greșeli de calcul. Aceasta include reducerea calității modelelor și texturilor 3D, precum și înregistrarea unor informații despre lumină și relief în hărți de texturi precoperte. De asemenea, merită remarcat faptul că partea principală a sarcinii atunci când se calculează randarea în timp real cade pe echipamente grafice specializate (placă video - GPU), ceea ce vă permite să reduceți sarcina pe unitatea centrală de procesare (CPU) și să eliberați calculul acesteia. putere pentru alte sarcini.

Ce este Pre-Render?

Pre-rendarea este utilizată atunci când viteza nu este o prioritate și nu este nevoie de interactivitate. Acest tip de randare este cel mai des folosit în industria filmului, în lucrul cu animații și efecte vizuale complexe, precum și acolo unde este nevoie de fotorealism și de o calitate foarte ridicată a imaginii.

Spre deosebire de randarea în timp real, în care sarcina principală a căzut pe plăcile grafice (GPU) În pre-rendare, sarcina cade pe unitatea centrală de procesare (CPU), iar viteza de randare depinde de numărul de nuclee, multi-threading și procesor. performanţă.

Se întâmplă adesea ca timpul de randare pentru un cadru să dureze câteva ore sau chiar câteva zile. În acest caz, artiștii 3D practic nu au nevoie să recurgă la optimizare și pot folosi modele 3D de cea mai înaltă calitate, precum și hărți de textură cu rezoluție foarte mare. Ca rezultat, imaginea se dovedește mult mai bună și mai foto-realistă în comparație cu randarea în timp real.

Programe de randare.

Acum, pe piață există un număr mare de motoare de randare, care diferă ca viteză, calitate a imaginii și ușurință în utilizare.

De regulă, motoarele de randare sunt încorporate în programe mari de grafică 3D și au un potențial enorm. Printre cele mai populare programe (pachete) 3D există software precum:

  • 3ds Max;
  • Maya;
  • Blender;
  • Cinema 4d si etc.

Multe dintre aceste pachete 3D au motoare de randare deja incluse. De exemplu, motorul de randare Mental Ray este prezent în pachetul 3Ds Max. De asemenea, aproape orice motor de randare popular poate fi conectat la cele mai cunoscute pachete 3D. Printre motoarele de randare populare se numără următoarele:

  • raze V;
  • raza mentală;
  • Redare Corona si etc.

Aș dori să observ că, deși procesul de randare are calcule matematice foarte complexe, dezvoltatorii de programe de randare 3D încearcă în toate modurile posibile să salveze artiștii 3D de la lucrul cu matematica complexă care stau la baza programului de randare. Ei încearcă să ofere setări de randare parametrice relativ ușor de înțeles, precum și seturi și biblioteci de materiale și lumini.

Multe motoare de randare și-au găsit faimă în anumite domenii ale lucrului cu grafica 3D. De exemplu, „V-ray” este foarte popular în rândul vizualizatorilor de arhitectură, datorită disponibilității unui număr mare de materiale pentru vizualizarea arhitecturală și, în general, a calității bune a randării.

Metode de vizualizare.

Majoritatea motoarelor de randare folosesc trei metode principale de calcul. Fiecare dintre ele are atât avantajele, cât și dezavantajele sale, dar toate cele trei metode au dreptul de a fi folosite în anumite situații.

1. Scanline (scanline).

Randamentul Scanline este alegerea celor care acordă prioritate vitezei în detrimentul calității. Datorită vitezei sale, acest tip de randare este adesea folosit în jocuri video și scene interactive, precum și în ferestrele diferitelor pachete 3D. Cu un adaptor video modern, acest tip de randare poate produce o imagine stabilă și netedă în timp real, cu o frecvență de 30 de cadre pe secundă și mai mare.

Algoritm de lucru:

În loc să redeze „pixel cu pixel”, algoritmul redării „scanline” este că determină suprafața vizibilă în grafica 3D și, lucrând pe principiul „rând cu rând”, mai întâi sortează poligoanele necesare pentru randare după Y cel mai înalt. coordonată, care aparține unui poligon dat, după care fiecare rând al imaginii este calculat prin intersectarea rândului cu poligonul care este cel mai apropiat de cameră. Poligoanele care nu mai sunt vizibile sunt eliminate pe măsură ce treceți de la un rând la altul.

Avantajul acestui algoritm este că nu este nevoie să transferați coordonatele fiecărui vârf din memoria principală în memoria de lucru, iar coordonatele acelor vârfuri care se încadrează în zona de vizibilitate și randare sunt translate.

2. Raytrace (raytrace).

Acest tip de randare este creat pentru cei care doresc să obțină o imagine cu cea mai înaltă calitate și randare detaliată. Redarea de acest tip special este foarte populară printre fanii fotorealismului și merită remarcat faptul că nu este fără motiv. Destul de des, cu ajutorul randării ray trace, putem vedea fotografii uimitor de realiste ale naturii și arhitecturii, pe care nu toată lumea le poate distinge de fotografii, în plus, metoda ray trace este adesea folosită atunci când lucrați la grafică în trailere sau filme CG;

Din păcate, de dragul calității, acest algoritm de randare este foarte lent și nu poate fi folosit încă în grafica în timp real.

Algoritm de lucru:

Ideea algoritmului Raytrace este că pentru fiecare pixel de pe un ecran convențional, una sau mai multe raze sunt urmărite de la cameră până la cel mai apropiat obiect tridimensional. Fasciculul de lumină călătorește apoi printr-un anumit număr de sărituri, care pot include reflexii sau refracții în funcție de materialele scenei. Culoarea fiecărui pixel este calculată algoritmic pe baza interacțiunii razei de lumină cu obiectele din calea trasată.

Metoda Raycasting.

Algoritmul funcționează pe baza „aruncării” de raze ca din ochiul observatorului, prin fiecare pixel al ecranului și găsirea celui mai apropiat obiect care blochează calea unei astfel de raze. Folosind proprietățile obiectului, materialul acestuia și iluminarea scenei, obținem culoarea pixelului dorită.

Se întâmplă adesea ca „metoda de urmărire a razei” (raytrace) să fie confundată cu metoda „turnării cu raze”. Dar, de fapt, „raycasting” (metoda de aruncare a unei raze) este de fapt o metodă simplificată de „raytrace”, în care nu există o prelucrare ulterioară a razelor rătăcite sau rupte și se calculează doar prima suprafață din calea razei. .

3. Radiozitate.

În loc de metoda „ray tracing”, redarea în această metodă funcționează independent de cameră și este orientată pe obiecte, spre deosebire de metoda „pixel cu pixel”. Funcția principală a „radiozității” este de a simula cu mai multă acuratețe culoarea suprafeței, ținând cont de iluminarea indirectă (saritura luminii împrăștiate).

Avantajele „radiozității” sunt umbrele gradate și reflexele de culoare pe un obiect care provin de la obiecte învecinate cu culori strălucitoare.

Este o practică destul de populară să folosești Radiosity și Raytrace împreună pentru a obține randări cele mai impresionante și fotorealiste.

Ce este redarea video?

Uneori, expresia „redare” este folosită nu numai atunci când lucrați cu grafică pe computer 3D, ci și atunci când lucrați cu fișiere video. Procesul de redare video începe atunci când utilizatorul editorului video a terminat de lucrat la fișierul video, a stabilit toți parametrii de care are nevoie, piste audio și efecte vizuale. Practic, tot ce mai rămâne este să combinăm tot ce am făcut într-un singur fișier video. Acest proces poate fi comparat cu munca unui programator atunci când a scris codul, după care tot ce rămâne este să compilați tot codul într-un program de lucru.

La fel ca un designer 3D sau un editor video, procesul de randare are loc automat și fără intervenția utilizatorului. Tot ceea ce este necesar este să setați niște parametri înainte de a începe.

Viteza de redare video depinde de lungimea și calitatea cerută de ieșire. Practic, cea mai mare parte a calculului cade pe puterea procesorului central, prin urmare, viteza de redare video depinde de performanța acestuia.

Categorii: , // din

În continuarea programului educațional de grafică pe computer atât pentru programatori, cât și pentru artiști, vreau să vorbesc despre ce este acesta redare. Întrebarea nu este atât de complicată pe cât pare, sub tăietură este o explicație detaliată și accesibilă!

Am început să scriu articole care sunt educative pentru un dezvoltator de jocuri. Și se grăbea, scriind un articol despre asta fără să spună ce este randarea. Prin urmare, acest articol va fi un prequel la introducerea în shaders și un punct de plecare în programul nostru educațional.

Ce este randarea? (pentru programatori)

Așadar, Wikipedia oferă următoarea definiție: Redare (redare în engleză - „vizualizare”) este un termen din grafica computerizată care se referă la procesul de obținere a unei imagini dintr-un model folosind un program de calculator.

Definiție destul de bună, să continuăm cu ea. Redarea este vizualizare. În grafica computerizată, artiștii și programatorii 3D înțeleg randarea ca fiind crearea unei imagini plate - o imagine raster digitală dintr-o scenă 3D.
Adică, un răspuns informal la întrebarea noastră „Ce este redarea?” — aceasta înseamnă obținerea unei imagini 2D (pe ecran sau într-un fișier, nu contează). Iar programul de calculator care produce randare se numește redator sau renderer.

Face

La rândul său, cuvântul „renda” se referă cel mai adesea la rezultatul redării. Dar, uneori, procesul se numește același (doar că verbul în engleză - render - a fost transferat în rusă, este mai scurt și mai convenabil). Probabil că ați întâlnit pe internet diverse imagini cu legenda „Ghicește randarea sau fotografia?” Aceasta înseamnă vizualizare 3D sau fotografie reală (grafica pe computer a avansat atât de mult încât uneori nu poți să-ți dai seama).

Tipuri de randare

În funcție de posibilitatea de a efectua calcule paralele, există:

  • randare multi-threaded - calculele sunt efectuate în paralel în mai multe fire, pe mai multe nuclee de procesor,
  • randare cu un singur fir - în acest caz, calculele sunt efectuate într-un singur fir sincron.

Există mulți algoritmi de randare, dar toți pot fi împărțiți în două grupuri pe baza principiului producției de imagini: rasterizarea modelelor 3D și ray tracing. Ambele metode sunt folosite în jocurile video. Dar trasarea razelor este mai des folosită nu pentru a obține imagini în timp real, ci pentru a pregăti așa-numitele hărți luminoase - hărți luminoase care sunt precalculate în timpul dezvoltării, iar apoi rezultatele precalculului sunt utilizate în timpul execuției.

Care este esența metodelor? Cum funcționează rasterizarea și ray tracing? Să începem cu rasterizarea.

Rasterizarea unui model poligonal

Scena este formată din modele amplasate pe ea. La rândul său, fiecare model este format din primitive.
Acestea pot fi puncte, segmente, triunghiuri și alte elemente primitive, cum ar fi quad-urile, de exemplu. Dar dacă redăm nu puncte sau segmente, orice primitive se transformă în triunghiuri.

Sarcina rasterizatorului (programul care realizează rasterizarea) este să obțină pixelii imaginii rezultate din aceste primitive. Rasterizarea în ceea ce privește conducta grafică are loc după shaderul de vârf și înainte de shaderul de fragment ().

*poate că următorul articol va fi analiza pipeline-ului grafic pe care l-am promis, scrieți în comentarii dacă este nevoie de o astfel de analiză, voi fi încântat și util să știu câte persoane sunt interesate de toate acestea. Am făcut o pagină separată unde există o listă de subiecte discutate și viitoare -

În cazul unui segment, trebuie să obțineți pixelii liniei care leagă două puncte, în cazul unui triunghi, pixelii care se află în interiorul acestuia. Pentru prima problemă se folosește algoritmul Bresenham pentru a doua, se poate folosi algoritmul de baleiaj cu linii drepte sau de verificare a coordonatelor baricentrice.

Un model de caracter complex este format din triunghiuri minuscule, iar rasterizatorul generează o imagine complet fiabilă din acesta. Atunci de ce să te deranjezi cu ray tracing? De ce să nu rasterizezi totul? Dar ideea este aceasta: rasterizatorul își cunoaște doar munca de rutină, triunghiurile sunt convertite în pixeli. Nu știe nimic despre obiectele din apropierea triunghiului.

Aceasta înseamnă că nu este capabil să ia în considerare toate procesele fizice care au loc în lumea reală. Aceste procese afectează direct imaginea. Reflecții, reflexii, umbre, împrăștiere subterană și așa mai departe! Totul fără de care vom vedea doar modele din plastic în vid...
Și jucătorii vor graphonia! Jucătorii au nevoie de fotorealism!

Iar programatorii de grafică trebuie să inventeze diverse tehnici pentru a atinge apropierea de fotorealism. Pentru a face acest lucru, programele de umbrire folosesc texturi în care sunt precalculate diferite date de lumină, reflexie, umbre și împrăștiere subterană.

Ray tracing, pe de altă parte, vă permite să calculați aceste date, dar cu prețul unui timp de calcul mai mare care nu poate fi făcut în timpul execuției. Să ne uităm la ce este această metodă.

Ray tracing trasarea razelor)

Îți amintești dualitatea undă-particulă? Permiteți-mi să vă reamintesc de esență: lumina se comportă atât ca unde, cât și ca un flux de particule - fotoni. Deci trasare (din engleză „trace” pentru a urmări calea), aceasta este o simulare a razelor de lumină, aproximativ vorbind. Dar urmărirea fiecărei raze de lumină dintr-o scenă este nepractică și durează un timp inacceptabil de lung.

Ne vom limita la un număr relativ mic și vom urmări razele în direcțiile de care avem nevoie.
Ce direcții avem nevoie? Trebuie să stabilim ce culori vor avea pixelii în imaginea rezultată. Adică știm numărul de raze, este egal cu numărul de pixeli din imagine.

Dar direcția? Este simplu, vom urmări razele în conformitate cu punctul de observație (modul în care este direcționată camera noastră virtuală). Fasciculul se va întâlni la un moment dat cu un obiect din scenă (dacă nu se întâlnește, înseamnă că există un pixel întunecat sau un pixel al cerului din skybox, de exemplu).

La întâlnirea cu un obiect, fasciculul nu se oprește din răspândire, ci este împărțit în trei fascicule componente, fiecare dintre acestea contribuind la culoarea pixelului pe un ecran bidimensional: reflectat, umbră și refractat. Numărul acestor componente determină adâncimea trasării și afectează calitatea și fotorealismul imaginii. Datorită caracteristicilor sale conceptuale, metoda permite obținerea de imagini foarte fotorealiste, însă, datorită intensității ridicate a resurselor, procesul de vizualizare durează considerabil.

Rendering pentru artiști

Dar randarea nu este doar vizualizare software! O folosesc și artiștii pricepuți. Deci, ce este redarea din punctul de vedere al unui artist? Aproximativ la fel ca și pentru programatori, doar artiștii de concept o fac singuri. Cu mâinile tale. La fel ca un renderer într-un joc video sau cu raze V în Maya, artiștii iau în considerare iluminarea, împrăștierea sub suprafață, ceața și alți factori care afectează culoarea finală a suprafeței.

De exemplu, imaginea de mai sus este elaborată pas cu pas în acest fel: Schiță brută - Linie - Culoare - Volum - Materiale de randare.

Materialele de redare includ texturarea, prelucrarea luminilor - metalele, de exemplu, sunt cel mai adesea suprafețe foarte netede, care au evidențieri clare pe margini. Pe lângă toate acestea, artiștii se confruntă cu rasterizarea graficii vectoriale, care este aproximativ aceeași cu rasterizarea unui model 3D.

Rasterizare grafică vectorială

Esența este aproximativ aceeași, există date de curbe 2D, acestea sunt contururile care definesc obiectele. Avem o imagine raster finală, iar rasterizatorul convertește datele curbei în pixeli. După aceasta, nu avem nicio modalitate de a scala imaginea fără a pierde calitatea.

Citește mai departe

  • - o explicație simplă a nuanțelor complexe și înfricoșătoare
  • — O prezentare utilă a particulelor și o selecție de tutoriale video despre crearea de efecte speciale în Unity3d

Postfaţă

În acest articol, sper că ați învățat atât de multe litere, v-ați făcut o idee despre ce este randarea, ce tipuri de randare există. Dacă aveți întrebări, nu ezitați să le întrebați în comentarii, vă voi răspunde cu siguranță. Aș fi recunoscător pentru clarificări și indicații ale oricăror inexactități și erori.

Redarea este etapa finală a procesării scenelor obținute ca urmare a vizualizării 3D. Există două etape principale ale acestui proces - în timp real, utilizat în principal în jocurile pe calculator, și pre-rendarea. El a fost cel care a găsit aplicație în afaceri. În primul caz, viteza de calcul este de o importanță mai mare doar dacă această condiție este îndeplinită, calitatea imaginilor va rămâne ridicată. La pre-rendare, prioritatea este realismul desenului.

Pre-redare

Pentru a efectua acest tip de randare se folosește un software special. Durata procesării depinde de complexitatea acesteia. Procesul constă în aplicarea luminii și a umbrelor pe care le creează, adăugarea de culoare și alte efecte. Sarcina principală a modelatorilor este să se asigure că rezultatul este extrem de veridic, pentru care este necesar să se navigheze într-una dintre cele mai complexe ramuri ale fizicii - optica. Redarea corect executată este deosebit de importantă în modelarea 3D a interioarelor - trebuie să calculați cu exactitate cum va arăta camera în lumină naturală și artificială, selectați nuanțe de mobilier și alte nuanțe. Metode de bază de prelucrare finală în proiectarea volumetrică:


Se obișnuiește să se folosească o combinație de mai multe metode, care reduce costurile cu resursele și asigură calitatea necesară.

Caracteristici de randare

Va dura mult timp pentru a aduce schița preliminară la perfecțiune - timpul de procesare a imaginilor complexe pe un computer poate ajunge la câteva ore. În această perioadă se întâmplă următoarele:

  • colorare;
  • detalierea elementelor mici;
  • dezvoltarea efectelor de iluminare - reflexii ale fluxurilor, umbrelor și altele;
  • afișarea condițiilor climatice;
  • implementarea altor detalii pentru a spori realismul.

Complexitatea prelucrării afectează formarea prețului vizualizării 3D, cu cât este nevoie de mai mult timp, cu atât va costa munca la proiect. Ori de câte ori este posibil, modelatorii simplifică procesul de randare, de exemplu, calculând momentele individuale sau folosind alte instrumente pentru a reduce timpul de randare fără a compromite calitatea acestuia.

Grafica pe computer este plină de surprize, motiv pentru care ne oferă atât de des posibilitatea de a ne familiariza cu termeni noi. Cei care nu au folosit niciodată astfel de programe este puțin probabil să vă poată spune ce este randarea și pentru ce este nevoie. Vom încerca să rezolvăm asta.

Definiție

Este interesant că nu există practic nimic pe Internet pentru această solicitare exactă. Mulți oameni se scarpină în cap în căutarea unei interpretări a „render”. În realitate, totul se dovedește a fi mai simplu. Există un astfel de proces în grafica computerizată precum randarea. Programul care efectuează acest proces se numește renderer. Când luați în considerare un astfel de software, trebuie să înțelegeți ce fel de acțiune este și unde este utilizat.

Proces

Deci, randarea este un proces încăpător care transformă imaginea conform modelului datorită programului. Cuvântul este tradus din engleză ca „vizualizare”. Cuvântul „model” nu înseamnă neapărat ceva tangibil. Aici putem vorbi atât despre obiecte, cât și despre fenomene. În general, interpretările pot oferi informații geometrice și geografice. Se poate referi la iluminare, prezența pieselor, substanțelor și puterea câmpului fizic.

Grafică pe computer

Când sunt întrebați, ele înseamnă de obicei redare. Acest proces este adesea asociat în mod specific cu grafica computerizată. În acest caz, vizualizarea se desfășoară conform unui plan dovedit. O imagine plată pentru o scenă 3D este formată în format raster.

Vizualizarea în sine este considerată importantă în acest domeniu. Este conectat condiționat cu diferite secțiuni de grafică pe computer. Acum este greu de spus că există o aplicație specifică de randare. De obicei, vizualizarea este inclusă atât în ​​pachetul de modelare 3D, cât și de animație. Deși puteți încerca să găsiți randări.

Metode

Odată ce știm ce este randarea, trebuie să înțelegem funcțiile acesteia. Evident, poate ajuta la vizualizare. Dar procesul în sine poate avea loc în moduri diferite. Există mulți algoritmi pentru această acțiune. Unele programe folosesc unul în mod specific, altele folosesc mai multe simultan.

A fost urmărită crearea unui număr de metode de randare. Afișarea tuturor razelor de lumină care luminează o scenă este nepractică. Este nevoie de prea mult timp dacă nu se ia în considerare aproximarea sau digitizarea.

O metodă este rasterizarea. Funcționează împreună cu scanarea liniilor. În acest caz, obiectele sunt proiectate pe ecran. Iar efectul perspectivei nu este luat în considerare.

Metoda raycasting implică vizualizarea dintr-un punct specificat. Din aceasta, razele sunt trimise la obiecte și se determină culoarea pixelului. Dacă fasciculul ajunge la un obiect sau fundal, nu se propagă mai departe. Această metodă permite modalități simple de utilizare a efectelor optice.

Încă două metode sunt trasarea razelor sau trasarea căii. Prima opțiune este similară cu cea anterioară. Dar când fasciculul lovește un obiect, acesta se extinde și mai mult. Deci mai apar trei raze. Toată lumea contribuie la culoarea unui pixel într-un mod specific. Așa apar reflexia, umbra și refracția. Această metodă face imaginea fotorealistă, deși este considerată consumatoare de resurse. Trasarea căii este similară cu metoda descrisă mai sus. Singura diferență este că legile fizice ale propagării luminii sunt exprimate mai clar.

Cum functioneazã?

Dacă înțelegeți ce este redarea în general, atunci cel mai probabil vă va fi dificil să înțelegeți baza matematică a procesului. Pentru ca randarea să funcționeze corect, trebuie implementată folosind un model fizic. Programul efectuează calcule. Dar pot exista mai multe ecuații, precum și soluții. Am văzut deja acest lucru când descriem metodele de vizualizare.

Setări

Setările de randare pot varia foarte mult. Totul depinde de sarcinile și abilitățile utilizatorului. De exemplu, puteți crea o randare brută rapidă. Pentru a face acest lucru, va trebui să descărcați suplimentar scriptul. Echipa va ajusta automat setările programului de fiecare dată, astfel încât vizualizarea să fie aspră, adică la o calitate acceptabilă.

Setările de randare pot indica modul în care sunt randate modelele. De exemplu, pentru Photoshop puteți căuta un set de astfel de setări. Pe baza lor, își creează proprii parametri sau, după ce îi ajustează ușor, îi folosesc pe cei stabiliți.

Programe

Render VRay este un întreg sistem de vizualizare. A apărut în 2000. Poate fi instalat ca un plugin pentru o serie de programe. Printre acestea din urmă se numără Cinema 4D, Rhino și Autodesk 3ds Max. Acest sistem poate fi folosit ca modul pentru Blender.

Render 3D Max sau Autodesk 3ds Max este un program multifuncțional care nu numai că realizează vizualizare, ci și creează și editează grafice tridimensionale. De asemenea, gestionează cu ușurință animația. În acest moment este foarte popular deoarece a dobândit multe funcții diferite pentru lucrul cu imagini 3D. Are multe instrumente pentru artiști și cei care lucrează cu multimedia.

Vegas Pro

Acesta este un program complet pentru editarea și editarea videoclipurilor, precum și înregistrarea cu mai multe piste. Este dificil să consideri Vegas un renderer, deși există și aici o astfel de funcție. Pentru a transforma proiectul într-un fișier terminat, trebuie să faceți clic pe Render As, în noua fereastră dați numele videoclipului și selectați extensia Video for Windows, mai jos va apărea o linie cu o alegere de șabloane de parametri. Aici căutăm =NTSC DV. După aceea, va trebui să așteptați până când programul colectează și salvează videoclipul.

Poate că proiectul dvs. poate avea nevoie de un alt șablon, apoi puteți face clic pe Personalizat și puteți selecta o opțiune mai potrivită într-o fereastră nouă. Aici puteți seta calitatea videoclipului redat. Mai jos există o filă „Video”, pe care toți parametrii sunt setați individual pentru fiecare utilizator.

Redarea duce adesea la erori la ieșirea video. Dacă doriți să vă implicați serios, va trebui să studiați procesul, tehnologia și metodele în detaliu pentru a reduce și mai mult erorile la minimum.

Mulți oameni au adesea întrebări despre îmbunătățirea calității vizuale a randărilor în 3ds Max și reducerea timpului petrecut cu acestea. Principalele sfaturi care pot fi date pentru a răspunde la această întrebare se referă la optimizarea geometriei, materialelor și texturilor.

1. Optimizarea geometriei modelelor 3D
În timpul procesului de modelare, este necesar să se respecte numărul minim posibil de poligoane, deoarece dacă modelul conține multe poligoane inutile, aceasta implică o creștere a timpului de redare.

Evitați greșelile în geometria modelului, cum ar fi marginile deschise, poligoane suprapuse. Încercați să păstrați modelele cât mai curate posibil.

2. Cum ar trebui să fie texturile? Dimensiunea texturii ar trebui să se potrivească cu dimensiunea modelului în randarea finală. De exemplu, dacă ați descărcat o textură undeva cu o rezoluție de 3000 x 3000 pixeli, iar modelul pe care îl aplicați este în fundalul scenei sau are o scară foarte mică, atunci redarea va fi supraîncărcată cu o rezoluție excesivă a texturii .

Aruncă o privire la acest exemplu de randare:

Trebuie reținut că pentru a spori realismul, hărțile trebuie adăugate materialelor Cucui(Nereguli) și Specular(Reflecții în oglindă), deoarece în realitate fiecare obiect are relief și reflectivitate. Crearea unor astfel de hărți dintr-o textură originală nu va fi o problemă - cunoștințele superficiale sunt suficiente Adobe Photoshop.

Iluminare corectă

Un punct extrem de important. Încercați întotdeauna să utilizați sisteme de iluminare fizice care sunt aproape de viața reală, cum ar fi Sistemul de lumină de zi și VRay SunȘi Cer, HDRI și folosiți cele fotometrice cu profile IES ca surse de lumină în interioare. Acest lucru va adăuga realism scenei, deoarece în acest caz vor fi utilizați algoritmi reali pentru calcularea informațiilor luminoase în timpul redării.

Nu uitați de corecția gamma a imaginilor! Cu o gama de 2,2, culorile vor apărea corect în 3ds Max. Cu toate acestea, le puteți vedea astfel doar dacă monitorul este calibrat corespunzător.



4. Scara scenei
Pentru a obține randări de calitate decentă, scara unităților de măsură din scenă este de o importanță enormă. Cel mai adesea lucrăm în centimetri. Acest lucru nu numai că vă permite să creați modele mai precise, dar vă ajută și la calculele de iluminare și reflexie.

5. Setări de vizualizare
Dacă lucrați cu VRay, atunci pentru a netezi marginile imaginii este recomandat să utilizați DMC adaptiv. Cu toate acestea, pentru cele mai bune rezultate în scene cu multe detalii și multe reflexii neclare, este mai bine să utilizați Fix- funcționează cel mai bine cu acest tip de imagine. Este recomandabil să setați numărul de subdiviziuni la cel puțin 4 și, de preferință, 6.
Pentru a calcula iluminarea indirectă (Iluminare indirectă), utilizați linkul Harta de iradiere + Light Cache. Acest tandem vă permite să calculați rapid iluminarea în scenă, dar dacă doriți mai multe detalii, puteți activa opțiunea Îmbunătățirea detaliilor(Detaliu îmbunătățit) în setările Hartă de iradiere și activați în Light Cache Pre-filtru(Prefiltrare). În acest fel puteți reduce zgomotul din imagine.
O bună calitate a umbrei poate fi obținută prin setarea numărului de subdiviziuni în setările sursei de lumină VRay la 15-25. În plus, utilizați întotdeauna o cameră VRay fizică, care vă oferă control complet asupra modului în care este prezentată lumina în scenă.
Și pentru control complet asupra balansului de alb, încercați să lucrați pe scala de temperatură Kelvin. Pentru referință, iată un tabel de temperaturi care va fi util de utilizat atunci când lucrați în 3ds Max (valorile mai mici înseamnă tonuri mai calde/mai roșii, în timp ce valorile mai mari dau tonuri mai reci/albastre):
Scala de temperatură de culoare Kelvin pentru cele mai comune surse de lumină

  • Lumânare aprinsă - 1900K
  • Lămpi cu halogen - 3200K
  • Lămpi de inundație și lumină de modelare - 3400K
  • Răsărit - 4000K
  • Lumină fluorescentă (alb rece) - 4500K
  • Lumina zilei - 5500K
  • Blițul camerei - 5500K
  • Lumină studio - 5500K
  • Lumina de pe ecranul unui monitor de computer - 5500-6500K
  • Lampă fluorescentă - 6500K
  • Umbră deschisă (termen din fotografie) - 8000K
Corectarea culorilor palide în 3ds Max la gamma 2.2
Când utilizați gama 2.2 în Autodesk 3ds Max, se observă imediat că culorile materialelor din Editorul de materiale arată prea strălucitoare și plictisitoare în comparație cu prezentarea gama obișnuită 1.0. Și dacă trebuie neapărat să observați valorile de culoare pe scara RGB în scenă, să spunem că într-o lecție sunt deja date valorile de culoare sau clientul și-a furnizat mostrele de obiecte în culorile date, apoi în 2.2 gamma vor arăta incorect. Corectarea culorilor RGB în gama 2.2 Pentru a obține nivelul corect de luminozitate al unei culori, trebuie să-i reatribuiți valorile RGB folosind o ecuație simplă: culoare_nouă=255*((culoare_veche/255)^2.2). Ecuația afirmă că pentru a obține o nouă valoare a culorii în gama 2.2 RGB, trebuie să împărțiți vechea valoare RGB la valoarea de alb (255), să ridicați totul la puterea de 2.2 și apoi să înmulțiți valoarea rezultată cu valoarea albului (255). Dacă matematica nu este treaba ta, nu dispera - 3ds Max va face calculul pentru tine, deoarece are încorporat un calculator de evaluare a expresiilor numerice. Rezultatul unei expresii (funcție matematică) returnează o anumită valoare. Valoarea rezultată poate fi apoi inserată în orice câmp al programului, fie că este vorba despre parametrii pentru crearea unui nou obiect, transformarea acestuia, setarea modificatorilor, materialele. Să încercăm să calculăm culoarea în gama 2.2 în practică. În interiorul setărilor de material, faceți clic pe câmpul de culoare pentru a afișa fereastra Selector de culori. După ce ați selectat o culoare, plasați cursorul mouse-ului în câmpul Canal roșu și apăsați Ctrl+N pe tastatură pentru a afișa Evaluatorul de expresii numerice. Scrieți următoarea formulă în interiorul acesteia, înlocuind valoarea veche a culorii în canalul Roșu. Câmpul Rezultat afișează soluția ecuației. Faceți clic pe butonul Lipire pentru a lipi noua valoare în locul celei vechi în canalul roșu. Faceți acest lucru cu canalele de culoare Verde și Albastru. Cu valorile RGB corectate, culorile vor arăta corect atât în ​​ferestrele de proiecție, cât și în randare. Lucrul cu culorile folosind schema CMYK Nu trebuie să vă ocupați întotdeauna doar de RGB. Uneori există culori de imprimare CMYK care trebuie convertite în RGB, deoarece 3ds Max acceptă doar. Puteți, desigur, să lansați Adobe Photoshop și să traduceți valorile din acesta, dar există o modalitate mai convenabilă. A fost creat un nou tip de selector de culori pentru 3ds Max - Cool Picker, care vă permite să vedeți valorile culorilor în toate schemele de culori posibile direct în Max. Descărcați pluginul Cool Picker de aici pentru versiunea dvs. de 3ds Max. Se instalează foarte simplu: fișierul în sine cu extensia dlu trebuie plasat în folderul 3ds Max\plugins. Îl puteți activa accesând Personalizare > Preferințe > fila General > Selector de culoare: Cool Picker. Astfel, va înlocui selectorul de culoare standard. Ai întrebări? Cere

Începutul formei

Folosind gamma 2.2 în 3ds max + V-Ray în practică

După partea teoretică despre setarea gamma în V-Ray și 3ds max, trecem direct la practică.

Mulți utilizatori 3ds max, în special cei care se confruntă cu vizualizarea interioară, observă că atunci când setează o iluminare corectă din punct de vedere fizic, anumite locuri din scenă sunt încă întunecate, deși de fapt totul ar trebui să fie bine luminat. Acest lucru este vizibil în special în colțurile geometriei și pe partea umbră a obiectelor.

Toată lumea a încercat să rezolve această problemă în moduri diferite. Utilizatorii 3ds max începători au încercat mai întâi să corecteze acest lucru prin simpla creștere a luminozității surselor de lumină.

Această abordare aduce anumite rezultate, iluminarea generală a scenei crește. Cu toate acestea, duce și la supraexpunerea nedorită cauzată de aceste surse de lumină. Acest lucru nu schimbă situația cu o imagine nerealistă în bine. O problemă legată de întuneric (în locuri cu lumină greu accesibilă) este înlocuită cu o altă problemă de supraexpunere (în apropierea surselor de lumină).

Unii oameni au venit cu modalități mai complexe de a „rezolva” problema prin adăugarea de lumini suplimentare scenei, făcându-le invizibile pentru cameră pentru a ilumina pur și simplu zonele întunecate. În același timp, nu mai este nevoie să vorbim despre vreun realism și acuratețe fizică a imaginii. În paralel cu iluminarea locurilor întunecate, umbrele au dispărut și părea că obiectele din scenă plutesc în aer.

Toate metodele de mai sus de a face față întunericului neplauzibil sunt prea simple și evidente, dar ineficiente.

Esența problemei cu redările întunecate este că valorile gama ale imaginii și ale monitorului sunt diferite.

Ce este gama?
Gamma este gradul de neliniaritate în tranziția culorii de la valorile întunecate la cele luminoase. Din punct de vedere matematic, valoarea gamma liniară este 1.0, motiv pentru care programe precum 3ds max, V-Ray etc. efectuează calcule în gama 1.0 implicit. Dar o valoare gamma de 1,0 este compatibilă doar cu un monitor „ideal”, care are o dependență liniară a tranziției culorii de la alb la negru. Dar, deoarece astfel de monitoare nu există în natură, gama reală este neliniară.

Valoarea gama pentru standardul video NTSC este 2,2. Pentru afișajele computerului, valoarea gamma este de obicei între 1,5 și 2,0. Dar pentru comoditate, neliniaritatea tranziției de culoare pe toate ecranele este considerată egală cu 2,2.

Când un monitor cu o gama 2.2 afișează o imagine a cărei gamma este 1.0, vedem culori închise în gama 1.0 în loc de culorile luminoase așteptate în gama 2.2. Prin urmare, culorile din gama medie (Zona 2) devin mai închise atunci când se vizualizează o imagine gamma 1.0 pe un dispozitiv de ieșire gamma 2.2. Cu toate acestea, în intervalul întunecat (Zona 1), reprezentările gamma 1.0 și 2.2 sunt foarte asemănătoare, permițând redarea corectă a umbrelor și negrelor.

În zonele cu tonuri deschise (Zona 3) există și multe asemănări. Prin urmare, o imagine luminoasă cu o gamma de 1,0 va fi afișată destul de corect și pe un monitor cu o gamma de 2,2.

Și astfel, pentru a obține o ieșire gamma corespunzătoare de 2,2, gama imaginii originale trebuie schimbată. Desigur, acest lucru se poate face și în Photoshop ajustând gama acolo. Dar această metodă cu greu poate fi numită convenabilă atunci când modificați setările imaginii de fiecare dată, le salvați pe hard disk și le editați într-un editor raster... Din acest motiv, nu vom lua în considerare această opțiune și, în plus, această metodă are dezavantaje și mai semnificative. Instrumentele moderne de randare, cum ar fi V-Ray, calculează imaginea în mod adaptiv, astfel încât acuratețea calculului depinde de mulți parametri, inclusiv de luminozitatea luminii într-o anumită zonă. Astfel, în locurile cu umbre, V-Ray calculează iluminarea imaginii mai puțin precis, iar astfel de locuri devin zgomotoase. Și în zonele luminoase și clar vizibile ale imaginii, calculele de vizualizare sunt efectuate cu o precizie mai mare și cu un minim de artefacte. Acest lucru permite o randare mai rapidă, economisind timp în zonele subtile ale imaginii. Creșterea gamma a imaginii de ieșire în Photoshop modifică luminozitatea părților imaginii pe care V-Ray le-a considerat mai puțin semnificative și a scăzut calitatea calculelor lor. În acest fel, toate artefactele nedorite devin vizibile, iar imaginea arată pur și simplu groaznică, dar mai strălucitoare decât înainte, se va schimba și gama de texturi, vor arăta decolorate și incolore.

Singura cale corectă de ieșire din această situație este schimbarea valorii gamma în care funcționează redarea V-Ray. În acest fel, veți obține o luminozitate acceptabilă în tonurile medii, unde nu vor exista artefacte atât de evidente.

Lecția va arăta cum se reglează gamma în vizualizatorul V-Ray și 3ds max.

Pentru a schimba gama cu care va funcționa V-Ray, trebuie doar să găsiți fila drop-down V-Ray: Maparea culorilor, care se află în fila V-Ray, care, la rândul său, se află în fereastră Redați scena(F10) și setați valoarea Gamma:în 2.2.

Particularitatea V-Ray este că corecția gama a afișajului color funcționează numai în V-Ray Frame Buffer, așa că dacă doriți să vedeți rezultatele manipulărilor dvs. gamma, trebuie să activați memoria tampon. V-Ray: Frame Buffer pe fila V-Ray.

După aceasta, redarea va avea loc cu gama 2.2 de care avem nevoie, cu tonuri medii iluminate normal. Există un alt dezavantaj, și anume că texturile folosite în scenă vor apărea mai ușoare, vor fi decolorate și estompate.

Aproape toate texturile pe care le folosim arată bine pe monitor, deoarece sunt deja reglate de monitorul însuși și au inițial un gamma 2.2. Pentru ca rendererul V-Ray să configureze gama 2.2 și să nu înmulțească gama imaginii cu valoarea gama din randament (2.2 * 2.2), texturile trebuie să fie la gamma 1.0. Apoi, după ce sunt corectate de către vizualizator, gama lor va deveni egală cu 2,2.

Puteți întuneca toate texturile schimbându-le gama de la 2.2 la 1.0 în Photoshop, cu așteptarea de a le lumina în continuare cu vizualizatorul. Cu toate acestea, această metodă ar fi foarte plictisitoare și ar necesita timp și răbdare pentru a se asigura că toate texturile din scenă sunt în gama 1.0 și, în al doilea rând, ar face imposibilă vizualizarea texturilor în gama normală, deoarece acestea ar fi întunecate toate timp.

Pentru a evita acest lucru, ne vom asigura pur și simplu că sunt configurate la intrarea 3ds max. Din fericire, 3ds max vine cu o mulțime de setări gamma. Setările Gamma sunt disponibile din meniul principal 3ds max:

Personalizare > Preferințe ...> Gamma și LUT-uri

Setările gamma principale pentru 3ds max se află în fila Gamma și LUT. Mai exact, vom avea nevoie de o setare de corecție a texturii de intrare numită Gama de intrare. Nu trebuie să fim induși în eroare de faptul că valoarea implicită acolo este 1.0. Aceasta nu este o valoare de corecție, ci valoarea gamma texturii de intrare. În mod implicit, se presupune că toate texturile sunt setate la 1.0 gamma, dar de fapt, așa cum am menționat mai devreme, acestea sunt setate la 2.2 gamma. Și asta înseamnă că trebuie să specificăm o valoare gamma de 2,2, în loc de 1,0.

Nu uitați să bifați caseta Activați corecția Gamma/LUT pentru a accesa setările gamma.

Imaginile realizate în gama corectă arată mult mai bine și mai precise decât cele obținute folosind setările descrise la începutul articolului. Au semitonuri corecte, nu există supraexpuneri luminoase în apropierea surselor de lumină și nu există artefacte în zonele neluminate ale imaginii. În acest fel texturile vor fi, de asemenea, bogate și luminoase.

Se pare că asta este, dar la sfârșitul lecției aș dori să vorbesc despre încă un lucru despre lucrul cu gamma. Deoarece vizualizatorul V-Ray funcționează într-o gama neobișnuită, trebuie să setați modul de afișare gamma 3ds max la 2.2, astfel încât culorile să fie în Editor de materialeȘi Selector de culoare au fost afișate corect. În caz contrar, poate deveni confuz atunci când materialele sunt setate la 1.0 gamma, dar sunt de fapt convertite la 2.2 gamma în cadrul programului.

Pentru a seta afișarea corectă a materialelor în editorul de materiale 3ds max, ar trebui să utilizați setările din fila Gamma și LUT. Pentru a face acest lucru, valoarea gamma trebuie setată la 2,2 în secțiunea Afișare și trebuie bifate Selectorii de culoare afectează și Editorul de materiale afectate din secțiunea Materiale și culori.

Gamma 2.2 a devenit deja standardul atunci când lucrați cu 3ds max și V-Ray. Sper că acest material te va ajuta în munca ta!



Ți-a plăcut articolul? Împărtășește-l