1 / 28

GRAPHISME PAR ORDINATEUR

GRAPHISME PAR ORDINATEUR. SIF-1032. Contenu du cours 11. Ajout de sons, gestion du temps Formes quadratiques diverses Sphere Mapping Site NeHe: Leçons 21, 18, 24. Ajout de sons, gestion du temps. Structures importantes du projet AMIDAR (leçon 21)

leora
Download Presentation

GRAPHISME PAR ORDINATEUR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GRAPHISME PAR ORDINATEUR SIF-1032

  2. Contenu du cours 11 • Ajout de sons, gestion du temps • Formes quadratiques diverses • Sphere Mapping • Site NeHe: Leçons 21, 18, 24

  3. Ajout de sons, gestion du temps • Structures importantes du projet AMIDAR (leçon 21) • Structure object pour définir notre joueur et ses ennemis

  4. Ajout de sons, gestion du temps • Projet AMIDAR (leçon 21)

  5. Ajout de sons, gestion du temps • Structures importantes du projet AMIDAR (leçon 21) • Structure timer pour faciliter la gestion des variables temporelles

  6. Ajout de sons, gestion du temps • Fonctions importantes du projet AMIDAR (leçon 21) • Fonction TimerInit() pour l’initialisation d’un chronomètre

  7. Ajout de sons, gestion du temps • Fonctions importantes du projet AMIDAR (leçon 21) • Fonction TimerInit() pour l’initialisation d’un chronomètre

  8. Ajout de sons, gestion du temps • Fonctions importantes du projet AMIDAR (leçon 21) • Fonction TimerGetTime() qui retourne le temps écoulé en milliseconde depuis de l’initialisation du chronomètre

  9. Ajout de sons, gestion du temps • La plus simple des routines permettant de jouer des fichiers .wav est la fonction de la librairie multimédia de Microsoft PlaySound() • PlaySound() utilise trois paramètres: • Le nom du fichier .wav à jouer • Le second paramètre est NULL dans notre contexte d’utilisation • Le troisième paramètre permet d’établir le mode avec lequel le son est joué • SND_SYNC: le programme appelant est stoppé tant que la séquence audio n’est pas terminée • SND_ASYNC: le contraire du mode synchrone

  10. Ajout de sons • Pour permettre l’utilisation de la fonction PlaySound() il faut inclure la librairie winmm.lib dans le projet (Project/Settings/Link) • Dans le projet lesson21 (NeHe.gamedev.net) à chaque fois qu’un de nos joueurs est tué le fichier .wav Die.wav est jouer en mode synchrone • Lorsque le joueur touche au sablier le fichier freeze.wav est joué sans arrêt (SND_LOOP) et sans que le programme ne soit stoppé (SND_ASYNC) • Pour arrêter une séquence audio il faut réinitialiser le mode à 0

  11. Ajout de sons • Projet lesson21 (NeHe.gamedev.net)

  12. Ajout de sons • Projet lesson21 (NeHe.gamedev.net)

  13. Ajout de sons • Projet lesson21 (NeHe.gamedev.net)

  14. Ajout de sons • Projet lesson21 (NeHe.gamedev.net)

  15. Ajout de sons • Projet lesson21 (NeHe.gamedev.net)

  16. Ajout de sons • Projet lesson21 (NeHe.gamedev.net)

  17. Formes quadratiques diverses • La création d’un cylindre est effectuée par la commande: • gluCylinder(GLUquadricObj *quadric, rb, rt,h, nsxy, nsz); • quadric: objet quadric • rb: rayon à la base du cylindre • rh: rayon en haut du cylindre • h: hauteur du cylindre • nsxy: nombre de subdivisions dans le plan xy • nsz: nombre de subdivisions selon l’axe z

  18. Formes quadratiques diverses • Cylindre texturé

  19. Formes quadratiques diverses • Cylindre

  20. Formes quadratiques diverses • Un cône peut être créé en initialisant un des rayons des extrémités du cylindre à 0

  21. Formes quadratiques diverses • La création d’un disque est effectuée par la commande: • gluDisk(GLUquadricObj *quadric, rc, re,nt, np); • quadric: objet quadric • rc: rayon au centre du disque • re: rayon à l’extérieur du disque • nt: nombre de tranches (pointes) • np: nombre de pistes (cercles)

  22. Formes quadratiques diverses • La création d’une sphère est effectuée par la commande: • gluSphere(GLUquadricObj *quadric, r, nsxy, nsz); • quadric: objet quadric • r: rayon de la sphère • nsxy: nombre de subdivisions dans le plan xy • nsz: nombre de subdivisions selon l’axe z

  23. Sphere Mapping • La projection d’une scène sur une surface sphérique réfléchissante (sphere map) telle une sphère métallique est en fait une image de la scène projetée sur la sphère avec toute les déformations que cela comporte • Nous pouvons créer cet effet de projection en utilisant l’effet lentille d’œil de poisson (Fish eye lens) offert par Adobe PhotoShop • Étape de création d’une scène projetée avec PhotoShop: • Obtenir une image de la scène à projetée • Ouvrir cette image dans PS • Copier cette image dans une fenêtre ouverte lors de la création d’une nouvelle image format PSD

  24. Sphere Mapping • Étape de création d’une scène projetée avec PhotoShop: • Après avoir copié l’image originale dans une nouvelle image de format PSD • Redimensionner l’image selon les dimensions valides de texture (128X128, 256X256), utiliser le menu image, sélectionner dimension d’image, désactiver les proportions contraintes et redimensionner selon une dimension valide • Créer la déformation en sélectionnant le menu filtre et en sélectionnant par la suite distort et appliquant l’effet sphérique (spherize modifier) • Sauvegarder l’image résultante en format .bmp

  25. Sphere Mapping

  26. Sphere Mapping • Pour permettre l’ajout de texture sur des formes sphériques il faut indiquer à OpenGL comment générer automatiquement les coordonnées de texture s et t basées sur les formules de projection sphérique

  27. Sphere Mapping • Projection d’une texture sur un objet sphérique (projet leçon 24)

  28. Sphere Mapping • Arrière plan (projet leçon 24)

More Related