Les erreurs types à ne pas commettre OpenGL Carina Portella Jean-Philippe Reynier DESS TNI – IDI Année 2004-2005.

Slides:



Advertisements
Présentations similaires
Aurélien Barbier LIRIS Université Claude Bernard Lyon 1 Nautibus, 8 boulevard Niels.
Advertisements

Z y x Repère des objets (repère de modélisation) x z y Repère du monde.
( Application Programming Interface)
Le struts validator – framework de validation
La Gestion de la Configuration
Les Evolutions et la Maintenance
LOD et Progressive Meshes (maillages progressifs) Hugue Hoppes 1996
The Reyes Image Rendering Architecture
Technique des Surfels Surfels: Surface Elements as Rendering Primitives SIGGRAPH 2000 H.Pfiste, J.van Baar, M.Zwicker, M.Gross.
Cours 3-b Méthode des éléments finis 1D
Juin 2000page 1 Informatisation de la gestion des Fonds structurels européens Ministère de la Région wallonne Informatisation de la gestion des Fonds structurels.
à partir notamment du cours Siggraph 97 et d’autres ….
Les grèves. 2 Cadre réglementaire Le droit de grève dans les services publics est régi par le CODE DU TRAVAIL : Art. L à Art. L Dans le cadre.
Etalonnage d’un capteur résistif
Conception d’une application de gestion de fiches études
12 novembre 2012 Grégory Petit
Algorithmique et Structures de données
RETOUCHE DE PHOTOS ET PEINTURE AVEC LES STYLES DE CALQUE
Réalisation dun travail concret avec des matrices Afficher un objet 3D sur une surface Lui appliqué des transformations Le voir se transformer suivant.
Structures de données linéaires
ManageEngine ADManager Plus 6
Algorithmique et Programmation
Création d’un programme :
Auto Exterior Scoop SQP PROCESSUS 29 avril, 2004 Version validée V00.
1 Transformations affines But: fixer le positionnement et lorientation des objets de la scène.
Transformations de visualisation en OpenGL
Administration de bases de données spatiales avec SavGIS
Génération de feuilles de style pour site Web par un
Auto Exterior Scoop SQP PROCESSUS 24 juillet 2006 Version validée V01.
INTÉGRER DES TEXTURES © 2010 Frederic DAVID. Le but de ce traitement est dintégrer des textures afin de vieillir artificiellement une image Image traitée.
Systèmes d’équations linéaires
IFT1025, Programmation 2 Jian-Yun Nie
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Gestion des événements liés à la fenêtre et aux périphériques dentrée.
Transformation linéaires
Modélisation géométrique à l’aide d’un maillage
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
TRAITEMENT D’IMAGE SIF-1033.
Découpage des objets selon le volume de vue
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Techniques de points de contrôle en OpenGL : formes de Bézier
Représentation et traitement des images en OpenGL
PROTOTYPE D’UN PROGRAMME ÉCRIT EN C++ BASÉ SUR OPENGL
SIF-1033 Traitement d’image
Géométrie épipolaire (deux vues)
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
TP 11 - Fonctions de deux variables II
LA PROJECTION ORTHOGONALE AUX NORMES EUROPEENNNES
Tutorat en bio-informatique
TBI les tableaux blancs interactifs
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
CHAPITRE III Calcul vectoriel
Les différents modèles
Leçon 4 NOTION DE FONCTION Fabienne BUSSAC.
Les PREF, DEC, et jauges outils
Architecture et Fonctionnement d’un GPU Géométrie Rendu.
Visualisation des flots optiques en 3D
Post-optimisation, analyse de sensibilité et paramétrage
Projet Darties Groupe 2 15/12/2010. Objectifs fixés Réalisation de spécifications pour l’alimentation Travaux sur la partie restitution avec une démonstration.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Éclairage, ombrage Fiat lux !.
Objets et Actions Élémentaires.
TP n°3 – Implantation d’un atelier de mécanique avec le logiciel Impact   Une entreprise de décolletage souhaite aménager une zone stockage produit fini.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Correcteur de freinage ATE d’origine Des possibilités de commande puissance 2 – mécaniquement, hydrauliquement.
Image Ready SI28 _ P09 MACHIN Alexandre BRUTEL Aline.
Photoshop SI28 . P07 Fanny Fourmentez . Clémence Debaig.
L’image Quelques repères sur l’image Quelques repères sur l’image.
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Les erreurs types à ne pas commettre OpenGL Carina Portella Jean-Philippe Reynier DESS TNI – IDI Année

Introduction

Calcul des normales pour les surfaces Problème: glScalef() et normales Solutions: 1. glEnable(GL_NORMALIZE); 1. glEnable(GL_NORMALIZE);glEnable(GL_RESCALE_NORMAL); 2. Ne pas utiliser glScalef() 2. Ne pas utiliser glScalef() Calculs manuels Calculs manuels 3. Modifier les normales avant dappliquer le glscalef() 3. Modifier les normales avant dappliquer le glscalef()

Éclairage et tesselation Problème: éclairage peu nuancé dû au faible nombre de points Solution: réaliser une meilleure tesselation en augmentant le nombre de points de lobjet géométrique

Opérations et matrice courante Problème: résultat inattendu dune opération appliquée sur une matrice Solution: modifier la matrice courante avant dappliquer lopération (possibilité de vérifier la matrice actuelle avec glGetIntegerv() )

Débordement des piles de matrices Problème: glPushMatrix() nest pas pris en compte Solution: vérifier le nombre de matrices empilées grâce à glGetIntegerv()

Définition de tous les niveaux de mipmap Problème: texture de faible qualité 1. tous les niveaux de détail nont pas été définis 2. définition incorrecte des niveaux ne respectant pas le fait que chaque niveau de détail doit correspondre à la moitié du niveau précédent Solution: définir correctement tous les niveaux de detail ou employer gluBuild2DMipmaps()

Récupération de la luminosité dun pixel Problème: mauvaise correspondance entre la version couleur et la version en niveaux de gris ; cette correspondance étant calculée grâce à la luminosité du pixel Solution: - glPixelTransferf(GL_{R,G,B}_SCALE, coeff); - suppression dune couleur - ré-évalution du poids dune couleur glPixelTransferf(GL_RED_BIAS, 0.1); glPixelTransferf(GL_RED_BIAS, 0.1);

Etat des primitives Problème: - temps de traitement relativement long - comportement inattendu à lécran Solution: après utilisation dune primitive, ne pas oublier de la remettre à son état précédent

Récupérer létat dun pixel Problème: le changement de létat dune variable écrase létat précédent Solution 1: - créer des variables temporaires pour récupérer les états des variables avec glGetIntegerv() - modifier les états qui nous intéressent grâce à glPixelStorei() - Réaffecter les anciennes valeurs avec glPixelStorei() en utilisant les variables temporaires

Récupérer létat dun pixel Problème: le changement de létat dune variable écrase létat précédent Solution 2: - faire un glPushClientAttrib() pour effectuer une copie de lensemble des attributs des variables courantes - faire les modifications souhaitées - faire un glPopClientAttrib() pour récupérer les anciens états

Réglage de la couleur du raster Problème: tout changement de couleur après un glRasterPos2i nest pas pris en compte Solution: refaire un raster après chaque changement de couleur (glBitmap utilisant le raster)

Position de lorigine du dessin Problème: le dessin napparaît pas à la position souhaitée Solution: le comportement dOpenGl diffère de celui des autres API 2D (origine en haut à gauche) et 3D (en bas à gauche)

Buffer secondaire Problème: le buffer secondaire nest pas pris en compte par lapplication Solution: ne pas oublier de déclarer lutilisation dun buffer secondaire auprès dOpenGL