Accueil | News | Articles | Forum | Membres  | Prix  | A propos Recherche :  BeHardware.com 


LDLC.com Belgique - Boutique en ligne de matériel informatique

  Overclocking

  Base Overclocking

  Processeurs

  Cartes Mères

  Cartes 2D-3D

  Multimédia

  Stockage

  Ecrans

  Imagerie

  Divers
Comparez les prix !
  Processeurs

  Cartes graphiques

  Ordinateur portable

  GPS

  Appareil photo

  TV LCD
Annuaires
  Définitions

  Drivers
Les Numériques
GameKult
Serveur express
Pub sur HardWare.fr

Sommaire:
Recommander la lecture de cet article à un contact Imprimer cet article
Dossier : Nvidia améliore la qualité graphique avec l’occlusion ambiante
par Damien Triolet
Publié le 27 Avril 2009

L’implémentation de Nvidia
Différentes techniques existent pour intégrer l’occlusion ambiante au rendu, plus ou moins gourmandes et plus ou moins simples à mettre en place. Etant donné que le but de Nvidia est d’appliquer cet effet dans des jeux existants et à un niveau de performances suffisant, le fabricant s’est tourné vers une méthode adaptée : la screen space ambiant occlusion ou SSAO, que nous allons décrire ici en détail.

Pour rappel, le rendu 3D se réfère à différents espaces :

World space : le monde 3D dans lequel la scène est construite
Eye space : le monde 3D vu par la caméra
Screen space : l’image 2D qui est une projection de la scène 3D vue par la caméra

La SSAO consiste, comme son nom l’indique, à calculer l’occlusion ambiante sur base de l’image dans laquelle, au préalable, a été rendue la scène. En d’autres termes c’est un effet qui peut être assimilé au type post processing qui va permettre d’améliorer l’image finale affichée à l’écran.

Pour cela, Nvidia a besoin de 2 choses : le Z-buffer et les normales à chaque point représenté par un pixel à l’écran. Le Z-buffer permet de connaître la profondeur, soit la distance de chaque point par rapport à la caméra. Il représente donc l’eye space. Les normales permettent de connaître l’orientation de chacun de ces points.


Sur base de ces 2 informations, il est possible de se représenter une vision, certes limitée, da la scène 3D et des objets qui peuvent être une obstruction à la lumière ambiante. La normale est nécessaire pour connaître l’orientation de chaque point et donc des sources de lumière ambiante qui peuvent l’affecter.

Obtenir le Z-buffer est simple. C’est un petit peu plus compliqué pour les normales. Si la scène 3D représentait simplement un paysage continu par exemple il serait possible d’estimer les normales sur base du Z-buffer, en observant la valeur des points adjacents. La méthode serait cependant peu précise et n’est pas possible en pratique puisque les scènes 3D sont représentées par différentes surfaces discontinues, ce qui veut dire que 2 points adjacents peuvent ne pas provenir de la même surface et qu’il est impossible de le savoir à ce niveau.

Il faut donc calculer toutes les normales au préalable, dans une passe de rendu de la géométrie. Il s’agit bien ici de les calculer pour chaque point et pas simplement de récupérer les valeurs interpolées qui fausseraient les résultats. Tout ceci peut se faire soit dans une passe supplémentaire, dédiée à cette opération (ce qui permet également de le faire facilement dans une résolution inférieure pour réduire le coût), soit dans une passe de rendu initiée par le moteur graphique.

<< Page précédente
Introduction

Index des pages
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
Page suivante >>
L'algorithme de SSAO  




Copyright © 1997-2009 Hardware.fr SARL. Tous droits et bases réservés
Version anglaise BeHardware réalisée par la même équipe rédactionnelle.

Note au sujet des données personnelles

Hit-Parade
83.243.20.80
PUBLICITE

Liens sponsorisés LDLC
- NVIDIA GeForce 7800 GTX

  www.ldlc.com