Title: LIBRAIRIES GRAPHIQUES
1LIBRAIRIES GRAPHIQUESNORMES GRAPHIQUES
2CONSTRUCTION DUN PACKAGE GRAPHIQUE DÉFINITION E
nsemble de primitives graphiques utilisées par un
programme dapplication pour générer des
images. CRITÈRES DE QUALITÉ DUNE BONNE
LIBRAIRIE ? Primitives graphiques simples,
facilité dutilisation ? Consistance éviter les
manuels dexception ? Librairie complète
effectuer un partitionnement en
tâches ? Robustesse corriger les erreurs
triviales de lusager ? Performance ? Économie de
ressources.
3NORMES GRAPHIQUES
Buts
Définir un interface de programmation graphique1
entre deux composantes pour
Séparer laffichage graphique de la modélisation
des objets graphiques
Séparer un système graphique en une partie
indépendante et une dépendante des périphériques.
Application Programmers Interface (API)
1
Rôle
permettre à un programme dapplications dêtre
transportable sur différentes installations
faciliter la compréhension et lutilisation dune
méthode en infographie
faciliter le développement de nouvelles
applications
sert de guide aux manufacturiers déquipements
graphiques.
4Organisation gérant les standards
ISO (International Standards Organization)
ANSI (American National Standards Institute)
Comité X3 (traitement de linformation)
Comité X3H3 (infographie)
5CORE
Un premier prototype (77-79) le système CORE.
Rendre les applications indépendantes du matériel.
Renferme
Une liste des primitives de sortie (2D et 3D)
Une liste des primitives dentrée
La notion de segment ou de groupe de primitives
La notion de méta-fichier pour le stockage des
objets graphiques
Plusieurs implantations voient le jour,
principalement aux États-Unis mais, les
divergences de détails les rendent rapidement
incompatibles.
6Graphical Kernel System (GKS)
Il fut le premier effort de définition dune
interface de programmation graphique.
Standard international (ISO) en 85.
Ne traite que le dessin en 2D.
Utilisé essentiellement en cartographie, CAO,
Ne répondit pas à toutes les attentes de
lépoque, en particulier en ce qui concerne la
portabilité des applications.
Un lien est fait avec le langage FORTRAN.
En 1988 apparaît GKS-3D, une généralisation
immédiate du plan à lespace 3D.
Il sagit toujours dun logiciel de dessin
seulement on ne parle pas encore de synthèse
dimages.
7Composantes de GKS
- PROCÉDURES GÉNÉRALES de GKS
- ? Ouverture et fermeture à GKS
- ? Définitions de fenêtres 2D
- ? Définitions de viewports 2D
- ? Sélection dune fenêtre et dun viewport
courants - PROCÉDURES TOUCHANT LES STATIONS DE TRAVAIL
- ? Ouvrir, fermer une station
- ? Activer, désactiver une station
- ? Définir les fenêtres et viewports pour chaque
station - ? Effacer limage affichée à une station
- ? Définir de nouvelles couleurs pour une station.
STATION DE TRAVAIL Terminal graphique, station
graphique, imprimante, traceur, etc.
8Composantes de GKS (suite 1)
PRIMITIVES DAFFICHAGE ? Affichage dun
polygone avec une forme de trait et une couleur
de contour donnée, ? Affichage dune liste de
marqueurs de natures, formes, dimensions,
couleurs données, ? Coloriage ou texturage
dune surface polygonale, ? Affichage dun texte
avec une couleur, une hauteur des caractères, un
mode dalignement, une fonte, un espacement des
caractères, un indicateur sil y a découpage ou
non, EXTENSION DE GKS ? Introduire la notion
de position courante ? Primitives daffichage
dobjets simples, non polygonaux.
CONCEPT DE SEGMENT DANS GKS ? un ensemble de
primitives GKS caractérisé par un numéro
(identificateur) ? un segment peut être -
déplacé (changement de repère) - rendu
visible ou invisible - prioritaire sur
dautres segments pour la visibilité -
supprimé - inséré dans un autre segment.
9Composantes de GKS (suite 2)
PRIMITIVES DENTRÉE DANS GKS ? Chaque
périphérique peut être géré selon un des 3 modes
de lecture requête ( request ) GKS
attend pour chaque demande dentrée une
intervention de lopérateur sur lappareil
spécifié. échantillonné ( sample ) La
lecture du périphérique est effectuée
immédiatement, sans attendre dintervention de
lopérateur. par événement ( event ) -
lopérateur intervient sur lappareil dentrée de
façon asynchrone. - GKS enregistre les actions
dans une file dattente qui peut être
consultée nimporte quand par le programme. ? 5
types de périphériques - lecture dune position
locator - lecture dune valeur valuator -
lecture dun nom string - choix dans un menu
choice - désignation dun objet pick
10Place de GKS dans la hiérarchie logicielle
UTILISATEUR APPLICATION LANGAGE DE
PROGRAMMATION GKS DRIVERS Matériel
graphique
11Programmers Hierarchical Interactive Graphics
System (PHIGS)
Norme approuvée en 1989.
Particularités de PHIGS
Un objet est représenté à partir dune structure
hiérarchique constituée dune liste déléments
qui peuvent être édités de manière
interactive comme un logiciel de traitement de
texte.
Chaque élément renferme
- des formes élémentaires 3D
- des attributs
- des transformations affines
- etc.
Une distinction est faite entre la construction
des objets et leur représentation.
Supporte un environnement hautement dynamique,
interactif CAO, simulation, contrôle de
procédés, modélisation moléculaire,
Reste très peu utilisé.
12PHIGS
En 1986, des extensions à PHIGS furent proposées
des fonctions de rendu réaliste (sources de
lumière, effet de profondeur, modèles de
réflexion (Gouraud) , techniques dombrage, )
des fonctions permettant lélimination des
parties cachées, le maillage
polygonal, lintroduction de courbes
paramétriques, etc.
13GL
Bibliothèque 3D de base proposée par SGI (Silicon
Graphics Inc.) sur ses machines.
Au fil des années, cette bibliothèque sest
imposée comme un standard.
Elle a permis dasseoir la notoriété de grandes
firmes de production en image de synthèse qui ont
ensuite, en retour, contribué au succès de
SGI. Ex. le film Jurassic Park .
Raisons de son succès
grande souplesse dutilisation,
universalité demploi,
ne suivant pas la voie de la normalisation, elle
a pu offrir une implantation quasi-immédiate des
meilleurs algorithmes de synthèse dimages.
Difficultés quelle a rencontrées
Absence dun certain nombre de fonctionnalités
commodes
A subi de fortes mutations instable entre les
versions.
14OpenGL
Proposé par un consortium formé par DEC, IBM,
Intel, Microsoft et SGI) en 1993.
Dérivé de la bibliothèque GL de SGI, OpenGL se
veut indépendante - du système de fenêtrage -
du système dexploitation.
Il sagit dune librairie publique, fruit de
plusieurs années dévolution, produite
et reconnue par la compagnie très reconnue SGI.
Standard de fait dans le monde de linfographie.
Open Inventor
Basé sur OpenGL (proposé par SGI), il sagit
essentiellement dun ensemble de classes en C
(boîte à outils très complète).
Propose un ensemble de fonctionnalités de haut
niveau.
Produit récent.
Autres bibliothèques
15Autres projets de standardisation
CGM ( Computer Graphics Metafile )
Définit de quelle façon les images graphiques
doivent être stockées sur des mémoires auxiliaires
pour des fins darchivage ou de transfert dun
programme dapplication à un autre.
CGI ( Computer Graphics Interface )
Contrôle et échange des données entre un logiciel
indépendant des périphériques et un ou plusieurs
périphériques.
IGES ( Initial Graphics Exchange System )
Permet de stocker ou de transférer des
informations graphiques dun système à un autre.