Umbrire celuloidă

Cel shading , sau anglicismes cel-shading și toon-shading , modelul de iluminare este un non- fotorealist utilizat în sinteza imaginii. Vă permite să creați imagini cu aspect de   „ desene animate ”.

Grafic, redarea se caracterizează prin contururi marcate și o paletă de culori redusă, ca în desenele animate tradiționale, de unde și referirea la celuloizi. Termenul "desene animate" este, de asemenea, adesea folosit pentru a desemna această tehnică. Expresiile faciale ale personajelor sunt în general exagerate pentru a însoți stilul de desene animate, dar aceasta nu este o cerință.

În cazul jocului XIII , utilizarea umbririi celuloidului este atribuită redării „benzi desenate” sau „desen animat”.

Revelația comercială a acestei tehnici a venit la Sega , odată cu jocul Jet Set Radio lansat în 2000 . Unii ar atribui invenția acestei tehnici jocului Super Mario World 2: Yoshi's Island , de la Nintendo , datorită ecranului de pornire care reprezintă o insulă în 3D și ale cărui elemente variate sunt înconjurate de un contur negru puternic, care poate fi pus la îndoială având în vedere că restul jocului este în 2D, în timp ce această tehnică este strâns legată de iluminarea dinamică a obiectelor 3D. Mai târziu, Crackdown din Realtime Worlds aduce o încrucișare între realitate și desen animat. Scopul acestei tehnici este de a obține o redare diferită, dar, de asemenea, uneori de a salva puterea de procesare a texturilor, care apoi sunt adesea absente.

Astăzi, cel-shading este, de asemenea, un stil de desen digital inspirat chiar de animație.

Tehnici de umbrire celuloidă pentru 3D în timp real

Există diferite metode pentru obținerea umbririi celuloidului 3D în timp real. Unele dintre aceste metode utilizează funcțiile de bază găsite pe toate plăcile grafice , în timp ce altele folosesc extensii disponibile numai pe cardurile recente, cum ar fi pixel shaders . Toate aceste metode au în comun adăugarea a două efecte: trasarea contururilor modelului 3D și pragul umbrelor (adică înlocuirea umbrelor degradate de o succesiune de niveluri de gri). Acest mod de redare, deși reduce realismul, este, prin urmare, mai intensiv în resurse (atât CPU, cât și GPU ) decât un afișaj de bază, deoarece obiectele trebuie redate în mai multe etape.

Exemplu de umbrire celuloidă în trei pași: contururi, textură de bază, apoi prag de umbră.

Exemplu de umbrire celuloidă în trei pași: contururi, textură de bază, apoi prag de umbră.

Desen de contur

Există două moduri de a desena contururile unui obiect 3D. Primul este să afișați numai contururile fețelor din spate ale obiectului sub formă de linii negre groase. Afișarea fețelor din spate este gestionată de placa grafică, prin simpla inversare a tăierii feței din spate („calculul celor văzute și ascunse”, o funcție de optimizare care permite desenarea doar a fețelor frontale ale unui obiect într-o redare. Normal 3D). Când acest pas este finalizat, obiectul trebuie să fie redis afișat în mod normal, astfel încât fețele posterioare afișate anterior să iasă în evidență ca contururi. Această metodă are avantajul de a fi simplă de implementat, dar dezavantajul său major este că oferă iluzia că contururile cresc mai mari atunci când obiectul se îndepărtează. În realitate, grosimea liniilor rămâne constantă.

Urmărirea conturului se poate face și folosind două obiecte 3D aproape identice: obiectul în sine și plicul său (care nu poate fi creat prin simpla mărire a primului). Contururile sunt apoi obținute prin afișarea fețelor din spate ale plicului, în negru, apoi prin afișarea obiectului. Deoarece plicul este puțin mai mare decât obiectul, este vizibil în jurul marginilor sale. Această metodă, utilizată în jocul XIII , creează contururi mai precise decât cea anterioară, fără mărire cu distanță, dar necesită mai multă memorie pentru a stoca obiectul și plicul acestuia.

Prag de umbră

În acest pas, fețele frontale ale obiectului sunt afișate fără a fi supuse iluminării, ceea ce elimină umbrele și conferă texturii obiectului luminozitate maximă. Această textură trebuie să aibă două straturi: primul conține textura obiectului; al doilea conține nivelurile de gri care permit pragul umbrelor. Acest al doilea strat este semi-transparent, deci este suprapus pe textura originală a obiectului. Coordonatele texturii primului strat sunt fixe, în timp ce coordonatele celui de-al doilea strat sunt recalculate cu fiecare cadru. Pentru fiecare vârf al obiectului, coordonata celei de-a doua texturi depinde de unghiul format de vectorul normal la vârf și vectorul luminii. Dacă unghiul este de 180 °, atunci vârful este luminat de o rază care vine din față, așa că vom plasa coordonata texturii pentru acest vârf pe un nivel maxim de gri: alb (deci transparent). Dacă unghiul este egal cu 90 °, atunci lumina „pășune”, fără niciun efect asupra obiectului, vom așeza deci coordonata texturii pe negru. Între aceste două extreme apar apoi diferitele niveluri de gri care produc efectul de umbră prag.

Shadow map.png Exemplu de textură utilizată pentru a crea umbre.

Această metodă utilizează o textură la mai multe niveluri, care presupune prezența pe placa grafică a unei extensii adecvate (cum ar fi GL_ARB_multitexture în OpenGL ). Este posibil să ocoliți această extensie afișând obiectul în două etape: mai întâi obiectul cu textura sa, apoi același obiect, dar numai cu textura nivelurilor de gri (semitransparente). Dezavantajul este că împărțirea în două treceri mărește timpul de calcul.

Utilizarea umbrelor de pixeli

Pe plăcile grafice recente și suficient de puternice, umbrele de pixeli pot fi utilizate pentru umbrirea celuloidului. Dacă utilizarea lor eliberează procesorul de anumite calcule (a se vedea metodele anterioare), este totuși lacom în resursele GPU . Într-adevăr, pragul și desenarea contururilor necesită calcule pentru fiecare pixel al imaginii, în timp ce metodele fără umbrere funcționează doar pe vârfurile obiectului, mult mai puțin numeroase. Pragul umbrelor este realizat de un fragment de umbră . Luminozitatea fiecărui fragment (pixel) depinde de unghiul dintre lumină și normal în punctul considerat.

Jocuri caracteristice

Filme

seriale TV

Note și referințe

  1. „  umbrire celuloidă  ” , Le Grand Dictionnaire terminologique , Office québécois de la langue française (accesat la 7 iunie 2020 ) .

linkuri externe