Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > API graphiques > SFML
SFML Forum d'entraide sur l'API SFML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/04/2009, 09h50   #1
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
Par défaut SFML et OpenGL3.x

Bonojur,
je voulais savoir s'il est possible d'avoir un RenderContext valide pour GL3 en utilisant SFML.
Sinon, à quel endroit dois-je modifier le code?

En fait, c'est relativement d'obtenir un contexte valide sous SDL (GLUT, GLFW, ... pas encore essayés), mais j'aimerais utiliser SFML pour mon projet, d'où la question.
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2009, 13h47   #2
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
C'est implémenté depuis peu dans la branche SFML 2.0, que tu peux récupérer via SVN (ça ne marche que sous Windows pour l'instant).
Si pour une raison quelconque tu ne peux pas, je te montrerai le code qu'il faut ajouter.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2009, 16h48   #3
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
Le code dont tu parles, c'est le code avec wglCreateContextAttribsARB(dc, attribs); ?
Celui-là, je l'ai. (J'ai créé un petit bout de code pour contexte GL3 en utilisant SDL, ca n'a pas vraiment été un problème).

Mais merci pour la réponse, je ferais un checkout ce soir.

Sinon, est-ce que les fonctions GL3 sont disponibles à partir d'un en-tête chez toi ou est-ce que je dois me les initialiser moi-même (genre avec glew) ?
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2009, 00h43   #4
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
Citation:
Le code dont tu parles, c'est le code avec wglCreateContextAttribsARB(dc, attribs); ?
Celui-là, je l'ai
Alors impeccable, c'est tout ce qu'il faut.

Citation:
Sinon, est-ce que les fonctions GL3 sont disponibles à partir d'un en-tête chez toi ou est-ce que je dois me les initialiser moi-même (genre avec glew) ?
SFML ne gère pas les extensions, il faut effectivement utiliser GLEW.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 14h14   #5
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
tiens, j'ai remarqué que ton contexte GL n'est pas "forward compatible", c'est-à-dire, sans les fonctions obsolètes. Je me doute que tu t'en sers pour SFML et que ca va pas être enlevé sous peu, si?

Sinon, tu saurais pas s'il y a un header ne contenant plus que les fonctions GL3, histoire qu'utiliser des fonctions obsolètes me donne des erreurs de compilation et non pas des mauvaises surprises dans qqs mois quand la cmopatibilité sera effectivement brisée par le driver?

(Je sais que je peux m'en construire un tout seul, soit en utilisant le make custom de glew, soit en y allant à la main, mais c'est prenant de temps et de tête que de chercher ces fonctions ou extensions...)
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 14h41   #6
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
Citation:
tiens, j'ai remarqué que ton contexte GL n'est pas "forward compatible", c'est-à-dire, sans les fonctions obsolètes. Je me doute que tu t'en sers pour SFML et que ca va pas être enlevé sous peu, si?
J'ai pas compris

Citation:
Sinon, tu saurais pas s'il y a un header ne contenant plus que les fonctions GL3, histoire qu'utiliser des fonctions obsolètes me donne des erreurs de compilation et non pas des mauvaises surprises dans qqs mois quand la cmopatibilité sera effectivement brisée par le driver?
Non, sorry.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 15h03   #7
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
C'est ce que je voulais dire, c'est que ton contexte GL n'est pas celui qui supprime les fonctions obsolètes (faut passer 2 autres paramètres à wglCreateContextAttribsARB() pour cela*).

Et je pense que tu utilises des fonctionalités niveau GL1.x ou 2.x pour SFML, notamment pour l'interface utilisateur et tout ca. Donc, utiliser un contexte 3.x pur pourrait peut-être te poser problème.


* et prier pour que le driver enlève effectivement ces fonctions (ce qui n'est pas encore le cas chez nVidia).
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 16h46   #8
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
Ok je vois, merci pour l'info. Tant que je ne me serai pas débarassé des fonctions obsolètes il faudra donc que j'évite de laisser la possibilité de créer des contextes 3.0 purs.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 18h22   #9
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
Oui, enfin ca fonctionnera quand même si tu mets le "forward compatible bit" pour l'instant, mais uniquement jusqu'à ce que NV corrige ce bug.

-> http://www.gamedev.net/community/for...opic_id=512890
(ma source)

Code :
1
2
3
4
5
6
7
 
{
WGL_CONTEXT_MAJOR_VERSION_ARB, 3,
WGL_CONTEXT_MINOR_VERSION_ARB, 0, //peut être 1 aussi, ca ne change rien
WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, //ce bit est important pour enlever la foncitonalité obsolète
0 //fin de liste
};
Voilà.
En fait, je ne sais pas comment tu dessines les rectangles de l'interface (pour les sprites, tout ca), mais je suppose que tu utilises la facon la plus facile: le pipeline fixe de l'openGL classique. Or cette fonctionalité est celle qui jarte(ra à un moment ou autre de facon définitive), d'où le problème.

Tu pourrais aussi me rassurer et dire que SFML est entièrement GL 2.1, auquel cas porter vers 3.x ne sera pas trop difficile.

Enfin, si je dis ca, c'est parce que je suis en train de créer mon petit moteur GL 3.x pur et que j'aimerais avoir des erreurs à la compilation et non à l'execution si j'utilise des choses obsolètes...
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 18h35   #10
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
SFML utilise les fonctions les plus au ras des paquerettes d'OpenGL 1.x : le rendu immédiat (glBegin / glVertex / glEnd). Ca peut paraître idiot, mais c'est ce qu'il y a de mieux pour du rendu de quad complétement dissocié (i.e. pas de batching).

Enfin bon un de ces jours il faudra que je fasse évoluer le code de rendu, pas le choix.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 18h57   #11
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
Je m'en doutais. C'est pour ca que SFML est portable vers GL ES 1.1 (iPhone).
Du coup, si j'utilise un contexte "exclusif" GL 3.x, ca risquera de briser un peu tout l'appli, non?
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 19h26   #12
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
Je ne me suis pas trop penché sur le sujet, mais vu ce que tu dis il y a des chances oui. De toute façon la prochaine grosse étape après SFML 2.0 sera certainement une refonte totale du code de rendu, afin d'être compatible avec tous les back-end OpenGL à la mode (GL ES 2.x, GL 3.x, ...).
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2009, 10h14   #13
Kurisu
Membre éclairé
 
Homme Christian Helmich
Game Graphics Programmer
Inscription : août 2006
Messages : 408
Détails du profil
Informations personnelles :
Nom : Homme Christian Helmich
Localisation : Allemagne

Informations professionnelles :
Activité : Game Graphics Programmer
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2006
Messages : 408
Points : 352
Points : 352
Tu vas t'amuser avec les différentes spec des shaders (GLSL 1.20 différent de 1.30 différent de 1.40).
Je te conseille de viser la compatibilité avec GL3.0, vu que GL ES 2.0 et ES 3.0 (prevu pour 2010) suivent la même route (avec juste quelques fonctions en moins, je crois).
Puis... iPhone HD, Palm Pre, ya pas mal de plateformes pour ES 2.0 en perspective..
Kurisu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2009, 13h52   #14
Cpl.Bator
Futur Membre du Club
 
Inscription : février 2008
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 14
Points : 18
Points : 18
Bonjour Laurent , tout d'abord permet moi de te félicité pour cette librairie.
je développe en amateur sous Linux , et dernièrement je m'intéresse à l' OpenGL 3 de très près , n'ayant ni l'envie ni le temps de manipulé X11 pour avoir un contexte OpenGL 3 , je voulais savoir se qu'il en était de la version 2.0 pour Linux.


Merci.
Cpl.Bator est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2009, 17h24   #15
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
La gestion des contextes OpenGL 3.0 n'est toujours pas implémentée sous Linux, mais ça peut se faire rapidement. Il faut juste que je trouve comment faire (ça ne devrait pas être très différent de la version Windows)
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2009, 17h52   #16
TresNulDev
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 35
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 35
Points : 28
Points : 28
Par défaut SFML 2.0 officiel

Bonjour monsieur Gomila. Savez-vous quand sera disponible la version officielle de SFML 2.0 (la version actuelle est 1.5 je crois...). Conservera-t-elle la possibilité de créer un contexte OpenGL 3.x. Il me semble qu'actuellement, la version SVN crée automatiquement un contexte OpenGL 3.0 (si les drivers le permettent évidemment). C'est bien parce que c'est transparent pour l'utilisateur, mais ne serait-il pas possible de proposer un argument optionnel (ou pas optionnel d'ailleurs, j'en sais rien!...) afin de choisir la version du contexte OpenGL créé.
TresNulDev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2009, 18h20   #17
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
Citation:
La gestion des contextes OpenGL 3.0 n'est toujours pas implémentée sous Linux, mais ça peut se faire rapidement
Bon ben en fait voilà, c'est fait (dans la branche sfml2). Si tu as l'occasion de tester n'hésite pas, car chez moi je ne peux pas le faire

Citation:
Savez-vous quand sera disponible la version officielle de SFML 2.0
Non, mais c'est pas encore pour tout de suite

Citation:
Conservera-t-elle la possibilité de créer un contexte OpenGL 3.x
Il n'y a que dans SFML 2 que tu peux créer un contexte 3.0. Les versions 1.x ne le feront jamais.

Citation:
Il me semble qu'actuellement, la version SVN crée automatiquement un contexte OpenGL 3.0 (si les drivers le permettent évidemment). C'est bien parce que c'est transparent pour l'utilisateur, mais ne serait-il pas possible de proposer un argument optionnel (ou pas optionnel d'ailleurs, j'en sais rien!...) afin de choisir la version du contexte OpenGL créé
Ca peut se faire oui. Il faudrait d'abord voir quel intérêt cela aurait. Etant donné que je crée des contextes compatibles avec OpenGL < 3.0, ça n'a normalement aucun effet de bord.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2009, 08h28   #18
Cpl.Bator
Futur Membre du Club
 
Inscription : février 2008
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 14
Points : 18
Points : 18
Merci pour ces réponses.
Je tâtonne la SFML depuis 2 / 3 jours , c'est super.
étant aussi utilisateur du Purebasic je pense faire un binding de la librairie , cela intéressera certainement cette petite équipe qui produit pas mal de petit jeu : BGames
Mais avant de me lancer dedans , est ce que la SFML 2.0 va connaître une refonte au point de supprimer ou de renommé des fonctions déjà existante ?
Cpl.Bator est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2009, 10h20   #19
Laurent Gomila
Rédacteur
 
Avatar de Laurent Gomila
 
Développeur informatique
Inscription : avril 2003
Messages : 10 651
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2003
Messages : 10 651
Points : 17 725
Points : 17 725
Citation:
Mais avant de me lancer dedans , est ce que la SFML 2.0 va connaître une refonte au point de supprimer ou de renommé des fonctions déjà existante ?
Oui, malheureusement. Il est donc hasardeux de commencer un binding tout de suite, à moins que tu ne suives les modifications au fur et à mesure.
__________________
Mieux que SDL : découvrez SFML
Laurent Gomila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2009, 17h19   #20
Cpl.Bator
Futur Membre du Club
 
Inscription : février 2008
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 14
Points : 18
Points : 18
Merci Laurent , je vais attendre patiemment la 2.0.
j'espère que cette lib va prendre de plus en plus d'ampleur !
Cpl.Bator est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h37.


 
 
 
 
Partenaires

Hébergement Web