IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

[SDL] Rotation Jeu


Sujet :

SDL

  1. #1
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut [SDL] Rotation Jeu
    Tout d'abord je désire dire que je demanderais pas comment faire une rotation en C++ car j'ais cherché sur comment c'était possible ( que les modérateurs soient rassurés : ils n'auront pas a écrire pour la n ième fois de regarder dans la FAQ )
    Je développe actuellement un jeu dont le principe est quasiment le meme que celui de Counter Strike 2D : on dirige un perso et on tire sur les ennemis.
    Après avoir lu les différents topics postés sur différents forum , il m'a été donné de lire que la fonction de rotation était très lente : 5 minutes pour une rotation de rectangle ?!?
    Je n'ais pas testé la fonction ( rotozoom() je crois ) car des soucis divers dans mon code me l'ont faite oublier... Je désire créer le meme effet de rotation du mon perso que dans CS2D avec la souris mais s'il me faut 5 minutes... Quite à avoir des pertes de données , je désirerait créer le meme effet que dans CS2D mais avec un temps très courts ... Pouvez vous m'éclairer ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    5 min pour rotater un rectangle, c'est n'importe quoi (sauf si ton rectangle fait 10000x10000...)
    Moi en utilisant SGE, j'ai aucun problèmes: ça rotate sans problème des rectangle qui font 500x500 a environ 20 fps.

    Si vraiment tu ne veux pas perdre de temps à rotater les images de tes perso, tu peux toujours calculer toutes les rotations au lancement du prog.

  3. #3
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Plus c'est gros et plus c'est lent, y'a pas de mystère. Mais à condition de pas en abuser (pas d'images en 1024*1024 ou de sprites par milliers) et de faire ça proprement ça peut s'utiliser en temps réel (par contre le CPU va souffrir un peu).

    C'est effectivement à comparer avec la place mémoire utilisée par des sprites avec la rotation précalculée et l'approximation sur l'angle que ça entraine.

    Sinon la solution ultime est de passer par une API 3d même si c'est de la 2d. A peine plus compliqué et la rotation devient gratuite.

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    En effet, il y a deux grandes solutions à ce problème :

    Citation Envoyé par Sivrît
    C'est effectivement à comparer avec la place mémoire utilisée par des sprites avec la rotation précalculée et l'approximation sur l'angle que ça entraine.
    Sinon la solution ultime est de passer par une API 3d même si c'est de la 2d. A peine plus compliqué et la rotation devient gratuite.
    Personnellement, j'utilise souvent la 2ème solution en utilisant OpenGL pour calculer les rotations directement.

    Jc

  5. #5
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Comme Sivrît et fearyourself, la solution la plus logique est d'utiliser OpenGL pour le faire. Pour des raisons de performances.

    Sinon 5 min pour tourner une image... c'est vraiment pas optimisé à moins que ce soit comme le dis Jyaif 10000*10000 encodé sur 7 composantes

  6. #6
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    5 min pour rotater un rectangle, c'est n'importe quoi (sauf si ton rectangle fait 10000x10000...)
    En fait l'image du perso a "rotater" ( je ne sais pas si ça se dit ) fait 32*32...
    En tout cas je vais tester la fonction rotozoom() car je préfère ne pas trop m'étendre sur les autres librairies que je peux utiliser , je préfère me concentrer sur la SDL...

Discussions similaires

  1. [SDL] rotation d'une image
    Par orzhov dans le forum SDL
    Réponses: 1
    Dernier message: 20/05/2009, 15h13
  2. [SDL] Problème jeu de labyrinthe
    Par Gottfried dans le forum SDL
    Réponses: 4
    Dernier message: 25/07/2007, 16h18
  3. Jeu Astéroide / SDL
    Par hepsilonz dans le forum C++Builder
    Réponses: 5
    Dernier message: 25/10/2005, 18h46
  4. creation d'un jeu en opengl et SDL sous DevC++
    Par loka dans le forum OpenGL
    Réponses: 1
    Dernier message: 07/05/2005, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo