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 :

Accès au contexte OpenGL créé par la SDL ?


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Par défaut Accès au contexte OpenGL créé par la SDL ?
    Bonjour à tous,

    J'essaie de mettre en place un système d'affichage de caractères grâce aux bitmaps. J'utilise la SDL pour mettre en place le contexte OpenGL dans une fenêtre. Pour terminer la création des bitmaps j'ai besoin d'un accès au contexte OpenGL.

    Je n'ai rien trouvé sur le net. En farfouillant dans le code source, j'arrive par l'intermédiaire de plusieurs structures opaques, à accéder au pointeur de ce contexte... en théorie.
    Le problème est que les membres de ces structures opaques ne sont pas montrés au public, du coup je dois remettre la définition de la structure mais j'ai par la même occasion beaucoup d'autres types à définir. Enfin bref c'est vraiment tordu dans le genre, donc s'il y a une solution plus simple ...

    Pour l'instant le chemin que j'ai trouvé pour accéder au contexte est :
    current_video->hidden->gl_context

    current_video est de type SDL_VideoDevice, hidden de type SDL_PrivateVideoData.

    Dans le fichier d'en-tête pour Mac OS X (SDL_QuartzVideo.h) j'ai :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    #define gl_context (this->hidden->gl_context)
    Ce qui confirme ce que j'ai trouvé.

    Si vous avez une solution je suis preneur. Je préférerais ne pas avoir à redéfinir les structures et les types de ses membres, tout en gardant la SDL qui a l'énorme avantage d'être portable.

    Merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Simple curiosité, pourquoi as-tu besoin du contexte pour créer tes bitmaps ?

  3. #3
    Membre émérite Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Par défaut
    Pas pour créer les bitmaps mais pour y mettre les caractères par l'intermédiaire de la fonction aglUseFont() pour Mac OS X ou wglUseFontBitmaps() pour Windows.

    Je préfère utiliser cette méthode plutôt que passer par la SDL_ttf pour des raisons de rapidité pendant l'exécution.

    P.S.: quand j'ai dit "terminer la création des bitmaps", je voulais plutôt dire "finaliser".

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Dans ce cas tu peux simplement utiliser les fonctions de WGL ou AGL permettant de récupérer le contexte courant (wglGetCurrentContext(), ...).

  5. #5
    Membre émérite Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Par défaut
    Le problème est que le contexte étant dans une fenêtre aglGetCurrentContext() me renvoie NULL . Je n'ai pas essayé sous Windows mais je m'attends au même résultat.

    Par contre je me suis demandé si le gain de performance est si conséquent que ça. Je ne connais que la technique des bitmaps et celle des textures avec SDL_ttf. Et je ne sais pas réellement s'il existe une technique qui permette d'avoir un bon compromis qualité/vitesse (sachant que ce ne sera que pour un jeu en 2D).

  6. #6
    Expert confirmé

    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Spootnik Voir le message
    Le problème est que le contexte étant dans une fenêtre aglGetCurrentContext() me renvoie NULL . Je n'ai pas essayé sous Windows mais je m'attends au même résultat.

    Par contre je me suis demandé si le gain de performance est si conséquent que ça. Je ne connais que la technique des bitmaps et celle des textures avec SDL_ttf. Et je ne sais pas réellement s'il existe une technique qui permette d'avoir un bon compromis qualité/vitesse (sachant que ce ne sera que pour un jeu en 2D).
    Cela dépend si le texte change beaucoup... Au pire, génére avec la SDL_ttf les chiffres/lettres séparément et tu t'en sers comme ca.

    Jc

Discussions similaires

  1. Accès clef USB sans passer par la lettre de lecteur
    Par Ygster dans le forum Windows
    Réponses: 1
    Dernier message: 16/05/2006, 11h21
  2. acces d'un objet créer par un autre projet?
    Par gaoul dans le forum C++
    Réponses: 13
    Dernier message: 31/03/2006, 22h11
  3. problème d'accès aux données sur serveur par poste client
    Par rahan_dave dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/02/2006, 09h13
  4. Réponses: 11
    Dernier message: 26/04/2005, 09h23
  5. Réponses: 9
    Dernier message: 19/08/2004, 11h03

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