Cours / Sujets / Notes : M2 - Images
Année 2013-2014



Accès direct à une rubrique :


installation personnelle de gKit, glew, sdl, sdl_image et sdl_ttf + mise à jour des drivers video.



[revenir à la page d'acceuil]


Supports de cours :

Rendu Temps Réel / openGL

introduction

CM1  - openGL3
CM2  - vertex buffers
CM3  - pipeline et shaders
CM4  - geometry shaders et instanciation
CM4  - notions : lumière, matière et couleurs
CM5  - textures, filtrage, framebuffers et rendu multi-passes
CM6  - transform feedback et rendu multi-passes
CM7  - simulation - notions
CM8  - introduction Monte Carlo

CM7  - openGL4 et tesselation
CM8  - gestion de scène, élimination des objets cachés
CM9  - utilisation efficace de l'api openGL : organisation des données, changement d'états
CM10 - compute shaders


Résumé de l'api opengl3


TP1  TP2


Rendu Réaliste

CM1 - introduction lancer de rayon
CM2 - structures accélératrices / hiérarchie d'englobants
CM3 - éclairage direct et méthodes de Monte Carlo


TP1

visualisation interactions lumière / matière



Rendu Avancé :

Réalité augmentée réaliste (jean-philipe.farrugia) :

CM1 - Réalité augmentée réaliste, partie 1

TP1 - Imagerie HDR. code
TP2 - Traitements HDR. code
TP3 - Eclairement basé image. Images code.


Rendu de scènes complexes (jean-claude.iehl) :

CM1 - Méthodes out-of-core
CM2 - Réorganisation du pipeline graphique / découpler visibilité et éclairage
CM3 - Modèles multi-échelles / préfiltrage
CM4 - Rendu direct / différé

TP1 - rendu direct /différé





Lectures recommandées / Documents

lancer de rayons :

    recueil de formules (très) utiles : "Global Illumination Compendium", P. Dutre.
   

temps réel (openGL) :

    openGL SDK
    openGL2 man pages
    openGL3 man pages
    openGL4 man pages

    SDL Programming Guide

calculs avec des floats / doubles :

    What Every Computer Scientist Should Know About Floating Point Arithmetic, D. Goldberg, 1991




Installation des librairies supplémentaires pour utiliser gKit

Le plus simple est d'installer toutes les librairies dans le meme repertoire, celui de gKit2/local/linux/, par exemple.

recuperer premake 4 pour générer les projets pour votre environnement de developpement : http://industriousone.com/premake/download

recuperer les sources de glew : http://glew.sourceforge.net/


recuperer les sources de sdl2, sdl2_image et sdl2_ttf (penser a installer mercurial, autoconf et automake, si necessaire) :

    hg clone http://hg.libsdl.org/SDL
    hg clone http://hg.libsdl.org/SDL_image
    hg clone http://hg.libsdl.org/SDL_ttf

    cd SDL
    ./autogen.sh
    mkdir build; cd build
    ../configure --prefix repertoire
    make -j8
    make install

    cd SDL_image
    ./autogen.sh
    mkdir build; cd build
    ../configure --prefix repertoire
    make -j8
    make install

    cd SDL_ttf
    ./autogen.sh
    mkdir build; cd build
    ../configure --prefix repertoire
    make -j8
    make install

si mercurial n'est pas disponible : chargez les sources sdl2, sdl2_image et sdl2_ttf, pour compiler :

    cd SDL
    mkdir build; cd build
    ../configure --prefix repertoire
    make -j8
    make install

    cd SDL_image
    mkdir build; cd build
    ../configure --prefix repertoire
    make -j8
    make install

    cd SDL_ttf
    mkdir build; cd build
    ../configure --prefix repertoire
    make -j8
    make install


au final, vous devez obtenir la hiérarchie suivante :

repertoire/
    bin/
        sdl2-config
    include/
        SDL2/
            SDL.h
            SDL_image.h
            SDL_ttf.h
        GL/
            glew.h
    lib/
        libGLEW.so
        libSDL2.so
        libSDL2_image.so
        libSDL2_ttf.so


pensez à modifier les variables correspondantes dans le fichier premake4.lua afin de générer les projets correctement configurés :

    local glew_include= "$(PWD)/local/linux/include"
    local glew_lib= "$(PWD)/local/linux/lib"
           
    local sdl2_include= "$(PWD)/local/linux/include"
    local sdl2_lib= "$(PWD)/local/linux/lib"

et regénérez les projets avec premake, par exemple pour des makefiles :

    premake4 gmake; make help;


sur mac OS X :

    utilisez un gestionnaire de paquets comme http://www.macports.org/. GLEW 1.10, SDL2, SDL2_image et SDL2_ttf sont disponibles.


mise à jour des drivers video :

installer les derniers drivers video pour nvidia, ati et intel, en installant un paquet ppa (ubuntu et derives) :
https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
pensez à redemarrer la machine après la mise à jour des drivers.


un mot sur les fonctionnalités des cartes graphiques :


pour intel, la version openGL supportee dépend du systeme :
    HD2000 et HD3000 opengl3 ou directx 10 sous windows, mais tres limité sous linux.
    HD2500 et HD4000 opengl4 ou directx 11 sous windows, mais limité à openGL 3.1 sous linux et mac OS

    cette page wikipedia devrait vous aider : Comparison_of_Intel_graphics_processing_units



Archives

    2012
    2011
    2010
    2009
    2008
    2007
    2006

    L3IF - Images (ENS)
    M2 RECHERCHE - Images