Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Introduction aux Cartes Graphiques
GRAPHIX 2006/2007
2
Plan du cours Modes graphiques Architecture d’une carte graphique
Historique Architecture d’une carte graphique Vue globale Ramdac DVI Mémoire vidéo Bus Accélérateur graphique 2D/3D
3
Première partie: Modes graphiques
4
Modes graphiques (1/12) Première carte graphique: CGA HGC EGA VGA SVGA
Par IBM en 1981 MDAs: Monochrome Display Adapters Mode texte uniquement 80x25 caractères à 50Hz Port imprimante CGA HGC EGA VGA SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
5
Modes graphiques (2/12) MDAs CGA: HGC CGA EGA VGA SVGA
En 1981 (avec arrive des Personal Computer) Mode Graphique Couleur 320x200x4 couleurs Essentiellement jeux vidéos Manque de résolution pour bureautique HGC CGA EGA VGA SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
6
Modes graphiques (3/12) MDAs CGA HGC: EGA VGA SVGA
Par Hercules (fondé en 1982) Hercules Graphics Card (compatible MDAs) Mode graphique monochrome 720x348 EGA VGA SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
7
Modes graphiques (4/12) MDAs CGA HGC EGA (Enhanced Graphics Adapter):
Par IBM en 1984 Résolution max: 640x350x16 couleurs Palette de 64 couleurs Fréquence de 60Hz VGA SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
8
Modes graphiques (5/12) MDAs CGA HGC EGA VGA (Video Graphic Array):
Par IBM en 1987 Résolution 640x480x16 – 720x400 (mode texte) Résolution 320x200x256 (Mode MCGA: Multi Colour Graphics Array) Palette de couleurs (6 bits par couleur) 1er standard vidéo à fonctionner en analogique SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
9
Modes graphiques (6/12) MDAs CGA HGC EGA Amélioration du VGA par IBM:
1024x768x Hz entrelacé 640x480 60Hz non-entrelacé SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
10
Modes graphiques (7/12) MDAs CGA HGC EGA Amélioration du VGA par IBM:
XGA (eXtended Graphics Array): Introduit en 1990, successeur du 8514/A 512Kb/1Mb VRAM 1024x768x256 – 640x480x16bits SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
11
Modes graphiques (8/12) MDAs CGA HGC EGA Amélioration du VGA par IBM:
XGA2: XGA avec fréquence plus élevées 1024x768x16bits -> couleurs 800x600x24bits -> 16 millions de couleurs SVGA Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
12
Modes graphiques (9/12) MDAs CGA HGC EGA VGA SVGA (SuperVGA):
Basé sur le VGA avec spécifications du constructeur Reconnu standard du mode 800x600 Manque de standardisation => Consortium des principaux constructeurs ‘Video Electronics Standards Association’ (VESA) propose une interface logiciel standard Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
13
Modes graphiques (10/12) MDAs CGA HGC EGA VGA SVGA
Standard: XGA, SXGA, UXGA UVGA (UltraVGA) et XGA: standard 1024x768 SXGA (SuperXGA): standard 1280x1024 UXGA (UltraXGA): standard 1600x1200 Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA
14
Modes graphiques (11/12) MDAs CGA HGC EGA VGA SVGA
Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème) WXGA (Wide eXtended Graphics Array): standard 1280x800 WSXGA (Wide Super eXtended Graphics Array): standard 1600x1024 WUXGA (Wide Ultra eXtended Graphics Array): standard 1920x1200 Quad format: QXGA, QSXGA, QUXGA
15
Modes graphiques (12/12) MDAs CGA HGC EGA VGA SVGA
Standard: XGA, SXGA, UXGA Wide screen: WXGA, WSXGA, WUXGA (16/9ème 16/10ème ) Quad format: QXGA, QSXGA, QUXGA QXGA (Quad eXtended Graphics Array): standard 2048x1536 QSXGA (Quad Super eXtended Graphics Array): standard 2560x2048 QUXGA (Quad Ultra eXtended Graphics Array): standard 3200x2400
16
Deuxième partie: Architecture
17
Architecture - Vue globale
Ramdac DVI Bus Mémoire DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac Carte graphique Unité centrale Moniteurs BUS
18
Archi. - RAMDAC (1/4) Random Access Memory Digital to Analogic Converter Convertisseur numérique à analogique pour périphérique CRT(Cathodic Ray Tube) Fréquence interne liée à la fréquence de rafraîchissement du moniteur Accès à la mémoire vidéo (framebuffer) Possède sa propre mémoire vive pour stocker les palettes de conversion Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT
19
Archi. - RAMDAC (2/4) Le RAMDAC peut recevoir les formats suivants:
True Color : 1 octet/composante 24 bits HiColor : 2 modes 2 x 5bits (rouge et bleu) + 6bits (vert) 16 bits (65536 couleurs) 5 bits par composante 15 bits (32768 couleurs) RGBA True Color : ajout du canal alpha 32 bits Fausses couleurs : indexation d’une palette de couleurs (24bits/couleur) envoi des couleurs indexées DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS
20
Archi. - RAMDAC (3/4) Fonctionnement de l’œil (persistance rétinienne): une image perçue reste environ 0,1 sec sur la rétine rémanence visuelle en enchaînant les images à une fréquence de 25Hz à 30Hz effet d’animation Fréquence de rafraîchissement de l’image au minimum 50Hz en entrelacé (affichage des lignes impaires puis paires) Confort des yeux pour f > 72hz Fréquence interne élevée (MHz) Accès mémoire très fréquent DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS
21
Archi. - RAMDAC (4/4) Calcul théorique de la fréquence interne:
Taille de l’écran: largeur x hauteur Fréquence visuelle (ex: 75 Hz): freq Fréquence interne: freq. int. = largeur x hauteur x freq x 1.32 Facteur 1.32: le canon à électrons perd environ 32% du temps pour les déplacements horizontaux et verticaux Radeon 9800 ou GeForce FX 5900: Bi-Ramdac 400Mhz 1600 x 1200 120 Hz 2048 x 1536 85 Hz Pour résolution de 1600x1200 à 85hz il faut un RAMDAC de 1600x1200x85x1.32 = 205 Hz Problème: limitation des moniteurs actuels DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS
22
Archi. - DVI Digital Video Interface :
spécifié par Digital Display Working Group pour périphériques numériques et analogiques 3 normes existantes: DVI-A: signal analogique en sortie DVI-D: signal numérique DVI-I (I = integrated): prend en charge les 2 types de sortie DVI-D et DVI-I pour les périphériques numériques (écran plat, …) pas de RAMDAC DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS
23
Archi. - Mémoire Vidéo (1/5)
Besoin d’un débit soutenu: Résolution 1024x768 en true color à 70Hz => débit de 1024x768x3x70 = 157 Mo/s Accès multiple du GPU et du RAMDAC latence Nombreux types de mémoire: DRAM, VRAM, SDRAM, RAMBUS, ... DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM
24
Archi. - Mémoire Vidéo (2/5)
DRAM (Dynamic RAM): type FPM (Fast Page Mode): rafraîchi très souvent latence (+ asynchrone) accès en 70 ns 225 Mo/s (33Mhz-50MHz) type de mémoire lente et dépassée DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS DRAM EDO (DRAM Extended Data Out): 400 Mo/s (inadaptée pour des fréquences > 66 MHz) accès réduit à ns (système de cache de l’adresse de la prochaine cellule à lire/écrire) surtout employé par 3DFX (Diamond Monster) mais aussi par S3 (Virge 3D) DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM
25
Archi. - Mémoire Vidéo (3/5)
VRAM (Video RAM): 625 Mo/s (30% plus chère que DRAM) Jusqu’à 80 MHz - temps d’accès ns Dual Port (grâce à un registre à décalages) DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS WRAM (Windows RAM): 960 Mo/s VRAM avec circuit 32 bits Fonctionnalités 2D (transfert de mémoire, …) Matrox (Millénium II) DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM MDRAM (Multi-bank DRAM): Accès simultanés 500 Mo/s Cartes S3, Hercules Dynamite 128, Tseng Labs ET6000
26
Archi. - Mémoire Vidéo (4/5)
SDRAM (Synchronous RAM): apparue en 1997 synchronisée avec le bus mémoire temps d’accès ns Fréquence Mhz 500, 800, Mo/s 66, 100, 133 Mhz DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS SGDRAM (Synchronous Graphic RAM): SDRAM dédié pour la vidéo Single Port synchronisé au bus mémoire (<100MHz) techniques: Masked write: modification en 1 cycle Mode rafale (Block write): récupération/modification par blocs entiers exemple: Matrox Mystique DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM
27
Archi. - Mémoire Vidéo (5/5)
RAMBUS: soutenue par Intel à 300 MHz, 1.2 Go/s à 400 MHz, 1.6 Go/s énorme latence DVI CRT Mémoire Centrale GPU Mémoire vidéo Ramdac BUS DDR-SDRAM (Double Data Rate SDRAM): 2 informations transférées par cycle (1 front montant / 1 front descendant) temps d’accès : 6 ns fréquence de MHz débit de Go/s exemple : GeForce Radeon X800 DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM DRAM DRAM EDO VRAM WRAM MDRAM SDRAM SGRAM RAMBUS DDR-SDRAM
28
Archi. - Bus (1/10) ISA (Industry Standard Architecture):
1981: 8 bits à 4.7 MHz (8086) 1994: 16 bits à 6 puis 8 MHz (80286) débit maximal de 5.5Mo/s Goulot d’étranglement dès l’arrivée du 80386 Propriétés: : facilement utilisable et peu coûteux : bus très lent Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
29
Archi. - Bus (2/10) MCA (Micro Channel Architecture):
développé et utilisé par IBM (avec ses PS/2) incompatibilité avec l’ISA monopole d’IBM 1er bus à 32bits - 10 Mhz (40 Mo/s) Mémoire Centrale BUS GPU Mémoire vidéo DVI EISA (Enhanced ISA): sorti en 1988 développé par des constructeurs (Compaq, …) pour contre-attaquer le MCA architecture 32bits, compatible ISA 8/16 bits 8.33 Mhz (compatibilité ISA) - 33 Mhz utilisation: applications lourdes (serveurs de fichiers, …) Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe ISA MCA EISA VLB PCI AGP PCIe
30
Archi. - Bus (3/10) VLB (VESA Local Bus) : sorti en 1992
développé par ‘Video Electronic Standard Association’ extension du bus local du processeur (port ISA étendu) spécifique aux cartes graphiques bus de 32bits fréquence externe du processeur : 33 à 50 Mhz débit théorique : 130 Mo/s (40Mo/s en pratique) VLB 2.0 fonctionne en 64 bits Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
31
Archi. - Bus (4/10) PCI (Peripheral Component Interconnect ):
réponse d’Intel au VLB (1993) PCI 1.0: 32bits - 33MHz 132 Mo/s (le plus courant) PCI 2.0: 64 bits (33, 66, 133 MHz) pour serveurs fonctionnalités que ne possède pas le VLB: Bus Master : transfert entre 2 périphériques PCI Look Ahead : anticipation Buffering : stockage temporaire de l’information meilleur débit incompatible avec ISA carte-mère avec slots PCI et ISA devenu un standard … et un goulet d’étranglement ! Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
32
Archi. - Bus (5/10) AGP (Accelerated Graphics Port) 1997:
bus spécifique aux cartes graphiques / archi 32bits basé sur le PCI 2.1 66 MHz existence d’une version professionnelle (110 W au lieu de 50W) SBA (Side Board Addressing): données chargées sur le bus AGP + utilisation du PCI pour signaux de contrôle Fonctionnalités: Bus mastering accès direct à la mémoire Pipelining : requêtes en série ( PCI avec attente d ’ACK) 2 modes de fonctionnements: Mode PIPE (local texturing): utilisation d’un DMA pour transfert vers mémoire locale (2 cycles pour afficher) Mode DIME (Direct Memory Execute): traitement des textures en mémoire centrale (1 cycle pour afficher) Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
33
Archi. - Bus (6/10) AGP (Accelerated Graphics Port): ... débits:
1x: 264Mo/s (codage sur les fronts montants) 2X: 528Mo/s (codage sur les deux fronts): PIPE: envoie donnée+contrôle multiplexé… SBA: envoie donnée+contrôle dé-multiplexé 4x: 1Go/s (double les infos sur chaque front) mémoire suffisamment rapide (DDR ou RAMBUS) Fast Write : accès direct mémoire vidéo 8x: 2Go/s (quadruple les infos sur chaque front) mais gain minuscule de 5% par rapport au 4x Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
34
Archi. - Bus (7/10) PCI express (PCIe) objectifs:
bande passante élevée (jusqu’à 8Gb/s) fournir une qualité de service: intégrité des données/détection d’erreurs priorité des données branchement à chaud (hot plug) gestion de l’alimentation Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
35
Archi. - Bus (8/10) interface série décomposée en plusieurs niveaux:
Couche physique: Bus constitué de 2 paires de signaux (1 émission, 1 réception) Bande passante peut-être augmentée linéairement par ajout de paires de lignes (x1 x32) Couche de données Couche de transactions Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
36
Archi. - Bus (9/10) interface série décomposée en plusieurs niveaux:
Couche physique Couche de données: Responsable de l’intégrité des données Protocole de contrôle de flux pour s’assurer que le paquet n’est émis que lorsqu’un buffer de réception est disponible Couche de transactions Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe
37
Archi. - Bus (10/10) interface série décomposée en plusieurs niveaux:
Couche physique Couche de données Couche de transactions: paquets supportent adressage de 32bits / 64bits étendu paquets peuvent avoir des attributs (priorité,…) encapsulation des niveaux: Mémoire Centrale BUS GPU Mémoire vidéo DVI Ramdac CRT ISA MCA EISA VLB PCI AGP PCIe Début trame Fin trame 3. Couche Physique CRC Num. Séquence 2. Couche de données Données En-tête 1.Couche de transactions
38
Troisième partie: Accélérateur graphique
39
Accélérateur graphique
Accélérateur 2D Pipeline de rendu 3D Accélération matérielle du pipeline 3D
40
Accélérateur 2D (1/2) Ancêtre des accélérateurs graphiques:
cartes à coprocesseur graphique (carte programmable) début 90 avec TIGA (TMS34020), ou P9000 (Carte Diamond Viper) dépassé ensuite par les cartes accélératrices MAIS principe d’architecture graphique programmable réutilisé + tard en 3D
41
Accélérateur 2D (2/2) Accélération des traitements 2D: ligne, rectangle, curseur souris, overlay, bitBLT Décompression MPEG2 (DVD) Tuner TV Acquisition vidéo Cartes 2D seules n’existent plus Carte 3D pure (3dfx voodoo) Maintenant, carte 2D/3D
42
Principe du rendu projectif: le pipeline de rendu 3D
Vertices Transform & Lighting Face Culling User Clip Planes & Frustum Clipping Homogenous Divide Viewport Mapping Geometric pipeline Vertex Operations Triangle Setup Texturing Fog Effects Alpha Test Stencil, Depth Test Pixel Operations Rasterization Alpha Blending Dithering Channel Mask Framebuffer
43
Principe du rendu projectif: le pipeline de rendu 3D
Planter le décor: ‘Transform’ placer l’objet dans la scène par rapport à la caméra: opérations matricielles 3D translation, rotation, mise à l’échelle, projection Vertices Transform & Lighting Face Culling User Clip Planes & Frustum Clipping Homogenous Divide Viewport Mapping Geometric pipeline Vertex Operations Triangle Setup Allumer les lumières: ‘Lighting’ modèle de Phong éclairement ambiant éclairement diffus éclairement spéculaire Texturing Fog Effects Alpha Test Stencil, Depth Test Pixel Operations Rasterization Alpha Blending Dithering Channel Mask Framebuffer
44
Principe du rendu projectif: le pipeline de rendu 3D
Inutile de dessiner ce que l’on ne voit pas: ‘face culling’: orientation arrière ‘clipping’: hors champ ‘Homogenous divide’: projection 3D->2D ‘Viewport mapping’: placement dans la fenêtre Vertices Transform & Lighting Face Culling User Clip Planes & Frustum Clipping Homogenous Divide Viewport Mapping Geometric pipeline Vertex Operations Triangle Setup Texturing Fog Effects Alpha Test Stencil, Depth Test Pixel Operations Rasterization Alpha Blending Dithering Channel Mask Framebuffer
45
Principe du rendu projectif: le pipeline de rendu 3D
‘Triangle setup’ = préparation du triangle: Délimitation du triangle par ses bords pour chacune de ses lignes (scanline) Interpolation bilinéaire des attributs des sommets pour chaque pixel: Couleur Profondeur (z) Coordonnées de texture UV … Vertices Transform & Lighting Face Culling User Clip Planes & Frustum Clipping Homogenous Divide Viewport Mapping Geometric pipeline Vertex Operations Triangle Setup Texturing Fog Effects Alpha Test Stencil, Depth Test Pixel Operations Rasterization Alpha Blending Dithering Channel Mask Framebuffer
46
Principe du rendu projectif: le pipeline de rendu 3D
‘Texturing’: Combinaison de couleurs: Couleur d’éclairement Couleur de la texture Filtrage des textures: Bi-linéaire Tri-linéaire (mip mapping) Multitexturing Techniques basées sur des textures: Light mapping, Bump mapping, Shadow mapping… Vertices Transform & Lighting Face Culling User Clip Planes & Frustum Clipping Homogenous Divide Viewport Mapping Geometric pipeline Vertex Operations Triangle Setup Texturing Fog Effects Fog Effects Alpha Test Stencil, Depth Test Pixel Operations Rasterization Alpha Blending ‘Fog effects’: brouillard Altération de la couleur basé sur la profondeur ‘z’ du pixel Dithering Channel Mask Framebuffer
47
Principe du rendu projectif: le pipeline de rendu 3D
Tests éliminatoires: ‘Alpha test’: seuil sur le canal alpha ‘Stencil test’: Stencil Buffer (effets) ‘Depth test’: Z-Buffer (test de profondeur ‘z’) Vertices Transform & Lighting Face Culling User Clip Planes & Frustum Clipping Homogenous Divide Viewport Mapping Geometric pipeline Vertex Operations ‘Alpha blending’: Transparence Mixe ancienne couleur (Framebuffer) + nouvelle couleur Triangle Setup Texturing Fog Effects ‘Dithering’: Illusion de couleur, motif… Utile pour les résolutions à faible nombre de couleur ou palettiser Alpha Test Stencil, Depth Test Pixel Operations Rasterization Alpha Blending Alpha Blending Dithering Dithering ‘Channel Mask’: filtre sur les canaux de couleur (rouge, vert, bleu, alpha) Channel Mask Channel Mask Framebuffer Framebuffer
48
Accélérateur 3D ‘Transform & Lighting’ (en soft): 3D Now, MMX…
31 août 1999: GeForce256 (nVidia) GPU (Graphics Processing Unit): pipeline 100% hard (T&L, culling, clipping…) Vertices Vertex Shader T & L Culling, Clipping Vertex Triangle Setup Reg. combiners Texturing Pixel Shader Améliorations matérielles du pipeline 3D: Registers combiners (GeForce256): Circuit câblé paramétrable pour le calcul de la couleur (texture…) Obsolète Fog Pixel Rasterization Framebuffer Shader (Vertex & Pixel) (GeForce3): Circuit programmable remplaçant une partie du pipeline 3D
49
GPU - Shader Architecture SIMD Nombre d’instructions limité
128: GeForce3-4 – Radeon8500 1024: GeForceFX Programmation: bas niveau (assembleur) haut niveau (C) ou langages dédiés (HLSL, Cg, GLSL) Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
50
GPU - Vertex shader Architecture: Registres temporaires
Registres constants (mémoire) ALU Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
51
GPU - Vertex shader Remplace l’étape de T&L Possibilités:
Position Procédurale Mélange de transformations (‘Vertex Blend’) Mélange de maillages (‘Morphing’) Déformation du maillage (‘Vertex Deformation’) Eclairage par sommet (‘Per Vertex Lighting’) Tissu, peau, interpolation, displacement maps… Coordonnées de texture Brouillard particulier Taille d’affichage d’un point Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
52
GPU - Vertex shader Possibilités:
Mélange de transformations (‘Vertex Blend’) Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
53
GPU - Vertex shader Possibilités:
Déformation de maillage (‘Vertex deformation’) Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
54
GPU - Vertex shader Possibilités: Displacement mapping Vertices
Culling, Clipping Triangle Setup Pixel Shader Rasterization Framebuffer
55
GPU – Pixel shader Remplace l’étape du calcul de la couleur
Possibilités: Réflexion par pixel Illumination par pixel (phong, BRDF) Textures procédurales Effets au niveau pixel Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
56
GPU – Pixel shader Architecture: Vertex Pixel Vertices Vertex Shader
Culling, Clipping Vertex Triangle Setup Pixel Shader Pixel Rasterization Framebuffer
57
GPU – Pixel shader Exemple: « cartoon shading »
Produit scalaire (lumière x normale) pour indexer une texture 1D Vertices Vertex Shader Culling, Clipping Vertex Triangle Setup light vector normal vector Pixel Shader Pixel light Rasterization Framebuffer 0.0 dot product 1.0 1 dimensional texture
58
GPU – Pixel shader Exemple: « cartoon shading » A Scanner Darkly
Zelda – The Wind Maker
59
GPU – Pixel shader Exemple: « bump mapping »
60
GPU – Pixel shader Effet de flamme
61
GPU - Pixel shader Eclairage par pixel (‘Per Pixel Lighting’)
62
GPU - Pixel shader Eclairage anisotropique
63
Conclusion - perspectives (1/2)
Modes graphiques: assez peu de changement (éventuellement augmentation de résolutions) Amélioration des bus et mémoires (débit, fréquence de fonctionnement) Efforts concentrés sur le GPU: devient un « processeur » de plus en plus performant: effets visuels coûteux en temps-réel (lancer de rayons) calculs scientifiques complexes (simulation de tissus, cheveux, …) possibilité de mettre 2 GPU en série: nvidia SLI (Scalable Link Interface).
64
Conclusion - perspectives (2/2)
Nalu (Geforce 6800) : simulation physique de 762 cheveux génération de 4095 cheveux. ombrage en multi-passes. autres possibilités : simulation physique de tissu / fluides. simulation de réactions chimiques. … voir
65
Merci Question ?!
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.