Notiuni de baza
In principiu, toate placile video moderne sunt construite in acelasi mod, inima acestora fiind procesorul, cunoscut si sub numele de Graphic Processing Unit (GPU) sau Visual Processing Unit (VPU) in cazul ATI.
Actualele GPU contin pana la 222 milioane tranzistori. Din aceasta cauza, in vederea realizarii unei raciri eficiente, sunt montate coolere de dimensiuni impresionante pe actualele placi video.
Memoria fizica a placii video are un rol deosebit de important, in aceasta incarcandu-se practic toata gama de functii necesare functionarii.
1. Shader GPU-rile placilor video moderne contin doua tipuri de unitati shader. Vertex Shader este format din mai multe poligoane de obiecte 3D pozitionate in spatiu si care contin efecte de lumina. Pixel Shader determina culoarea si transparenta fiecarui pixel in parte in cadrul unui obiect 3D, in ideea redarii unei imagini cat mai exacte a luminii abstracte.
nVidia foloseste pentru noua generatie de cipuri GF6800 modelul Shader 3.0 (CineFX Engine 3.0), pe cand ATI se bazeaza tot pe specificatiile Shader 2.0 la noile Radeon X800.
Avantajul standardului 3.0 consta in flexibilitatea sa nelimitata. In timp ce Pixel Shader 2.0 poate schimba doar culori standard, predefinite, pentru poligoane, modelul 3.0 face acest lucru dinamic, gama de culori fiind practic infinita. Aditional, codul soft-ului 3D trebuie sa suporte posibilitatile dinamice pe care le ofera modelul 3.0.
2. Pipelines si display buffers
La baza pipeline-urilor placii video sta Unitatea shaderului. Aceste procese (shaderele) realizeaza practic imagine, specificand culoarea si pozitia fiecarui pixel in parte in matricea grafica. Procedura dureaza o fractiune de secunda si ilustreaza performanta impresionanta a GPU-urilor, care sunt dezvoltate mult mai complex decat procesoarele de PC. Cu ajutorul controller-elor de buffer , imaginile ajung in prima faza in memoria RAM a placii video pentru ca apoi sa fie trimise catre monitor. Ca o regula generala, cu cat este mai mare frecventa procesorului si numarul pipeline-urilor , cu atat se face mai repede redarea imaginilor de catre cipul grafic. De asemenea, cu Memory Bus marit si o capacitate de stocare mare, controller-ele de memorie pot procesa mai rapid informatia video.
3. Alpha Blending
Aceasta functie serveste la reprezentarea corecta a transparentei obiectelor, cum ar fi ferestrele sau suprafetele de apa. Valoarea culorii unui pixel primeste o alta valoare alpha care defineste gradul de transparenta.
4. Anisotropic Filtering
Este o functie filtru care modifica distanta texturilor fata de obiectele 3D. In functie de tipul placii video, exista mai multe tipuri de calitate, de la 2x la 16x. Si aici se aplica aceeasi regula: cu cat performantele matematice ale GPU-rilor sunt mai bune, cu atat creste calitatea imaginii.
5. Antialiasing
Prin modelarea contururilor, aceasta functie indeparteaza efectele de distorsionare a unui obiect.
Exista doua tipuri:
a) conturarea de tip AntiAliasing doar a marginilor a doua poligoane alaturate intr-o textura sau
b) Full Screen AntiAliasing (FSAA) care lucreaza cu intreaga imagine. Calitatea si modul in care se realizeaza procedura, depind de puterea procesorului video.
6. Bump Mapping
Aceasta functie produce un efect tridimensional pe suprafetele plane prin adaugarea de umbre si furnizarea de informatii despre structura obiectului 3D respectiv.
7. Clipping
Organizeaza modul de lucru al placii grafice, astfel incat inaintea reprezentarii grafice a unui model 3D, aceasta functie calculeaza suprafata poligoanelor care sunt vizibile. Datorita acestei tehnologii se pot reduce mult resursele consumate ale GPU-lui si memoriei.
8. Displacement Mapping
Programatorii folosesc acest tip de textura pentru a crea un peisaj 3D in inaltime si profunzime. Suprafata texturii se adapteaza dupa tipul mediului, putand astfel sa isi schimbe dinamic forma si marimea. Modelul Shader-ului 3.0 permite aceasta actiune in timp real.
9. Environment Bump Mapping
Aceasta functie adauga o textura aditionala pe obiectele 3D, in care mediul inconjurator se reflecta fizic corect (apa sau sticla).
10. High Dynamic Rank
Face posibila marirea calitatii dinamicii in timpul reprezentarii intr-un spatiu cu luminozitati diferite. De exemplu, daca cel care priveste se afla intr-o zona intunecata si deodata apare o unda foarte luminoasa, atunci mediul inconjurator nu va mia fi negru ci va primi culori de intensitati gradate din ce in ce mai deschise.
11. Lens Flares
De exemplu, daca raza unei surse de lumina intalneste lentila telescopica a unui obiectiv telescopic, aceasta functie va reda corect fizic cercul de lumina sau steaua luminoasa ce rezulta din acest efect.
12. Mip Mapping
Cu ajutorul acestei tehnologii, anumite texturi sunt prezentate in diferite clase de calitate. Un obiect 3D se observa foarte clar si detaliat daca este in plan apropiat, pe cand obiectele aflate la distante foarte mari de observa din ce in ce mai neclar, pana dispar.
13. Morphing
Cu acest efect special un obiect 3D poate fi convertit intr-o alta forma.
14. Motion Blur
Este folosit la reprezentarea obiectelor 3D care se misca foarte repede, usor, intr-un spatiu difuz. Calea acestora si lumea materiala sunt simulate.
15. Multitexturing
In locul texturilor simple, de suprafata, se foloseste aceasta functie pentru obiectele 3D. De exemplu, la un butoi de metal in prima faza se construieste o textura tipica, apoi se adauga o textura care simuleaza stratul de rugina, iar in a treia faza apare reflexia caracteristica formata din combinatia celor doua texturi anterioare.
16. Perspective Correction
Vederea in ansamblu a unei suprafete tridimensionale apare distorsionata daca privim in detaliu. Aceasta functie copiaza acest efect redand imaginea compilata gresit, dar in perspectiva corect.
17. Procedural Texturing
Acest tip de textura este ideala pentru reprezentarea obiectelor 3D a caror forma se schimba constant, cum ar fi mediul apei. In acest caz nu exista texturi prefabricate iar suprafata se schimba dinamic, in timp real.
18. Material Time Shadows
Obiectele care lasa umbre confera lumii virtuale o viziune mult mai realista. In cazul timpului material, umbrele apar natural in functie de unghiul surselor de lumina. Placa video adauga umbra unui obiect la scurt timp dupa crearea imaginii principale. Aceasta functie coreleaza aparitia umbrelor astfel incat acestea sa apara in timp real.
19. Texture
Transforma un model 2D in scopul folosirii acestuia pe o suprafata 3D.
20. Texture Compression
Cu cat este mai mare disolutia unei texturi, cu atat mai realist pare un obiect 3D. Cu cat se pot incarca mai multe asemenea texturi in memoria virtuala a placii video, cu atat accesul acestora se realizeaza mai usor. Programele 3D folosesc foarte des aceste functii de comprimare a texturilor. Totusi GPU-ul si DirectX trebuie sa suporte procedura de comprimare.
21. Ultra Shadow
Tehnologia de redare a umbrelor in timp real, dezvoltata de nVidia, salveaza performantele aritmetice prin calcularea urmelor lasate de obiecte si care se vad pe ecran. Astfel, umbrele „ascunse” din spatele obiectului nu mai sunt luate in calcul. 21. Ultra Shadow II extinde versiunea I prin detalii „inteligente”, programatorii implementand desenarea unor margini virtuale de culoare a caror sursa de lumina este determinata de umbrele obiectului.
22. Z-Buffering
Aceasta functie compara informatiile tuturor pixelilor care se afla in aceeasi pozitie intr-un spatiu bidimensional. Astfel, se pot inlatura pixelii din spatiul 3D al obiectului care nu sunt vizibili, inainte de reprezentarea grafica de pe monitor.
Mda…toate astea descrieri sunt pune dar nu am vazut Nimic despre functia Placii Video..