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

OpenGL Discussion :

3d side scrolling retrogame


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Par défaut 3d side scrolling retrogame
    salut a tous!
    voila je me suis lancé avec l opengl et la sdl , et je suis entrain de develloppé un petit jeu pour le fun.

    parcontre j ai un soucis au niveau calcul,



    dans l'image ci dessous,
    mon perso en 2d se deplace dans un repere en 2D (x y) placé dans un repere 3d (x y z) dans le plan xOy

    au niveau du code j ai fait ceci en gros:
    glOrtho(-1*z,1*z,-1*z,1*z,-1000,1000);
    ////le perso en 2d
    gluPerspective(45,(double)450/300,1,100);
    ///le decor, platforme etc....
    le probleme est que j ai deux camera, une pour le gl ortho, et l autre pour le gluperspective.
    quand je deplace mes deux cameras en meme temps, il y en a un qui se deplace plus vite que l autre.
    comme faire pour que les deux se deplace a meme vitesse de maniere constante? j ai mis des valeur comme ca a vu doeil, mais je trouve pas la relation mathematique.

    merci d avance pour ceux qui auront des idées

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Par défaut
    Salut,

    tout d abord pourquoi as tu besoin d une projection ortho pour ton perso ? Soit tu passe tout en ortho soit tout en perspective pour rendre ton univers. L ortho vas etre utile pour afficher le HUD en surimpression ou alors pour mixer 2D et 3D.

    En utilisant une projection ortho et une projection perspective, tu ne pourras jamais les faire concorder correctement (A moins que tout tes objets en ortho soient sur un plan perpendiculaire a la camera mais ca ne sert toujours a rien). Si tu te demandes pourquoi, creuse un peu ce qu est une projection ortho et projection perspective.

    Pour ton perso, utilise un quad dans ton univers 3D avec la projection perspective. Tu peux eventuellement utiliser un billboard egalement : c est un quad toujours orienté vers la camera (ou qui s oriente selon un axe seulement). Tout depend de ta vue en fait. Comme ca ton personnage sera correctement intégré dans l univers (y compris en z : plus il sera loin plus il sera petit)
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Par défaut
    Salut Frifron

    j'utilise la projection ortho2D pour le perso car je preserve ses dimensions.
    comme tu le disais, je peux utilisé un quad representant une texture du perso, en billboard, mais j aurais un probleme de scalling.
    le perso comme tu le vois est du type "oldschool". Graphiquement le perso deviendra assez moche s'il est scalé en fonction de z.

    a moins que tu connaisses un exemple(tutorial ou code) ou l'on peut mettre un quad d'une texture avec des parametres qui preservent les dimensions de la texture au pixel pres?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Par défaut
    désolé, ce que je venais de dire est faux, j ai pas approfondi assez ta solution.

    voila ce que j obtiens:



    pour le rendu, pixelement parfait
    celui de droite est le quad du gluperspective, le perso de gauche est celui de l ortho.

    parcontre je ne trouve toujours pas la relation mathematique, j ai juste bidouiller le scalling afin d obtenir la bonne taille pour le perso.

    le viewport est de 450*300
    gluPerspective(45,(double)450/300,1,100);

    le scale du quad est de glScalef(0.22,0.16,0.22);

Discussions similaires

  1. [Recrutement] Projet Escape - Jeu 2d Side-Scrolling
    Par Orvak dans le forum Projets
    Réponses: 1
    Dernier message: 27/09/2012, 18h03
  2. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  3. le fameux scrolling
    Par tanmieu dans le forum DirectX
    Réponses: 4
    Dernier message: 27/05/2003, 23h25
  4. scrolling vertical et horizontal
    Par myriam dans le forum MFC
    Réponses: 2
    Dernier message: 24/01/2003, 17h06
  5. scroll dans un label
    Par Pretender dans le forum Composants VCL
    Réponses: 9
    Dernier message: 27/09/2002, 17h06

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