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 :

OpenGL sous linux avec wayland ?


Sujet :

OpenGL

  1. #1
    Membre très actif
    Homme Profil pro
    root
    Inscrit en
    Janvier 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : root

    Informations forums :
    Inscription : Janvier 2013
    Messages : 174
    Par défaut OpenGL sous linux avec wayland ?
    Salut à tous.
    Dans pas (très) longtemps Wayland remplacera Xorg.

    OpenGL fonctionne à l'intérieur de Xorg.
    Je me demandes avec Wayland comment sa va se passer.

    J'ai voulu chercher sur Google, mais je trouves rien de positif.

    Qu'en pensez/savez-vous ?

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 036
    Billets dans le blog
    12
    Par défaut
    Apparemment il faudra passer par EGL, plutôt que par GLX, par contre je ne sais pas quelles sont les fonctions spécifiques à cette API.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre très actif
    Homme Profil pro
    root
    Inscrit en
    Janvier 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : root

    Informations forums :
    Inscription : Janvier 2013
    Messages : 174
    Par défaut
    Merci.

    Pour le moment, les seules possibilité que j'ai pu voir sont d'utiliser les toolkits qui le supporte (sdl,qt,gtk,..).
    Via ces toolkits je pourrais ouvrir des contextes OpenGL.
    Jusqu'à ce que je trouves une méthode plus directe, temporairement ça semble être le seul choix,

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 173
    Billets dans le blog
    155
    Par défaut
    Bonjour,

    Pour être au plus près de la machine, il faudra utiliser EGL, en effet. D'ailleurs, au final, cela reprends beaucoup des principes que l'on voyait dans GLX ou WGL.

    Pour ouvrir un contexte, il faut spécifier les options qui nous intéressent et EGL nous trouvent la configuration la plus proche.
    Toutefois, EGL apporte quelques petits trucs en plus : le partage de textures entre contextes en est un exemple.

    Après, personnellement, je ne saisis pas trop la raison de ne pas utiliser SDL ou autre, mais c'est un choix.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre très actif
    Homme Profil pro
    root
    Inscrit en
    Janvier 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : root

    Informations forums :
    Inscription : Janvier 2013
    Messages : 174
    Par défaut
    Voici des infos utiles qui répond à tous les questions:
    - documentation sur tout wayland: http://wayland.freedesktop.org/docs/html/
    - support mesa: http://mesa3d.org/egl.html
    - schéma fonctionnement wayland: http://upload.wikimedia.org/wikipedi...r_protocol.svg

    En gros, sous wayland, on va utiliser egl pour lancer nos contexts opengl / opengl es.



    Pour la non utilisation de sdl ou autres, ce dont j'ai besoin:
    - gérer les entrées (clavier/souris)
    - pouvoir afficher à l'écran mes codes opengl

    Sdl et autres permettent, mais sont trop complet, je vais essayer d'être minimaliste à mes besoins.

    Pour mon cas, si ça ne serait pas trop dure, je vais essayer de les gérer moi même.

    Wayland:
    (linux lib ->) Wayland lib -> entrées souris/clavier => wl_clavier, wl_souris..
    (linux lib ->) Wayland -> Egl lib -> opengl/opengl es

    Sdl:
    (linux lib ->) Wayland lib -> entrées souris/clavier => wl_clavier, wl_souris.. -> sdl_clavier/souris..
    (linux lib ->) Wayland -> Egl lib -> opengl/opengl es

    Moi:
    (linux lib ->) Wayland lib -> entrées souris/clavier
    (linux lib ->) Wayland -> Egl lib -> opengl/opengl es
    OU
    linux lib -> entrées souris/clavier (<-- sa semble pas trop dure, je comptes essayer bientôt en pratique)
    Wayland -> Egl lib -> opengl/opengl es (<-- pour cet partie, j'aimerais bien m'en passer de wayland/egl et directement afficher mes codes opengl, mais sa semble compliqué, mon manque de documentation et d'anglais, et ma precipitation me bloque à ce niveau (peut-être) temporairement (mais c'est déjà un bon début))

  6. #6
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 036
    Billets dans le blog
    12
    Par défaut
    La partie EGL va seulement te permettre de créer un contexte, lui définir sa fenêtre d'affichage et éventuellement de lui spécifier des attributs.
    Tout le reste (gestion VBO, textures, FBO et autres joyeuseries shaderiennes) se font en code OpenGL pur.
    Ca fonctionne déjà comme ça en GLX, WGL ou CGL.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  7. #7
    Membre très actif
    Homme Profil pro
    root
    Inscrit en
    Janvier 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : root

    Informations forums :
    Inscription : Janvier 2013
    Messages : 174
    Par défaut
    Mon réel but est de faire tout en opengl pur rien que sa.

    Mais j'ai deux choix:
    1- passer par wayland/egl, qui créer une fenêtre et je met mon opengl dedans
    2- afficher (mes codes opengl pur) directement à l'écran (gérer tout l'écran), pas de fenêtrage.

    Le deuxième cas, n'étant pas possible, d'après les forums publique, il me reste que le premier choix pour simuler mon deuxième choix, je dois lancer wayland/egl une fenêtre plein écran sans bordure.

    Peut-être c'est compliqué ou passer par egl/x11 est obligatoire, je sais pas, je suis pas entré dans les détails, ne voulant pas regarder les codes sources à cause des licences, je sors les mains vide.
    Et je me précipite pas trop sur ce sujet, car le contenu étant de l'opengl pur, le code fonctionnera sans risque d'incompatibilité, ce n'est qu'une question d'amorçage.

  8. #8
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    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 226
    Par défaut
    Alors j'ai pas compris ton problem.
    OpenGL n'est qu'une API 3D qui fait ces calcul sur la carte graphique pour résumé sommairement , donc dans ma description on ne parle pas de fenêtrage ou rendu a écran ,donc ça me semble évident que tu devra te passer par une API ,sinon tu fera tes calcul 3D sans rendu possible (et donc très peu intérêt).
    Comme dis plus haut il y a la SDL ou freeglut qui sont des API multiplateforme pour le fenêtrage alors il y a surement des subtilités mais grosso modo ces API ne font envoyé que le rendu opengl a écran , et donc je me pose la question qu'est qui peut te gêner sachant que tu fera la même chose quoi qu'il arrive.
    Si tu cherche une API multiplateforme et qui ne change pas trop au fil des années freeglut fais le strict minimum.

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 173
    Billets dans le blog
    155
    Par défaut
    Il faut aussi bien comprendre la construction d'une fenêtre à rendu rendu OpenGL.

    C'est trois étapes (j'ai un léger doute sur l'ordre, mais de mémoire c'est le suivant) :
    • création de la fenêtre avec l'API de fenêtrage (X11, WinAPI...) ;
    • création d'un contexte avec GLX/WGL/EGL/AGL (je crois, pour Apple) ;
    • rendu avec OpenGL ;


    Vous pouvez faire de l'OpenGL pur, tout en laissant la création de la fenêtre et du contexte à une bibliothèque au niveau.
    EGL, c'est la solution multiplateforme proposé par Khronos pour unifié GLX/WGL/AGL (pour faire quelque chose de portable).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. [IDE]Recherche ide c/c++ dispo sous Linux avec caractérisitiques voir thread
    Par HNT dans le forum Choisir un environnement de développement
    Réponses: 6
    Dernier message: 06/07/2006, 20h25
  2. Réponses: 3
    Dernier message: 05/06/2006, 16h45
  3. Problème avec myODBC et odbc sous linux avec unixODBC
    Par tytyi11 dans le forum Administration système
    Réponses: 2
    Dernier message: 18/11/2005, 17h08
  4. [Kylix] Problème sous Linux avec Delphi
    Par DECROIX Emmanuel dans le forum EDI
    Réponses: 2
    Dernier message: 15/03/2005, 16h00
  5. [Kylix] Compiler FMA
    Par dodik dans le forum EDI
    Réponses: 1
    Dernier message: 17/01/2005, 11h51

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