Nivelul detaliilor

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În grafica pe computer , contabilitatea nivelului de detaliu [1] [2] [3] prevede scăderea complexității în reprezentarea unui model 3D care se îndepărtează de vizualizator sau în funcție de alți parametri precum importanța, punctul de vedere și relativul viteza și poziția. Tehnicile de nivel de detaliu cresc eficiența redării prin scăderea volumului de lucru în conductele grafice , de obicei cu transformări de vârf . Reducerea calității vizuale a modelului este adesea neobservată, deoarece apare atunci când modelul se mișcă rapid sau este îndepărtat.

Deși de cele mai multe ori LOD este aplicat doar detaliilor geometriei , conceptul de bază poate fi generalizat. Recent, tehnicile LOD includ și gestionarea shader- urilor ( gestionarea umbrelor ), pentru a menține complexitatea pixelilor sub control. O formă de straturi pentru manipulare a fost aplicată hărților de textură de ani de zile, sub denumirea de mipmapping , oferind o calitate și mai mare.

Este un lucru obișnuit să spunem că „un obiect a fost încărcat” atunci când obiectul este simplificat prin sublinierea argumentului de încărcare ( algoritmul LOD-ing ).

Referințe istorice

Originea tuturor algoritmilor de grafică computerizată 3D poate fi urmărită de un articol al lui James H. Clark în numărul din octombrie 1976 al Comunicărilor ACM . La acea vreme, computerele erau monolitice și rare, grafica era condusă de cercetători. Hardware-ul a fost complet diferit, atât din punct de vedere arhitectural, cât și ca performanță. Ca atare, se pot observa multe diferențe în comparație cu algoritmii de astăzi, dar și multe puncte comune.

Algoritmul original prezintă o abordare mult mai generică a ceea ce va fi discutat aici. După introducerea unor algoritmi disponibili pentru gestionarea geometriei, se afirmă că cele mai fructuoase câștiguri au provenit din „... structurarea mediilor când sunt redate”, ceea ce vă permite să profitați de transformări și operațiuni de decupare mai rapide.

Aceeași structurare a mediului este propusă acum ca o modalitate de a controla variația detaliilor, evitând astfel calculele învechite, dar oferind o calitate vizuală adecvată:

Algoritmul propus imaginează o structură de date arborescentă care codifică în ramurile sale atât transformări, cât și tranziții către obiecte mai detaliate. În acest fel, fiecare nod codifică un obiect și, conform unei date euristice rapide, arborele coboară de-a lungul frunzelor, fiecare ducând la un obiect mai detaliat. Când se atinge o frunză, pot fi utilizate alte metode atunci când sunt necesare detalii mai mari, cum ar fi subdiviziunea recursivă Catmull .

Se introduce apoi tăierea (nu trebuie confundată cu eliminarea (computerului, chiar dacă acestea sunt adesea similare), diverse considerații în stabilirea lucrării grafice și impactul acesteia asupra performanței, interacțiunile dintre algoritmul propus și celelalte pentru a îmbunătăți viteza redarea . Cititorii interesați sunt încurajați să verifice referințele pentru mai multe detalii.

Abordări bine cunoscute

Deși algoritmul introdus mai sus acoperă o gamă întreagă de nivel de tehnici de gestionare a detaliilor, aplicațiile din lumea reală utilizează de obicei metode diferite adaptate informațiilor redate. Datorită apariției obiectelor considerate, sunt utilizate două familii principale de algoritmi. [4]

Primul se bazează pe subdivizarea spațiului într-un număr infinit de regiuni, fiecare cu un anumit nivel de detaliu. Rezultatul este un număr corect de niveluri de detaliu, numite după LOD discret (DLOD). La acest nivel nu există nicio modalitate de a sprijini o tranziție între nivelurile LOD, deși amestecarea alfa sau morfarea pot fi utilizate pentru a evita poppingul vizual.

Al doilea algoritm consideră ochiurile de poligon care sunt redate ca o funcție care trebuie evaluată prin solicitarea de a evita erorile excesive care sunt o eroare a unor euristici (de obicei distanța) în sine. Funcția „mesh” este evaluată continuu și se produce o versiune optimizată în funcție de un schimb între calitatea vizuală și performanță. Aceste tipuri de algoritmi sunt denumite de obicei LOD continuu (CLOD).

Detalii nu LOD Discrete

Un exemplu de diverse game DLOD. Zonele mai întunecate sunt redate cu detalii ridicate. O altă operațiune de tăiere este efectuată, eliminând toate informațiile în afara zonelor colorate ale conului trunchiat.

Conceptul de bază al DLOC este de a furniza diverse modele pentru a reprezenta același obiect. Obținerea acestor modele necesită un algoritm decât adesea nu este banal și face obiectul multor tehnici de reducere a poligonului ( tehnici de reducere a poligonului ). Algoritmii ulteriori de LOD-ing vor presupune pur și simplu aceste modele ca variabile.

Algoritmii DLOD sunt adesea utilizați în aplicații cu performanță intensă, cu seturi de date mici, care pot fi stocate cu ușurință. Deși pot fi folosiți algoritmi în afara nucleului , granularitatea informațiilor nu este utilă în aceste tipuri de aplicații. Acest tip de algoritm este de obicei simplu de pornit și de funcționat, oferind atât performanțe mai bune, cât și o utilizare mai redusă a procesorului, datorită mai puține calcule de efectuat.

Metodele DLOD sunt adesea folosite pentru obiecte solitare , inclusiv metode complexe de animație. Se utilizează o abordare diferită geomipmapping , un algoritm popular de redare a terenului , deoarece aplică ochiuri pe teren care sunt grafice și topologic diferite de rețeaua „obiect”. În loc să calculeze o eroare și să simplifice ochiurile pe baza acesteia, geomipmapping-ul folosește o metodă de reducere pentru a rezolva eroarea: aceasta este detectată și se calculează distanța la care eroarea este acceptabilă. Deși liniar, algoritmul oferă o performanță decentă.

Un exemplu decent de LOD

De exemplu, să luăm în considerare o sferă. O abordare LOD discretă poate genera un număr de modele care trebuie utilizate la distanțe diferite. Deoarece modelul poate fi generat în mod trivial prin formularea sa matematică, utilizarea unui număr diferit de puncte simple distribuite pe suprafață este suficientă pentru a genera numeroasele modele necesare. Acesta nu este un algoritm LOD-ing.

Impact vizual și măsurători
Imagine O sferă de sârmă cu sârmă fină, cu peste 5000 de puncte de eșantionare. O sferă de sârmă extrem de tassellată, aproape 2900 de puncte. O sferă de sârmă cu aproximativ 1600 de puncte de eșantionare. O sferă de sârmă cu aproape 700 de vârfuri, bună când este privită de la distanță. O sferă de sârmă cu mai puțin de 150 de puncte de eșantionare, dar încă suficientă pentru obiecte îndepărtate.
Vârfuri ~ 5500 ~ 2880 ~ 1580 ~ 670 140
Notă Nivel maxim de detalii, datorită proximității. Detaliu minim,

obiecte foarte îndepărtate.

Pentru a simula un scenariu de graniță realist, poate fi utilizată o aplicație ad-hoc. Utilizarea algoritmilor simpli și fragmentarea minimă a operațiilor asigură faptul că limitarea procesorului nu se întâmplă. Pentru fiecare cadru, programul calculează distanța fiecărei sfere și alege un model dintr-un grup pe baza informațiilor sale. Pentru a arăta mai ușor conceptul, distanța la care este utilizat fiecare obiect este codată în sursă. O metodă mai antrenantă poate fi calcularea modelelor adecvate pe baza utilizării distanței alese.

OpenGL este utilizat pentru redare datorită eficienței sale ridicate în gestionarea loturilor mici, păstrând fiecare model într-o listă de afișaj care evită comunicarea excesivă. Un vârf suplimentar este încărcat prin aplicarea a două surse de lumină în două direcții, situate în mod ideal departe la infinit.

Tabelul următor compară performanța LOD sensibilizată și o metodă completă de detaliere (forța brută).

Măsurarea și impactul vizual
Brută DLOD Comparaţie
Imagine redată Scena la detalii maxime. Aceeași scenă ca mai sus cu cazare activată. Imaginea de diferență aproape neagră nu arată nicio diferență ușor de observat.
Redă timpul
27,27 ms 1,29 ms 21 × reducere
Vârfuri în scenă
2.328.480 109,440 21 × reducere

LOD ierarhic

Deoarece hardware-ul este orientat către o cantitate mare de detalii, redarea obiectelor cu câțiva poligoane ( poli redus ) poate face performanța aproape optimă. Acest lucru permite o eficiență mai mare și să profite de considerațiile de proximitate.

Aplicații practice

Jocuri video

LOD este utilizat pe scară largă în jocurile video 3D. Dezvoltatorii doresc să ofere jucătorilor o lume mai largă, dar sunt întotdeauna împiedicați de hardware, rate de cadre și natura în timp real a graficii video. Odată cu apariția jocurilor video 3D în anii 1990, multe jocuri video pur și simplu nu redau structuri și obiecte îndepărtate. Doar obiectele din apropiere au putut fi redate și părțile mai îndepărtate au fost eliminate treptat, implementând o ceață la distanță . Jocurile care utilizează redarea LOD evită acest efect de ceață și pot reda zone mai mari. Câteva exemple notabile de redare LOD în jocurile 3D includ Spyro the Dragon , Crash Bandicoot: Warped , Unreal Tournament și motorul de joc Serious Sam .

Nivelul de detaliu în GIS și modelarea orașelor 3D

LOD este utilizat în modelele de oraș GIS și 3D ca un concept similar. Acesta indică modul în care funcțiile lumii reale au fost mapate și cât de strâns modelul aderă la omologul lumii reale. În plus față de complexitatea geometrică, pe lângă complexitatea geometrică, alte valori cum ar fi coerența spațială-semantică, rezoluția texturii și atributele pot fi luate în considerare în LOD-ul unui model. [5] CityGML standard conține una dintre cele mai promițătoare categorizări LOD. [6]

Analogia „LOD-ing” în GIS este denumită o generalizare .

Software de modelare și redare

  • MeshLab este un instrument de procesare a plaselor care poate simplifica cu precizie ochiurile 3D poligonale.
  • Polygon Cruncher este un software comercial creat de Mootools care reduce numărul de poligoane ale unui obiect fără a-și schimba aspectul.
  • Simplygon este un pachet de procesare a rețelei pentru re-spălarea intrărilor generale de rețea în timp real pentru rețelele redabile .
  • Vizup este un software pentru optimizarea unui model 3D și pentru reducerea poligoanelor folosind SDK pentru a reduce dimensiunea modelului și a crește viteza de redare , păstrând în același timp calitatea vizualizării.
  • Reducător rațional
  • Pro Optimizer
  • GPure este un software comercial dezvoltat de DeltaCAD care adaptează DMU pentru tablete și afișaje pentru smartphone-uri.

Notă

Alte proiecte

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT