|
Exercice OpenGLcomposant_page_inclusion 100051
MECA2170 - Projet OpenGLL'énoncé 08-09 du projet : Une boule qui tombe à l'eauImaginez une boule de billard tombant dans un bac rempli d'eau. L'eau est initialement au repos et la boule est lachée un peu au-dessus de la surface. La boule va pénétrer dans l'eau, mettre en mouvement la surface de l'eau et rebondir dans le fond du bac avant de s'immobiliser. La surface d'eau va elle aussi bouger avant de revenir progressivement à un état de repos. Votre tâche est d'écrire un programme C ou C++ utilisant les librairies OpenGL et permettant la visualisation du mouvement de la boule et de la surface de manière crédible dans une fenêtre de 500x500 pixels. Il faut donc -en particulier- tenir compte du contact entre le fond du bac et la boule, et des rebondissements de celle-ci, et imaginer une déformation plausible de la surface d'eau. Les consignes :
Quelques références (disponibles à la bibliothèque INGI)
Comment compiler avec votre ordinateur sous Linux ?Les distributions modernes sont très faciles à installer (fini le temps où il fallait passer 2 jours pour configurer X) et sont l'environnement idéal pour compiler des applications C.Seuls certains portables posent encore parfois (rarement) des problèmes existentiels pour Linux. Cependant, pour exécuter une application OpenGL, il vous faudra installer les drivers (la plupart du temps propriétaires) de votre carte vidéo. Les grands standards nVidia et ATI sont en général bien supportés (quoique ...). La distribution recommandée par l'assistant est Ubuntu. C'est une distribution grand public, avec un installeur graphique et les drivers vidéos ATI et nVidia précompilés. De plus, la communauté Ubuntu étant très active, vous trouverez pléthores de forums vous aidant à installer et configurer votre machine. Pour pouvoir compiler, vous devez installer différentes composantes :
Packages à installer : build-essential (metapackage reprenant tout ce qui est nécessaire au programmeur), ou gcc et make
Les librairies OpenGL et leurs sources (glut et mesa).Packages à installer : freeglut3, freeglut3-dev, libgl1-mesa-dev, libglu1-mesa-dev et mesa-common-dev
Pour les autres distributions, vous devez installer les mêmes composants, et les packages correspondant doivent avoir des noms similaires. Comment compiler avec votre ordinateur sous Windows ?Si vous disposez de Visual Studio, vous pouvez suivre les instructions fournies par Quentin Colmant (MAP23 2005-2006) en ayant au préalable téléchargé les librairies nécessaires. Une autre option consiste à installer cygwin sur votre machine Windows et de compiler directement avec un makefile. Toute l'information la plus récente est disponible sur le web. N'ayant pas d'ordinateur sous Windows-Vista, il m'est difficile de vous fournir plus d'informations à ce sujet. Pour compiler en salle didactiquePour obtenir un exécutable sur les PCs sous Linux "candux#" la compilation et l'édition de lien se font via la commande :gcc -I/usr/include \ *.c -O2 -ansi -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE \ -lglut -lGLU -lGL -lm \ -L/usr/lib/X11/lib -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE En quelques mots, les diverses arguments lors de la compilation et de l'édition de liens peuvent s'interpréter comme suit :
L'ordre des librairies n'est pas innocent, il s'agit normalement de citer d'abord les librairies de plus haut niveau qui se basent sur celles du plus bas niveau. Il est possible que temporairement, sur certains PCs de l'environnement facultaire, l'include "glut.h" ne soit pas disponible (la distribution automatique du package glut-dev le contenant est en cours de réalisation par notre équipe facultaire informatique bien-aimée). Dans ce cas, une solution simple consiste à créer un répertoire GL dans la directory courante et d'y recopier le fichier glut.h à l'intérieur. Documentation
Des exemplesQuelques liens potentiellement utiles
|
27/11/2007
|
|
||||||||||||||||||||