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 :

[D7] Comment faire de la 2d avec GLscène


Sujet :

OpenGL

  1. #1
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut [D7] Comment faire de la 2d avec GLscène
    Bonjour,

    Je souhaite faire un petit moteur 2d avec glscene. EN cherchant sur le forum j'ai vu qu'il faut passer en mode ortho. Comment fait t'on avec glscene? La doc sur se composants est assez dure à trouver surtout pour la 2d.

    Merci

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 531
    Points : 5 208
    Points
    5 208
    Par défaut
    En regardant sur le site de GLScene, on a accès à des projets "amateurs" dont celui nommé WAtomic, clone de KAtomic (que je ne connais pas ) et qui semble être un jeu de réflexion en 2D créé sous GLScene :
    http://watomic.sourceforge.net/

    Si tu oscultes un peu de code source du projet, disponible sur sourceforge, je pense que tu devrais trouver ton bonheur

  3. #3
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Je vais voir ça

    Merci

  4. #4
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    J'ai trouvé l'astuce mais j'ai un autre problème.

    Je charge une image depuis le gestionnaire de texture mais j'arrive pas à affecter une couleur de transparence.

  5. #5
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 531
    Points : 5 208
    Points
    5 208
    Par défaut
    Ne connaissant pas delphi ni GLScene je ne pourrai pas t'apporter la solution ultime.

    sinon pour la transparence sous opengl tu as 2 possibilité, la tranparence au niveau des vertex avec des couleur en 4 éléments (glColor4* en C) ou une transparence au niveau de la texture avec une couche alpha (texture en RGBA)
    dans les 2 cas, tu dois activer la transparence (glEnable(GL_BLEND) en C) et paramétrer la fonction de transparence (glBlendFunc(..., ...) toujours en C)

    vois déjà si au moins l'un des 2 cas est respecté et surtout l'activation

  6. #6
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    ça y est j'ai trouvé!!! Merci beaucoup

    suffit d'activer le blend. Par contre moi la couleur de transparence c'est le superblack (0,0,0,0). On peut changer la couleur de transparence?

  7. #7
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 531
    Points : 5 208
    Points
    5 208
    Par défaut
    De quel format est l'image chargée ? (bmp, jpg, tga ?)
    Est-ce que l'image chargée contient 3 ou 4 composantes ?

    si ton image est bien en 32 bits donc sur 4 composante, tu as 3 composantes rouge, vert et bleu pour les couleurs et la quatrième est le canal alpha, en gros c'est l'image en niveaux de gris, plus c'est noir plus c'est transparent, plus c'est blanc moins ca l'est et les niveaux de gris donnent des transparences intermédiaires

    note que noir opaque et blanc transparent peuvent être obtenus selon la fonction de blending
    regardes du côté de la doc de glBlendfunc

  8. #8
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Merci

    (faudrais que je m'y mette à l'opengl pur plutot que par des composants).

    Sinon d'un point de vue structure, je fais des "plane" collé les uns aux autres avec une texture (c'est pour faire un jeu en 2d style "sonic"), est-ce rapide?

    J'avais déjà fais une maquette en utilisant les fonctions (canvas et bitmap) de windows mais ça devenais très vite lent.

    Si tu à une methode alternative ou un lien ou je peut voir la struture d'un moteur 2d ça serais super. (j'ai fais le tour avec google et j'ai pas trouvé )

    Encore merci

  9. #9
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 531
    Points : 5 208
    Points
    5 208
    Par défaut
    Oui c'est rapide, si la carte video support opengl bien sûr, puisque 2D ou 3D avec opengl derrière c'est pareil, si la carte support ce sera accéléré

    je n'ai pas de lien sous la main, désolé, j'ai déjà fait quelques petits essais 2D avec opengl sans difficulté
    sinon le source de WAtomic te sert ?

  10. #10
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Pas réellement car je comprend pas trop la méthode (pour bouger dans la carte). En faite je cherche à comprendre comment mettre en place le defilement de la carte, si pour une carte de 256*256 je doit faire 256*256 "plane" avec des images et je balade le personnage dessus ou alors je crée dynamiquement les images (je load se qui se voit et j'unload se qui se voit pas).

    De plus, je sait pas comment faire pour couper une image en plusieures morceaux (pour faire une animation).

    Voilà, en gros mon problème final

  11. #11
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bon, en ce qui concerne les déplacements, ce n'est pas sorcier en 2D : Tu dois implementer une sorte de caméra, et je présume que les déplacements possibles seront seulement des translations (verticales et horizontales), et pour l'ipmlementer :
    - une simple structure avec 2 variables X et Y
    - à chaque déplacement, mets à jour X et Y (pour aller à droite incremente X, ...)
    - au début de chaque frame, et juste aprés avoir chargé la matrice identité dans la matrice MODEL VIEW, tu appliques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glTranslatef(-X, -Y, 0);
    notes les - devant X et Y, car pour la caméra, on doit inverser : si la caméra se déplace à gauche, on simule ça en déplacant l'univers à droite.

Discussions similaires

  1. comment faire un espace privé....avec confirmation par mail
    Par brisso dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/11/2005, 10h24
  2. Réponses: 4
    Dernier message: 07/11/2005, 15h54
  3. comment faire un net send avec winpcap?
    Par Zetmurin dans le forum Développement
    Réponses: 2
    Dernier message: 14/06/2005, 07h13
  4. Réponses: 10
    Dernier message: 30/06/2004, 13h00
  5. Je suis un gros boulet ou comment faire de la 2D avec DX
    Par Freakazoid dans le forum DirectX
    Réponses: 4
    Dernier message: 19/06/2004, 15h55

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