Redare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
O redare grafică virtuală a camerei II a Muzeelor ​​Castello Sforzesco din Milano , unde este ilustrată configurarea efectuată de BBPR-uri pentru reorganizarea lor.
O imagine redată cu POV-Ray

În grafica computerizată , redarea (lit. „restituirea grafică ”) identifică procesul de redare, sau mai bine zis generarea unei imagini pornind de la o descriere matematică a unei scene tridimensionale, interpretată de algoritmi care definesc culoarea fiecărui punct al digitalului. imagine .

În sens extins (în desen ), indică o operație care vizează producerea unei reprezentări de calitate a unui obiect sau a unei arhitecturi (proiectată sau supravegheată).

Descriere

Este una dintre cele mai importante teme ale graficii computerizate tridimensionale și, în practică, este întotdeauna în raport cu toate celelalte. Ca parte a procesului de generare a graficii, este ultima etapă importantă și oferă aspectul final modelului și animației. Odată cu îmbunătățirea crescândă a graficii pe computer începând din 1970 , a devenit obiectul unor studii și cercetări din ce în ce mai specifice.

Se folosește pentru: editare video , jocuri pe computer, simulatoare, efecte vizuale pentru filme și seriale TV, vizualizarea proiectelor. Fiecare cu o combinație diferită de caracteristici și tehnici.

Un număr mare de motoare de redare sunt disponibile comercial, unele dintre ele integrate în cele mai populare pachete de modelare și animație 3D, unele independente, altele distribuite ca proiecte open source .

Un renderer este un program bazat pe o combinație selectată de metode legate de: optică , percepție vizuală, matematică și inginerie software .

În cazul graficelor tridimensionale, redarea este un proces lent și necesită un număr mare de procesare de către CPU , sau este asistată în timp real de acceleratorii 3D ai plăcilor grafice (pentru jocurile tridimensionale).

Fenomene

Imaginile pot fi analizate în termenii unei serii de fenomene vizibile. Cercetările și progresele în domeniul redării au fost în mare parte motivate de o încercare de a le simula cu acuratețe și eficiență.

  • umbrire - umbrire; variația culorii și luminozității unei suprafețe în funcție de lumina incidentă
  • mapare texturi - o metodă pentru definirea detaliilor de culoare ale unei suprafețe prin potrivirea acesteia cu o imagine (textură)
  • bump mapping - o metodă de simulare a neregulilor în forma unei suprafețe prin potrivirea acesteia cu o imagine (bump map) care definește o perturbație fictivă a suprafeței, utilizată doar pentru a obține o distorsiune a direcției perpendiculare (normale) folosită în calcule pentru propagarea luminii.
  • cartografiere normală - o metodă similară cartografierii în care imaginea definește direct modul de perturbare a suprafeței normale în acel punct.
  • deplasare-mapare - extrudarea unei suprafețe conform normelor printr-o imagine în tonuri de gri, producând o perturbare reală a formei suprafeței, (de exemplu pentru a crea un munte dintr-o suprafață plană).
  • ceață la distanță - atenuarea și împrăștierea luminii pe măsură ce trece prin aer sau alte mijloace; numai golul este perfect transparent.
  • umbre - tratarea umbrelor aruncate
  • umbre moi - umbre parțiale produse de surse de lumină extinse
  • oglindă - reflecție reflecții sau aproape
  • transparență - transmiterea luminii printr-un obiect
  • refracție - abaterea luminii la trecerea de la un mediu la altul
  • iluminare indirectă și iluminare globală - luați în considerare lumina reflectată de mai multe ori (minimul este o singură reflexie, sursă de lumină -> obiect -> cameră)
  • caustice - acumulare de lumină reflectată sau refractată proiectată în forme caracteristice pe alte obiecte (de exemplu, forma cardioidă a luminii reflectate din interiorul unui cilindru sau formele neregulate care se mișcă pe fundul unei piscine)
  • adâncimea câmpului sau DoF (Adâncimea câmpului) - simularea estompării progresive a obiectelor plasate la o distanță crescândă de suprafața de focalizare (adâncimea câmpului).
  • motion blur - simulare a neclarității obiectelor în mișcare rapidă ca într-o ședință foto.
  • împrăștierea subterană sau SSS - simularea comportamentului luminii care pătrunde într-un obiect realizat din material translucid precum ceara sau pielea umană (împrăștierea subterană).
  • ocluzie ambientală - simularea comportamentului luminii în apropierea volumelor ocluse în care razele de lumină se luptă să intre și să iasă
  • anizotropie - simularea unui material care reflectă lumina diferit pentru fiecare direcție tangentă la punct.

Tehnici

Principalele tipuri de algoritmi pentru rezolvarea problemei sunt:

Aceste abordări pot fi deosebit de intensive din punct de vedere al calculului, deoarece ambele creează un cadru destul de complet pentru tratarea ecuației de redare.

Pentru aplicațiile de sistem în timp real , este de neimaginat să efectuați o procesare completă. Problema este de obicei simplificată cu una dintre următoarele aproximări:

  • Fără iluminare, doar cartografierea texturilor , deoarece culoarea intrinsecă a unui obiect are cea mai mare influență asupra aspectului său.
  • Iluminare directă: se ia în considerare doar lumina care trece de la sursa de lumină la suprafață, nu cea reflectată de alte suprafețe din scenă. Această lumină poate fi luată în considerare cu alte cazuri speciale prin pre-calcul.

Unii dintre principalii algoritmi sunt:

Cei care trebuie să redea cantități mari de imagini (de exemplu, cele ale unei secvențe de film) folosesc o rețea de computere conectate, numită fermă de redare .

Stadiul actual al artei pentru construirea de scene 3D pentru realizarea de filme este limbajul de descriere a scenei RenderMan creat de Pixar . (de comparat cu formate mai simple pentru descrierea unui mediu 3D precum VRML sau API precum DirectX sau OpenGL care profită de accelerarea hardware a plăcilor grafice moderne).

alte motoare de redare populare și puternice:

Utilizare

Când pre-procesarea scenei (de obicei o reprezentare wireframe ) este finalizată, începe faza de redare care adaugă texturi bitmap sau texturi procedurale , lumini, mapare cu bump și poziții în raport cu alte obiecte. Rezultatul este o imagine completă pe care o puteți vedea.

În cazul animațiilor cinematografice, multe imagini (cadre) trebuie desenate și asamblate într-un program capabil să creeze o astfel de animație. Majoritatea programelor de procesare 3D sunt capabile să proceseze aceste imagini.

Baza academică

Multe medii de dezvoltare își propun să creeze imagini fotorealiste , adică cât mai aproape de reproducerea fotografică

Implementarea de redare realiste are întotdeauna ca bază simularea fizicii care stă la baza comportamentului luminii.

Termenul bazat pe fizică indică utilizarea unor modele și aproximări care sunt foarte generale și răspândite pe scară largă în afara mediului de redare. Un anumit set de tehnici au devenit treptat o practică obișnuită în rândul designerilor grafici.

Conceptul de bază este suficient de ușor de înțeles, dar nu poate fi tratat prin simpla calculare; un singur algoritm elegant nu există (în acest moment). Pentru a satisface cererea de robustețe, acuratețe și practic, fiecare implementare utilizează un set de tehnici diferit.

Ecuațiile din spatele redării

Pictogramă lupă mgx2.svg Același subiect în detaliu: ecuația de redare .

Înțeles: într-o anumită poziție și direcție, lumina de ieșire (L o ) este suma luminii emise (L e ) și a luminii reflectate. Lumina reflectată se obține înmulțind: L i (lumina care ajunge din toate direcțiile), prin coeficientul de reflecție (f r ) și prin unghiul de sosire.

Aceasta este cheia conceptului academic-teoretic de redare. Este cea mai abstractă și formală expresie a problemei de redare. Toți cei mai complecși algoritmi pot fi văzuți ca o soluție specială a formulării prezente în această ecuație.

BRDF

BRDF (funcția de distribuție a reflectanței bidirecționale) este un model care exprimă interacțiunea luminii cu o suprafață prin această expresie simplă:

Interacțiunea cu lumina este foarte des aproximată cu modele și mai simple: reflexie difuză și speculară , deși ambele pot urma această formulare.

Optică geometrică

Studiul propagării undelor electromagnetice prin intermediul conceptului unei raze care se propagă rectiliniu, ignorând orice posibil efect de difracție și, prin urmare, natura undelor luminii în sine. Acest lucru face posibilă utilizarea unui model relativ simplu pentru studierea lentilelor, oglinzilor plate, concave și convexe.

Perceptie vizuala

Matematica utilizată în redare include: algebră liniară , calcul numeric , analiză numerică , analiza semnalului digital , metoda Montecarlo

Cronologia ideilor publicate

  • Algoritmul liniei de scanare din 1970 (Bouknight, WJ (1970). O procedură pentru generarea de prezentări tridimensionale de grafică pe computer în jumătate de ton. Comunicări ale ACM )
  • 1971 Gouraud shading (Gouraud, H. (1971). Afișarea pe computer a suprafețelor curbate. IEEE Transactions on Computers 20 (6), 623-629.)
  • 1974 Texture mapping (Catmull, E. (1974). Un algoritm de subdiviziune pentru afișarea computerizată a suprafețelor curbate. Teză de doctorat , Universitatea din Utah.)
  • Z-buffer din 1974 (Catmull, E. (1974). Un algoritm de subdiviziune pentru afișarea computerizată a suprafețelor curbate. Teză de doctorat )
  • 1975 Umbrire Phong (Phong, BT. (1975). Iluminare pentru imagini generate de computer. Comunicări ale ACM 18 (6), 311-316.)
  • 1976 Cartografierea mediului (Blinn, JF Newell, ME (1976). Textura și reflexia în imagini generate de computer. Comunicări ale ACM 19 , 542-546.)
  • 1977 Shadow volumes (Crow, FC (1977). Shadow algorithms for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242–248.)
  • 1978 Shadow buffer (Williams, L. (1978). Aruncarea de umbre curbate pe suprafețe curbate. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 270-274.)
  • 1978 Bump mapping (Blinn, JF (1978). Simularea suprafețelor ridate. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)
  • Arborii BSP din 1980 (Fuchs, H. Kedem, ZM Naylor, BF (1980). Despre generarea suprafeței vizibile prin structuri de arbori a priori. Grafică computerizată (Proceedings of SIGGRAPH 1980) 14 (3), 124-133.)
  • 1980 Ray de urmărire (Whitted, T. (1980). O iluminare îmbunătățită model pentru afișare umbrită. Comunicații ACM 23 (6), 343-349.)
  • 1981 Shader Cook (Cook, RL Torrance, KE (1981). Un model de reflectanță pentru grafica computerizată. Grafică pe computer (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 Mipmaps (Williams, L. (1983). Parametri piramidali. Grafică pe computer (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Octree ray tracing (Glassner, AS (1984). Subdiviziune spațială pentru urmărirea rapidă a razelor. IEEE Computer Graphics & Applications 4 (10), 15-22.)
  • 1984 Alfa compozitie (Porter, T. Duff, T. (1984). Compozitie de imagini digitale. Grafica pe computer (Proceedings of SIGGRAPH 1984) 18 (3), 253–259.)
  • 1984 Tracing cu raze distribuite (Cook, RL Porter, T. Carpenter, L. (1984). Tracing cu raze distribuite. Grafică computerizată (Proceedings of SIGGRAPH (1984) 18 (3), 137-145.)
  • 1984 Radiosity (Goral, C. Torrance, KE Greenberg, DP Battaile, B. (1984). Modelarea interacțiunii luminii între suprafețe difuze. Grafică computerizată (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Hemi-cub radiosity (Cohen, MF Greenberg, DP (1985). Hemi-cub: o soluție de radiosity pentru medii complexe. Grafică pe computer (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)
  • Urmărirea sursei de lumină 1986 (Arvo, J. (1986). Urmărirea razelor înapoi. SIGGRAF 1986 Dezvoltări în notele cursului de urmărire a razelor)
  • Ecuația de redare 1986 (Kajiya, JT (1986). Ecuația de redare. Grafică computerizată (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Algoritmul Reyes (Cook, RL Carpenter, L. Catmull, E. (1987). Arhitectura de redare a imaginii reyes. Grafică pe computer (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Radiositatea ierarhică (Hanrahan, P. Salzman, D. Aupperle, L. (1991). Un algoritm de radiositate ierarhic rapid. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Tone mapping (Tumblin, J. Rushmeier, HE (1993). Reproducerea tonurilor pentru imagini realiste generate de computer. IEEE Computer Graphics & Applications 13 (6), 42-48.)
  • 1993 Împrăștierea subterană (Hanrahan, P. Krueger, W. (1993). Reflecția de la suprafețe stratificate datorită împrăștierii subterane. Grafică computerizată (Proceedings of SIGGRAPH 1993) 27 , 165–174.)
  • 1995 cartografiere Photon (Jensen, HJ Christensen, NJ (1995). Photon maps bidirectional ray carlo monte de urmărire a obiectelor complexe. Computers & Graphics 19 (2), 215-224.)

Pe internet

Exemplu de diferență de redare a efectului CSS3 „border radious” între Internet Explorer 8 și alte browsere [1]

În interiorul unui browser web există un software care interpretează ce se afișează pe baza informațiilor pe care le primește (HTML, CSS, JS ...) numit motor de redare . Fiecare browser are propriul său browser și multe sunt diferite între ele, de exemplu Firefox are Gecko ca motor de redare și Chrome are Webkit . Acesta este motivul pentru care o pagină web nu poate fi vizualizată în același mod de toate browserele. Această diferență în afișarea paginilor a fost observată foarte mult în mai multe ocazii în istoria web:

  • În primele zile ale webului, când eticheta HTML <table> a fost utilizată pentru a construi aspectul site-urilor web, era obișnuit ca diferitele motoare de redare să interpreteze caracteristicile tabelelor într-un mod diferit (înălțime, lățime, alinieri). ..) afectând afișarea corectă a paginilor web.
  • La nașterea CSS, motorul de redare Trident al Internet Explorer 6 și versiunile anterioare a interpretat greșit unele reguli CSS care afectează afișarea corectă a paginilor web. În parte, această problemă a fost rezolvată prin tehnici precum CSS alternativ special pentru Internet Explorer și comentarii condiționale adaptate acestuia [2] . Alte critici aduse lui Trident au fost redarea lentă a paginilor web comparativ cu alte motoare, lipsa suportului pentru transparență în imaginile PNG și GIF [3] [4] .
  • La nașterea HTML5 și CSS3, motorul de redare Webkit a fost primul care a interpretat corect multe dintre noile coduri, al doilea care s-a actualizat din acest punct de vedere a fost Gecko și în cele din urmă Trindent. De câțiva ani, site-urile web care foloseau noile etichete CSS și HTML disponibile au fost vizualizate diferit în funcție de browserul pe care îl folosea utilizatorul [1] . În parte, această problemă a fost rezolvată prin tehnici precum CSS alternativ special pentru Internet Explorer, comentarii condiționate adaptate la aceasta și biblioteci JavaScript precum Modernizr [5] [2] [6] . Mai târziu s-a născut motorul de redare HTML Edge (și a făcut Internet Explorer învechit în favoarea Microsoft Edge ) care l-a înlocuit pe Trident.

Web 3D

Pictogramă lupă mgx2.svg Același subiect în detaliu: Web 3D .

Web 3D este un termen folosit pentru a indica conținut 3D interactiv inserat într-o pagină HTML , care poate fi vizualizat de un browser comun printr-un anumit vizualizator Web 3D. Conceptul de Web 3D este, de asemenea, utilizat pentru a indica o posibilă evoluție a Web-ului în care ideea unei pagini este abandonată și scufundată într-un spațiu interactiv tridimensional. De asemenea, în acest caz, browserele folosesc propriul motor de redare pentru a interpreta reconstituiri 3D (inclusiv interactive).

Cărți și rezumate

  • Foley; Van Dam; Feiner; Hughes (1990). Grafică pe computer: principii și practică . Addison Wesley. ISBN 0-201-12110-7 .
  • Glassner (1995). Principiile sintezei imaginii digitale . Morgan Kaufmann. ISBN 1-55860-276-3 .
  • Dutre; Bala; Bekaert (2002). Iluminare globală avansată . AK Peters. ISBN 1-56881-177-2 .
  • Jensen (2001). Sinteza realistă a imaginilor folosind maparea fotonilor . AK Peters. ISBN 1-56881-147-0 .
  • Shirley; Morley (2003). Realistic Ray Tracing (ediția a doua). AK Peters. ISBN 1-56881-198-5 .
  • Glassner (1989). O introducere în urmărirea razelor . Academic Press. ISBN 0-12-286160-4 .
  • Cohen; Wallace (1993). Radiositate și sinteză realistă a imaginii . AP Professional. ISBN 0-12-178270-0 .
  • Akenine-Moller; Haines (2002). Redare în timp real (ediția a doua). AK Peters. ISBN 1-56881-182-9 .
  • Gooch; Gooch (2001). Redare non-fotorealistă . AKPeters. ISBN 1-56881-133-0 .
  • Strothotte; Schlechtweg (2002). Grafică computerizată non-fotorealistă . Morgan Kaufmann. ISBN 1-55860-787-0 .
  • Blinn (1996). Jim Blinns Corner - A Trip Down The Graphics Pipeline . Morgan Kaufmann. ISBN 1-55860-387-5 .
  • Descrierea sistemului "Radiance" , la radsite.lbl.gov .

Notă

  1. ^ A b (EN) Getting to Grips with HTML5 Browser Compatibility , on Speckyboy Design Magazine, 26 martie 2012. Accesat la 3 februarie 2021.
  2. ^ A b (EN) Comentarii condiționate Internet Explorer - SitePoint pe www.sitepoint.com. Adus la 3 februarie 2021 .
  3. ^ (EN) Kwame Opam, Cel mai urât browser din lume a murit în cele din urmă , pentru The Verge, 8 aprilie 2014. Adus pe 3 februarie 2021.
  4. ^ (RO) David Walsh, 6 motive pentru care IE6 trebuie să moară , David Walsh Blog, 29 august 2007. Accesat la 3 februarie 2021.
  5. ^ Css3 pe Internet Explorer 8? - de astăzi puteți , pe Target Web.it , 8 aprilie 2011. Adus pe 3 februarie 2021 .
  6. ^ Faruk Ateș, Profitând de HTML5 și CSS3 cu Modernizr , în Italian A List Apart , 5 iulie 2010. Accesat la 3 februarie 2021 .

Alte proiecte

Controlul autorității GND ( DE ) 4197032-9