-
Dessin à l'écran
Bonjour à tous
Je dois développer une application chargé d'afficher à l'écran des cibles qui se déplacent.
Mon problème est le suivant, actuellement, je dessine sur le Canvas mais cela scintille énormément même en activant le double buffer.
J'ai donc voulu utiliser OpenGL, mais l'intégration dans C++ builder me pose énormément de problème.
Donc, est ce que quelqu'un connaitrait une méthode d'affichage qui me permette de limitter ce scintillement et qui soit pas trop compliqué à mettre en oeuvre, ou alors la marche a suivre pour intégrer OpenGL.
Merci d'avance
-
GLUT est ton ami ... :wink:
http://www.opengl.org/resources/libraries/glut.html
Bon courage ...
-
Justement, j'ai essayer de l'intégrer la glut est j'ai une erreur dans la librairie.
Voir ici
Si tu as un bou de code pour m'expliquer comment faire, je suis prenneur
-
Il y a une librarie OpenGL pour Delphi/CBuilder. GLScene, tu trouveras aussi des composants plus simples à utiliser car en fait pour faire du OpenGL tu n'a besoin que d'une zone de dessin (un DeviceContexte du GDI), d'où la 3ème solution tu le fais toi-même.
Mot clé à chercher pour touver des composants : TPanel OpenGL, car la plupart du temps ces composants sont des TPanels dans lesquels on a overridé le OnPaint et le OnEraseBckgnd.
Si tu le fait toi-même c'est tout ce que tu as à faire, mais tu dois aussi initialiser OpenGL avec les fonctions Wiggle de l'API Wind32 (fonctions commençant par wgl).
Enfin il te faudra gérer l'animation dans le OnIdle de ton application.
Le plus simple si je te parle chinois c'est encore de chercher un composant, car la mise en oeuvre de tout ça en partant de rien de demandera tout de même un peu de temps. Le seul ennui c'est qu'il faudra que tu d'adapte au format interne de ses objets.
-
Salut !
Peut-être qu'il ne sert à rien de representer le mouvement des cibles
par incrémentation en x, y. Ce qui peut expliquer les problèmes de
scintillements. (charge graphique trop importante)
L'illusion est la même pour un déplacement par pas de (n) en x et y !
D'ailleurs, pour de très grandes vitesses on aurait droit à une persistence
assez gênante avec un mouvement par incrémentation.
Même le cinéma n'utilise que 24 images par secondes et pourtant... tout semble
fluide (chaque image étant vue deux fois pour une question de scintillement... il me
semble) !
Peut-être revoir les algos du mouvement des cibles !
A plus !