Lecture01 - Introducere, Hardware Grafic, Pipeline

download Lecture01 - Introducere, Hardware Grafic, Pipeline

of 67

  • date post

    05-Apr-2018
  • Category

    Documents

  • view

    222
  • download

    0

Embed Size (px)

Transcript of Lecture01 - Introducere, Hardware Grafic, Pipeline

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    1/67

    Semestrul II 2011/12

    Mr.conf.univ.dr.ing. Cristian Molder

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    2/67

    Introducere

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    3/67

    Ce este CG?

    Mijloc de creare, stocare i manipulare amodelelor i imaginilor cu ajutorul sistemelorgrafice

    Modelele provin din diverse domenii deaplicaie, precum fizic, matematic, art,biologie etc.

    Bazat pe geometria obiectelor i atributeleacestora

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    4/67

    Modelarea CAD

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    5/67

    Efecte video speciale

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    6/67

    Animatie

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    7/67

    Ex: Arta

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    8/67

    Simulatoare de zbor

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    9/67

    Simularea fenomenelor

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    10/67

    Jocuri video

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    11/67

    Ce se nvata?

    nelegerea principiilor de baz ale tehnologiilorgrafice hardware i software, algoritmi iterminologie

    Utilizarea interfeei de programare a aplicaiilorOpenGLpentru a scrie programe grafice 2D/3D

    Nu se nva pachete de programe !

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    12/67

    Temele principale ale cursului

    Sisteme hardware de procesare videoSisteme de afiareCuloarea n sistemele grafice

    Proiecii i transformriGenerarea primitivelor grafice 2DDecuparea scenelor

    Reprezentarea obiectelor 3D

    Detecia suprafeelor vizibileIluminarea i randarea suprafeelor

    Animaie

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    13/67

    Hardware-ul grafic

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    14/67

    Hardware-ul grafic

    Hardware dedicat operaiilor de prelucrarei afiare a informaiilor grafice

    Hardware:

    Integrat(onboard)utilizeaz parial/totalresursele sistemului de calcul pentru

    efectuarea calculului grafic

    Extern(stand-alone) hardware dedicatexclusiv efecturii calculului grafic

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    15/67

    Structura unei placi video

    BIOSmemorie PROM care conine osecven de program necesar interfarii

    hardware-ului video cu sistemul de calcul

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    16/67

    Timergenereaz semnalele de ceas(frecvenele) pentru operarea circuitelor

    Structura unei placi video

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    17/67

    VRAM (Video RAM)memorie volatildedicat, de mare vitez, interfaat cu

    procesorul grafic

    Structura unei placi video

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    18/67

    RAMDAC (Random Access Memory Digital-Analog Converter)convertete informaia

    digital n semnale analogice necesare

    monitorului

    Structura unei placi video

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    19/67

    GPU (Graphic Processing Unit) procesordestinat efecturii operaiilor grafice, n

    arhitectur paralel dedicat

    Structura unei placi video

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    20/67

    Interfete hardware

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    21/67

    Interfete hardware

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    22/67

    Interfete hardware

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    23/67

    Pipeline-ul grafic

    Pipeline flux de procesare hardware = ordinea ncare sunt efectuate operaiile de generare a unei

    imagini pornind de la modelul 3D

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    24/67

    Procesoare grafice (GPU)

    Arhitectur paralel cu uniti de calcul dedicate Vertex shaderpreia vertexurile (punctele) din spaiul 3Di le proiecteaz n planul 2D al imaginii

    Pixel shadergenereaz triunghiuri elementare(poligoane) pornind de la pixelii generai anterior de ctrevertex shader i le adaug informaia de culoare

    Texture mapping unitefectueaz operaii de rotaie i

    rescalare a imaginilor textur pentru a fi aplicate petriunghiurile poligonale

    Render output unitgenereaz imaginea final i o scrie

    n frame buffer

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    25/67

    GeForce 6 Series

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    26/67

    GeForce 8 Series

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    27/67

    Memoria video (VRAM)

    Memorie RAM de mare vitez, conectat la GPU prinintermediul unei magistrale de date

    Limea magistralei influeneaz semnificativ

    performanele hardware-ului grafic (n prezentmagistrale pe 128-512 bii)

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    28/67

    Memoria video (VRAM)

    GPU VRAM

    Interfa

    (AGP, PCIe)

    RAM

    Sistem

    CPU

    RAM

    Sistem

    GPU CPU

    Hardware video cumemorie dedicat

    (VRAM)

    Hardware video cumemorie partajatcu cea a sistemului

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    29/67

    Memoria video (VRAM)

    Memoria VRAM este situat doar pe placa videoSe poate utiliza i memoria sistemului (TurboCache)

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    30/67

    Hardware graficUtilizarea a dou plci video conectate n mod

    master/slave (nVidia = SLI sau ATI = CrossFire)

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    31/67

    Hardware graficUtilizarea a dou procesoare grafice, unul integrat

    onboard iar cellalt dedicat (nVidia = Hybrid SLI)

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    32/67

    CUDAUnificarea arhitecturii (CPU+GPU) pentru mrirea

    puterii de calculGPU efectueaz att calcule grafice, ct i calcule defizica obiectelor (fluide, foc, fum etc.)

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    33/67

    GPGPUUtilizarea puterii de calcul al GPU pentru rezolvarea

    unor sarcini non-grafice primite de la sistemul PC(General-Purpose computing on Graphics ProcessingUnits)

    Aplicaii: Prelucrare de semnal audio

    Calcule financiare

    Reele neurale Transformate Fourier

    Fizic molecular Prelucrarea bazelor de date

    Criptografie

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    34/67

    Tehnologii

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    35/67

    API-uri de programareAPI = Application Programming Interface,

    reprezint interfaarea dintre aplicaia software ihardware

    Direct3Dproprietar Microsoft, uurin n creareaaplicaiilor

    OpenGL sistem de tip Open Source, portabil pe

    orice sistem de operare, creaz aplicaii optimizate

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    36/67

    Programarea aplicaiilor

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    37/67

    Pipeline-ul grafic al OpenGL

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    38/67

    Ghiduri de programare

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    39/67

    Grafica 2D

    Generarea n OpenGL a uneiferestre grafice (utiliznd GLUT)

    Generarea unor primitive 2Dsimple (linii, triunghiuri, poligoane)

    Utilizarea tastaturii i a mouse-ului

    http://../Graphics/myTests/lab1/lab1/Debug/lab1.exe
  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    40/67

    Generarea primitivelor grafice 3D

    Poziionarea obiectelor n spaiu

    Utilizarea transformatelor decoordonate

    Grafica 3D

    http://../Graphics/myTests/lab2/lab2/lab2/Debug/lab2.exe
  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    41/67

    Randarea scenelor

    Randare Procesul de calculare a unei imagini pornind de la

    datele de intrareDate de intrare

    Puncte, linii, poligoane etc

    Atribute: culoare, textur, iluminare etc

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    42/67

    Tehnici de randare

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    43/67

    Terminologie

    Randare conversia scenei 3D n imagine 2D

    Scen modelarea mediului 3D cu ajutorul primitivelorgraficesuportate de ctre sistem

    Modelelesunt create de mn sau automat

    Imagineaeste afiat pe un monitor, listat la imprimant saustocat n fiiere

    Fluxul de procesare totalitatea etapelor parcurse de lamodelarea scenei i pn la afiarea imaginii randate

  • 7/31/2019 Lecture01 - Introducere, Hardware Grafic, Pipeline

    44/67

    Programarea n Visual C++

    Cerine:

    1. Mediul de programare instalat

    2. Existena bibliotecii GLUT (5 fiiere)

    3. Existena unui hardware graficcompatibil cu versiunea bibliotecii