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

Contribuez Discussion :

Rotation d'une surface [Sources]


Sujet :

Contribuez

  1. #1
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut Rotation d'une surface
    Bonjour, Je vous propose un nouvel élément à utiliser : Rotation d'une surface



    Code source montrant comment faire des rotations d'une surface. Ce code propose deux fonctions qui calculent la rotation d'une surface. Une fonction recalculant la taille de la surface pour ne pas perdre d'information. Les deux fonctions allouent une nouvelle surface, il faudra s'occuper de la libération de mémoire. Voici les prototypes des deux fonctions :



    //Ne recalcule pas la taille, les bords seront perdus

    SDL_Surface* SDL_RotationCentral(SDL_Surface* origine, float angle);

    //Calcule la taille de la surface, les bords ne seront pas perdus

    SDL_Surface* SDL_RotationCentralN(SDL_Surface* origine, float angle);



    Dernière remarque :

    • Il faut noter que l'on parcourt la surface de destination et non la surface d'origine pour forcer chaque pixel de destination a avoir une couleur à peu près correct (à peu près comme une rotation en informatique est dans la plupart des cas non bijective). Alors que si l'on parcourait les pixels de la surface d'origine et on déterminait sa nouvelle position, il pourrait y avoir des trous noirs dans la surface de destination.




    Qu'en pensez-vous ?
    Je ne répondrai à aucune question technique en privé

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 428
    Points : 170
    Points
    170
    Par défaut
    Merci pour ton code serait-il possible de faire un exemple (voir une image en rotation avec sdl)

  3. #3
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 215
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par hbx360 Voir le message
    Merci pour ton code serait-il possible de faire un exemple (voir une image en rotation avec sdl)
    Je te déconseille d'utiliser la SDL 1.2 pour faire des rotations surtout que c'est assez long en calcul (sauf si il a fait une version optimisé et encore).
    Pour ce genre d'effet faut mieux aller du coter de la SDL 2.0/SFML ou OpenGL.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 428
    Points : 170
    Points
    170
    Par défaut
    Ok merci pour le conseil

  5. #5
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Salut tout le monde,

    et salut kannagi, j'interviens dans cette discussion car j'ai essayer pour mon jeu battle-rage qui est pre-release de faire un masque des combattants pour soustraire le nombre de points de vie car mes images de fighters contiennent des pixels transparents.

    J'ai réussis a faire les masques: des pixels noires qui sont placés là ou est le fighter. Donc un fighter en noir et transparent.

    Mais là ou je n'ai pas pus c'est comparez les masques: ça prends trop de temps de calcule de comparé pixel par pixel.

    Sinon le jeux prends en compte la largeur de pénétration de l'image du fighter au lieu du masque, dommage !
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2011, 11h43
  2. Rotation et zoom d'une surface
    Par Sivrît dans le forum Contribuez
    Réponses: 0
    Dernier message: 21/12/2010, 16h06
  3. Effet Fade In / Fade Out sur une surface DirectDraw
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 08/09/2002, 18h37
  4. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 16h23
  5. Redimensionnement d'une surface
    Par Freakazoid dans le forum DirectX
    Réponses: 4
    Dernier message: 01/07/2002, 23h01

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