Infographie chapitre 3 - stephane- .–Quoi ? –Où ? • Dessiner ... local et global en infographie

  • View
    213

  • Download
    0

Embed Size (px)

Text of Infographie chapitre 3 - stephane- .–Quoi ? –Où ? • Dessiner ... local et global en...

  • 1

    Infographie v.2014

    HE-Arc / HES-SO BSc3

    Stphane Gobron

    Infographie chapitre 3

    Rendu fondamentaux :

    Algorithmes de base et techniques locales

  • 2

    Cadre de cette prsentation :

    Modlisation

    Rendu

    Animation

    E.g. Via

    OpenGL

    fluides

    E.g. NPR

    1

    2

    3E.g. Via

    OpenGL

    Avant-propos

  • 3

    Introduction

    1. Algorithmes de base

    2. Diverses techniques locales

    Rfrence / conclusion / discussion

    Plan

  • 4

    Plan

    Introduction

    1. Algorithmes de base

    2. Diverses techniques locales

    Rfrence / conclusion / discussion

    i. Buts du rendu

    ii. Buts de ce cours

    iii. Pr requis

    vi. Un "bon" rendu

  • 5

    Introduction

    i. Buts du rendu

    Percevoir les objets visibles

    Quoi ?

    O ?

    Dessiner ces objets

    Comment ?

  • 6

    Introduction

    ii. Buts de ce cours

    Prsenter les principales mthodes et techniques de rendu

    local et global en infographie

    A noter : pour une meilleure comprhension des approches relatives lclairage global, une brve interprtation formelle sera prsente

    Pour ltudiant, les objectifs atteindre sont

    Connatre les avantages et faiblesses de ces techniques et mthodes de rendu fondamentales

    Savoir choisir une mthode de rendu adapte pour rendre telle ou telle

    scne base sur un ou plusieurs modles gomtriques que ce soit dans

    le cadre de dveloppement ou d'option logicielle

  • 7

    Introduction

    iii. Pr requis

    Il est prfrable de connatre

    Les algorithmes de base de infographie 2D

    Les diffrents modles gomtriques en infographie

    Les bases de la gomtrie projective

  • 8

    Introduction

    iv. Un "bon" rendu

    Le rendu est influenc par

    Le/les types de modles gomtriques

    De nombreuses techniques et mthodes

    Affectation locale ou globale (scne ou cran)

    Ces principes peuvent tre combins

    => On ne peut pas dfinir de proprits relatives

    un bon rendu

  • 9

    Plan

    Introduction

    1. Algorithmes de base

    2. Diverses techniques locales

    Rfrence / conclusion / discussion

    1.1 Algorithme du peintre

    1.2 Z-buffer

    1.3 Area subdivision

    1.4 Illumination locale de Phong

    1.5 Shadings de Gouraud et de Phong

  • 10

    1. Algorithmes de base

    1.1 Algorithme du peintre

    Tri par la profondeur

    On dessine dabord les polygones les plus

    lointains, puis les polygones proches de lil

    Les polygones plus proches cachent les polygones

    lointains

    Camra

  • 11

    Exercice et discussion

    Identifions les problmes de cette approche

    1. Algorithmes de base

    1.1 Algorithme du peintre -suite

  • 12

    1. Algorithmes de base

    1.1 Algorithme du peintre

    Avantages / inconvnients

    + Le plus simple des algorithmes

    - Ambigut

  • 13

    1. Algorithmes de base

    1.2 Z-buffer

    Principe Pour chaque polygone dans la liste de pr-slection

    Pour chaque pixel qui touche ce polygone

    Si Z courant est + petit que Z stock

    Alors stocker sa couleur et son Z Champs daction

  • 14

    1. Algorithmes de base

    1.2 Z-buffer

    Proprits

    Les ambiguts disparaissent

    Exemple

  • 15

    1. Algorithmes de base

    1.2 Z-buffer

    Rsultats

    Avantages Facile implmenter

    Inutile de trier les facettes

    Le dveloppement hardware est facile

    Require relativement peu de mmoire Env 9MB pour une rsolution de 1280x1024

    Inconvnients Gnre des problmes daliasing

    Un unique chantillon par pixel

    Ne gre pas les transparences

  • 16

    1. Algorithmes de base

    1.3 Area subdivision (1/5)

    Principe

    Algorithme de Warnock

    Principe Diviser lcran en zones de travail (Quadtree)

    Pour chaque zone => polygones inclus

    Si la visibilit est connue, sarrter

    Sinon subdiviser

    Interrompt la subdivision si une taille limite atteinte

  • 17

    EnglobeInclus

    1. Algorithmes de base

    1.3 Area subdivision (2/5)

    Zone de travail

    Intersecte Disjoint

  • 18

    Zone vide ou complte

    Tous les polygones sont disjoints

    Un seul polygone intersecte ou inclus

    Un polygone englobant qui est devant les autres

    1. Algorithmes de base

    1.3 Area subdivision (3/5)

    Visibilit connue

  • 19

    +/- Plus efficace avec des grands polygones

    - Cot mmoire parfois lev

    + Implmentation facile : appels rcursifs

    Exemple :

    1. Algorithmes de base

    1.3 Area subdivision (4/5)

    Pour ou contre

  • 20

    1. Algorithmes de base

    1.3 Area subdivision (5/5)

    Solutions optimises

    FOLEY et al. 1996: Divide-And-Conquer

    Division warnock

    Division utilisant les sommets des polygones

  • 21

    Trois grands effets pour gnrer un modle simple

    Lumire ambiante

    Lumire diffuse

    Lumire spculaire

    1. Algorithmes de base

    1.4 Illumination locale :

    modle de Phong (1/6)

  • 22

    1. Algorithmes de base

    1.4 Illumination locale : modle de Phong (2/6)

    Effet ambiant

    Couleur dpend uniquement de lobjet : I = Ia ka

    Ia lumire ambiante

    ka coefficient de rflexion ambiante

    Modle trs primitif Pas de sens physique possible

    La forme des objets est invisible

    Mais nanmoins trs utile pour masquer les dfauts des autres modles

    (ka)

  • 23

    1. Algorithmes de base

    1.4 Illumination locale : modle de Phong (3/6)

    Effet diffus

    Rflexion dans toutes les directions

    Matriaux mats

    I = Ip . kd . cos(q)

    Ip source ponctuelle

    kd coefficient de rflexion diffuse

    t angle entre la source et la normale

    (kd)

  • 24

    1. Algorithmes de base

    1.4 Illumination locale : modle de Phong (4/6)

    Effet ambiante et diffuse

    Lumire ambiante (ka) et diffuse (kd)

    (kd)

    (ka)

  • 25

    1. Algorithmes de base

    1.4 Illumination locale : modle de Phong (5/6)

    Effet spculaire

    Effet de brillance

    q

  • 26

    1. Algorithmes de base

    1.4 Illumination locale : modle de Phong (6/6)

    En pratique

    Tout ensemble Ambiant, diffus, et spculaire

    I = Iaka+ Ipkd cos(q)Ip ks cos(a)n

    avec un coefficient n reprsentant les proprits spculaires de la

    surface au point P

    Si plusieurs sources lumineuses :

    => somme des intensits

  • 27

    Un Shading ? "ombrage" /!\ cette traduction

    comment considrer les normales pour faire un dgrad de couleur?

    En effet :

    Deux modles : Gouraud et Phong

    Ne pas confondre modle d'illumination de Phonget modle de Shading (i.e. normale) de Phong

    q q a

    1. Algorithmes de base

    1.5 Shadings (1/5)

  • 28

    Exercice et discussion

    Rflchir sur le rapport entre vecteurs normaux et couleurs pour raliser le dgrad de couleur

    1. Algorithmes de base

    1.5 Shadings (1/5) suite

  • 29

    1. Algorithmes de base

    1.5 Shading (2/5)

    de Gouraud

    Gouraud ( Ombrage de ) Calcul des normales en chaque sommet

    Calcul de la couleur en ces sommets

    Interpole linaires des couleurs

    n1n2

    n3

    Pb Gouraud

    dgrad de couleur

  • 30

    Phong Quelque soit le pixel, calcul de la normale interpole ou par

    facette ou par sommet en ce point

    Calculs des couleurs correspondants

    Plus lent que Gouraud, mais spculaire plus net

    1. Algorithmes de base

    1.5 Shading (3/5)

    de Phong

    n1n2

    n3

    C1 C2C3

    Ci

  • 31

    Rsultat

    (n)

    (ks)

    1. Algorithmes de base

    1.5 Shading (4/5)

    de Phong

  • 32

    Un exemple de chez Pixar

    Phong / Gouraud

    1. Algorithmes de base

    1.5 Shading (5/5)

    Phong vs. Gouraud

  • 33

    Plan

    Introduction

    1. Algorithmes de base

    2. Diverses techniques locales

    Rfrence / conclusion / discussion2.1 Backface culling

    2.2 Bump mapping et normal map

    2.3 Textures

    2.4 Ombrages

  • 34

    Camra

    liminer tous les polygones qui ne sont pas tourns

    vers la camra

    2. Diverses techniques locales

    2.1 Backface culling

  • 35

    Camra

    Si le point de vue nest pas devant le polygone, on

    naffiche pas le polygone

    Utilisation du produit scalaire (vectCam . VectFacet)

    2. Diverses techniques locales

    2.1 Backface culling

    Principe

    +

    -

  • 36

    Comparaison avec / sans

    Rsultat identique sauf

    2 x plus rapide !

    2. Diverses techniques locales

    2.1 Backface culling

    Rsultat

  • 37

    2. Diverses techniques locales

    2.2 Bump mapping et normal map

    Principe

    Les deux : illusion de profondeur sur une surface plateDirection

    de la

    lumire

    Calcul de la

    gomtrie

    relle

    Illusion

    de gomtrie

    normal mapnormal map

  • 38

    2. Diverses techniques locales

    2.2 Bump mapping et normal map

    Application

    Bump mapping Grey image

    Lger

    mais un peu plus de calculs

    Normal map RGB image

    3x plus lourd

    mais moins de calculs

    Le cumul des deux techniques apporte

    lvations et normales et donner lieu moins

    de calcul pour pl