LIBRAIRIES GRAPHIQUES NORMES GRAPHIQUES CONSTRUCTION DUN PACKAGE GRAPHIQUE
LIBRAIRIES GRAPHIQUES & NORMES GRAPHIQUES
CONSTRUCTION D’UN PACKAGE GRAPHIQUE DÉFINITION : Ensemble de primitives graphiques utilisées par un programme d’application pour générer des images. CRITÈRES DE QUALITÉ D’UNE BONNE LIBRAIRIE : Primitives graphiques simples, facilité d’utilisation Consistance : éviter les manuels d’exception Librairie complète : effectuer un partitionnement en tâches Robustesse : corriger les erreurs triviales de l’usager Performance Économie de ressources. 2
NORMES GRAPHIQUES Buts : Définir un interface de programmation graphique 1 entre deux composantes pour : Séparer l’affichage 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. 1 Application Programmer’s Interface (API) Rôle : permettre à un programme d’applications d’être transportable sur différentes installations; faciliter la compréhension et l’utilisation d’une méthode en infographie; faciliter le développement de nouvelles applications; sert de guide aux manufacturiers d’équipements graphiques. 3
Organisation gérant les standards ISO (International Standards Organization) ANSI (American National Standards Institute) Comité X 3 (traitement de l’information) Comité X 3 H 3 (infographie) 4
CORE Un premier prototype (77 -79) : le système CORE. Rendre les applications indépendantes du matériel. Renferme : Une liste des primitives de sortie (2 D et 3 D) Une liste des primitives d’entré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. 5
Graphical Kernel System (GKS) Il fut le premier effort de définition d’une interface de programmation graphique. Standard international (ISO) en 85. Ne traite que le dessin en 2 D. 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-3 D, une généralisation immédiate du plan à l’espace 3 D. Il s’agit toujours d’un logiciel de dessin seulement; on ne parle pas encore de synthèse d’images. 6
Composantes de GKS PROCÉDURES GÉNÉRALES de GKS Ouverture et fermeture à GKS Définitions de fenêtres 2 D Définitions de viewports 2 D Sélection d’une fenêtre et d’un 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 l’image affichée à une station Définir de nouvelles couleurs pour une station. STATION DE TRAVAIL : Terminal graphique, station graphique, imprimante, traceur, etc. 7
Composantes de GKS (suite 1) PRIMITIVES D’AFFICHAGE : Affichage d’un polygone avec une forme de trait et une couleur de contour donnée, Affichage d’une liste de marqueurs de natures, formes, dimensions, couleurs données, Coloriage ou “ texturage ” d’une surface polygonale, Affichage d’un texte avec une couleur, une hauteur des caractères, un mode d’alignement, une fonte, un espacement des caractères, un indicateur s’il y a découpage ou non, … EXTENSION DE GKS : Introduire la notion de position courante Primitives d’affichage d’objets 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 d’autres segments pour la visibilité - supprimé 8 - inséré dans un autre segment.
Composantes de GKS (suite 2) PRIMITIVES D’ENTRÉ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 d’entrée une intervention de l’opérateur sur l’appareil spécifié. échantillonné (“ sample ”) : La lecture du périphérique est effectuée immédiatement, sans attendre d’intervention de l’opérateur. par événement (“ event ”) : - l’opérateur intervient sur l’appareil d’entrée de façon asynchrone. - GKS enregistre les actions dans une file d’attente qui peut être consultée n’importe quand par le programme. 5 types de périphériques - lecture d’une position [locator] - lecture d’une valeur [valuator] - lecture d’un nom [string] - choix dans un menu [choice] - désignation d’un objet [pick] 9
Place de GKS dans la hiérarchie logicielle UTILISATEUR APPLICATION LANGAGE DE PROGRAMMATION GKS “ DRIVERS ” Matériel graphique 10
Programmer’s Hierarchical Interactive Graphics System (PHIGS) Norme approuvée en 1989. Particularités de PHIGS : Un objet est représenté à partir d’une structure hiérarchique constituée d’une 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 3 D - 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é. 11
PHIGS+ 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 d’ombrage, …) des fonctions permettant : l’élimination des parties cachées, le maillage polygonal, l’introduction de courbes paramétriques, etc. 12
GL Bibliothèque 3 D de base proposée par SGI (Silicon Graphics Inc. ) sur ses machines. Au fil des années, cette bibliothèque s’est imposée comme un standard. Elle a permis d’asseoir 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 d’utilisation, universalité d’emploi, ne suivant pas la voie de la normalisation, elle a pu offrir une implantation quasi-immédiate des meilleurs algorithmes de synthèse d’images. Difficultés qu’elle a rencontrées : Absence d’un certain nombre de fonctionnalités commodes A subi de fortes mutations : instable entre les versions. 13
Open. GL Proposé par un consortium formé par DEC, IBM, Intel, Microsoft et SGI) en 1993. Dérivé de la bibliothèque GL de SGI, Open. GL se veut indépendante : - du système de fenêtrage - du système d’exploitation. Il s’agit d’une 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 l’infographie. Open Inventor Basé sur Open. GL (proposé par SGI), il s’agit essentiellement d’un 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 14
Autres 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 d’archivage ou de transfert d’un programme d’application à 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 d’un système à un autre. 15
- Slides: 15