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

  1. #1
    Membre actif
    Le Khronos Group publie les spécifications de OpenGL 3.3 et 4.1
    Khronos sort les spécifications d'OpenGL 4.1
    L'API pour la 3D est entièrement compatible avec OpenCL et OpenGL ES 2.0

    Mise à jour du 27/07/10 par Idelways


    Le groupe Khronos, consortium industriel à l'origine d'un grand nombre d'API multimédia, vient de sortir la version 4.1 des spécifications d'OpenGL. OpenGL (Open Graphics Library) est une spécification qui définit une API multi-plateforme pour la conception d'applications générant des images 3D (mais également 2D).

    OpenGL est un concurrent de Microsoft DirectX, et une spécification ouverte.

    Le porte-parole de Khronos, Jonathan Hirshon a déclaré que cette dernière version de spécifications maintient une "rétrocompatibilité complète". Elle sera aussi compatible avec la spécification OpenGL ES 2.0 dédiée aux applications pour mobiles.

    Elle permettra aux développeurs d'accéder à des fonctionnalités GPU avancées et portables pour plusieurs systèmes d'exploitation.

    Parmi les nouveautés d'OpenGL 4.1, on trouve:

    • Une meilleure compatibilité avec OpenCL, l'implémentation d'Apple utilisée dans iOS et MacOS X Snow Leopard.
    • La possibilité de charger et d'appeler un binaire pour shader sans avoir à recompiler.
    • La possibilité d'utiliser des informations 64-bits à virgule flottante au niveau des shaders.



    La nouvelle spécification est disponible sur le site officiel (document PDF)



    Source : Le communiqué de presse du groupe Khronos


    Lire aussi :

    La prochaine version de Flash Player supportera la 3D, Adobe réussira-t-il à imposer sa technologie face aux avancés du HTML5 et WebGL ?

    Le Khronos Group publie les spécifications de OpenGL 3.3 et 4.0, après deux ans de la sortie d'OpenGl 3.x

    Le projet Natal change de nom, le système de reconnaissance de mouvements de Microsoft s'appellera officiellement Kinect


    Les rubriques (actu, forums, tutos) de Développez :

    Applications
    2D - 3D - Jeux
    Mac

    Et vous ?

    Que pensez-vous des nouveautées de cette spécifications ?


    Le Khronos Group publie les spécifications de OpenGL 3.3 et 4.0

    Déjà deux ans après la sortie d'OpenGl 3.x, le Khronos Group nous offre le même jour les spécifications des nouvelles versions d'OpenGL : La version 3.3 et la version 4.0

    Pour ces nouvelles versions la séparation Core et Compatibility demeurent et, nouveauté pour le GLSL, les versions ont dorénavant le même nom que la version de l'API sous laquelle elles ont été sortis.

    On nous promet aussi une version 4.0 optimisée, moins dépendante du CPU, notamment concernant la tesselation...

    N'étant pas familier a OpenGL je n'oserais en dire plus pour les plus curieux voici le lien : About OpenGL 4.0

    Que pensez vous des nouveautés de ces nouvelles versions ?
    OpenGL est-il toujours à la hauteur de Direct3D ?

  2. #2
    Membre du Club
    Dire qu'il y a quelque temps, je pensais que cette API était complétement moribonde. La reprise par le khronos group lui a vraiment été bénéfique.

  3. #3
    Membre éclairé
    J'ai pas encore eu le temps de tout regarder, mais quelques points m'ont intéressé dont le fait que le GPU sera plus sollicité, la tesselation, le fait que les versions de GLSL prennent le numéro de l'API, etc...
    En tout très content que cela se bouge du côté de mon API graphique préféré

  4. #4
    Membre expérimenté
    Heu... OpenGL 3.0 est sorti en juillet 2008... il y a meme pas deux ans... 3.2 est sorti il y a a peine 8 mois et a une mise-à-jour mineure en decembre il y a 4 mois. Donc dire que OpenGL 3.3|4.0 sort 2 ans apres OpenGL 3.x... hum...

    Direct3D 10 est sorti en fevrier 2007, il y a plus de 3 ans. Direct3D 11 en juillet 2008, il y a deja plus de 2 ans.

    Pour le moment OpenGL etait toujours en retard par rapport a Direct3D au niveau des features mais on peut dire que la 4.0 arrive au meme niveau que Direct3D 11.

    Il faut comprendre que les utilisateurs de OpenGL ne sont pas que dans le domaine du jeu-video comme c'est le cas pour Direct3D ou dans le meme OS. Il y a des contraintes de compatibilite beaucoup plus importantes et donc une inertie pour le changement plus grande. Neanmoins avec le systeme de deprecation et d'extensions qu'a OpenGL, le Khronos Group a reussi ce challenge de pouvoir changer rapidement l'API et revenir au niveau de Direct3D tout en gardant une compatibilite forte avec les anciens logiciels.

    De toute maniere dans le monde reel, pour des applications 3D legeres les prerequis sont la compatibilite avec OpenGL 2.0... Et quand a la suppression totale de code utilisant le pipeline fixe... Il va s'en passer des annees...
    Je ne réponds à aucune question par MP, posez vos questions sur le forum adéquat.
    Profils : G+ - LinkedIn

  5. #5
    Membre habitué
    Citation Envoyé par TanEk Voir le message
    Pour le moment OpenGL etait toujours en retard par rapport a Direct3D au niveau des features mais on peut dire que la 4.0 arrive au meme niveau que Direct3D 11.
    C'est l'inverse, par exemple OpenGL permettait de gérer la tesselation trois ans avant que Direct3D l'intègre.

    http://www.jeuxlinux.fr/a285-Pourquo..._DirectX_.html

  6. #6
    Membre expérimenté
    La tesselation etait supportee au travers d'une extension AMD. Donc de la a dire que OpenGL le supportait...

    De plus il me semble que la tesselation supportee par Direct3D est beaucoup plus generique que cette extension (avec 2 ou 3 stages de calcul, je ne sais plus exactement ; par exemple, la tesselation dans OpenGL 4.0 utilise deux nouveaux types de shaders et des stages de tesselation en plus).

    Et si on veut etre pointilleux, une carte qui se definie comme OpenGL 4.0 compatible n'est pas obligee de supporter la tesselation qui reste encore pour le moment de type ARB, cela veut dire extension standardisee mais optionnelle... C'est pourquoi les cartes nvidias sont dites compatibles OpenGL 3.0 a partir de la serie des geforce 8 alors qu'elles ne sont pas encore Direct3D 11 compatibles.

    Car la tesselation n'est pas "possible" sur les cartes nvidia actuelles, seule la nouvelle architecture fermi sera adaptee a ce type de calcul et pourra se vanter d'etre Direct3D 11 compatible et de supporter l'extension OpenGL 4.0 ARB_tessellation_shader.

    Erratum: la tesselation est de type ARB (donc optionnelle) pour OpenGL 3.2 et semble integree au core OpenGL 4.0. Donc une carte OpenGL 4.0 compatible devra supporter la tesselation.
    Je ne réponds à aucune question par MP, posez vos questions sur le forum adéquat.
    Profils : G+ - LinkedIn

  7. #7
    Nouveau membre du Club
    Non, pour être compatible avec OpenGL 4.0, une carte doit avoir cette extension GL_ARB_tessellation_shader car elle fait partie du core d'OpenGL 4.0; donc ce n'est pas optionnel. Notons que c'est la première fois qu'OpenGL présente à peu près le même niveau de fonctionnalité que la dernière version de Direct3D (la 11) presque en même temps puisque les cartes DirectX 11 de Nvidia ne sont pas encore disponibles (au passage, elles supporteront OpenGL 4.0 dès leur sortie) et que celles d'AMD/ATI ne sont disponibles que depuis 6 mois.

  8. #8
    Membre habitué
    Citation Envoyé par TanEk Voir le message
    La tesselation etait supportee au travers d'une extension AMD. Donc de la a dire que OpenGL le supportait...
    C'était le cas, OpenGL permettait la tesselation, les extensions font parties d'OpenGL en mon sens, et à partir du moment où une extension est utilisable sur une grande partie des cartes, je ne vois pas où est le problème.

    Citation Envoyé par TanEk Voir le message
    Et si on veut etre pointilleux, une carte qui se definie comme OpenGL 4.0 compatible n'est pas obligee de supporter la tesselation qui reste encore pour le moment de type ARB, cela veut dire extension standardisee mais optionnelle...
    Erreur, les constructeurs de carte graphiques se basent sur les extensions ARB pour les fonctionnalités de leurs cartes.

  9. #9
    Expert confirmé
    opengl permettait la tesselation que sur une partie des cartes graphiques disponibles, c'est à dire les cartes ati, et pas sur intel ni nvidia; 1 constructeurs sur 3 c'est limite quand même.
    maintenant pour être certain que la tesselation sera supporté il faudra une carte compatible opengl4 ou dx11, ce qui laisse moins de place à l'improvisation pour les développeurs.

    et les extensions arb sont ajoutées selon ce que propose les constructeurs par consensus, pas le contraire. khronos ou l'arb ne font que valider les spécifications.

  10. #10
    Membre expérimenté
    Pour en revenir au sujet principal, avant que ça ne vire au troll

    L'excellente nouvelle dans tout ça et la meilleur cohésion entre openGL et openCL pour la 4.0. Le fait que openGL va utiliser CL pour les calculs de masse va permettre d'optimiser au maximum l'utilisation de la puissance disponible sur chaque machine : et ça, c'est une excellente nouvelle.
    It's not a bug, it's a feature

  11. #11
    Membre régulier
    Pardon les gars mais ce thread me semble tellement riche d'impression qu'il faut que je repondes:

    - "Optimisé" ca veut vraiment rien dire.
    - La seule amelioration d'interopabilité avec OpenCL vient d'ARB_draw_indirect qui permet utiliser des buffers => notamment <= generer depuis OpenCL pour faire un rendu d'intances avec transform feedback sans retour sur le CPU et multidraw call. Ca assure comme feature m'enfin, ca reste un cas d'utilisation tres specifique.

    OpenCL 1.0 fonctionne tres bien avec OpenGL 3.0 et pourrait meme fonctionner avec OpenGL 1.5 mais en pratique seul les cartes OpenGL 3.0 suporttent OpenCL 1.0. Ce n'est donc pas vraiment une question d'API.

    Une carte OpenGL 4.0 doit suporter tous les features de la spec. Le truc c'est qu'un Radeon 57XX n'est donc pas une carte OpenGL 4.0 car elle ne supportent pas les double pour les shaders et les uniforms... L'extension ARB_gpu_shader_fp64 n'aurait pas du etre integrer au core a mon sens. J'ai cherche mais pas trouvé d'option conditionner le suport des double.

    Grace a OpenGL 3.3 et aux extensions ont aura la possibilité utiliser le tesselator & les features SM5. C'est bien mais pas super commode s'achant que les jeux en general n'ont pas besoin de double. Aller, disons a la rigeux pour des calcules de physique mais pas pour le rendu.

  12. #12
    Membre du Club
    C'est bien beau de faire avancer cette api le plus vite possible mais il faudrait que la doc officielle suive.

    Le red book de la version 3.X (3.1 si mes souvenirs sont bons) c'est juste le même que la version 2.1 avec une annexe disant ce qui est dépréciée.

  13. #13
    Membre régulier
    Les specs sont dispos.
    Elles sont utilisees pour implementer les drivers et donc complete.

    On ne peut pas en dire autant pour la doc de Direct3D 11, du SDK.

    En faisant l'effort, un programmeur peut completement decrire OpenGL 4.0 et trouve chaque detail.

    Bon apres, ca serait sympa la doc a jour. Mais bon.

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

    Je voulais juste dire que si on veut vraiment, on peut faire en sorte que toute carte soit compatible avec toutes les version d'OpenGL. Juste que cela ne va pas être rapide, car cela sera fait en soft. ( Donc pas d'interet à le faire ).
    Après, le développement d'une carte, c'est entre 2 et 5 ans. ( Développement de l'hardware, du driver + test ... et release ). Ils peuvent gagner du temps sur le fait, que les constructeurs de cartes, sont ceux qui font la spécification. ( Un groupe qui se concerte ).
    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.

  15. #15

  16. #16

  17. #17
    Expert éminent sénior
    Khronos sort les spécifications d'OpenGL 4.1, l'API est entièrement compatible avec OpenCL et OpenGL ES 2.0
    Khronos sort les spécifications d'OpenGL 4.1
    L'API pour la 3D est entièrement compatible avec OpenCL et OpenGL ES 2.0


    Le groupe Khronos, consortium industriel à l'origine d'un grand nombre d'API multimédia, vient de sortir la version 4.1 des spécifications d'OpenGL. OpenGL (Open Graphics Library) est une spécification qui définit une API multi-plateforme pour la conception d'applications générant des images 3D (mais également 2D).

    OpenGL est un concurrent de Microsoft DirectX, et une spécification ouverte.

    Le porte-parole de Khronos, Jonathan Hirshon a déclaré que cette dernière version de spécifications maintient une "rétrocompatibilité complète". Elle sera aussi compatible avec la spécification OpenGL ES 2.0 dédiée aux applications pour mobiles.

    Elle permettra aux développeurs d'accéder à des fonctionnalités GPU avancées et portables pour plusieurs systèmes d'exploitation.

    Parmi les nouveautés d'OpenGL 4.1, on trouve:

    • Une meilleure compatibilité avec OpenCL, l'implémentation d'Apple utilisée dans iOS et MacOS X Snow Leopard.
    • La possibilité de charger et d'appeler un binaire pour shader sans avoir à recompiler.
    • La possibilité d'utiliser des informations 64-bits à virgule flottante au niveau des shaders.



    La nouvelle spécification est disponible sur le site officiel (document PDF)



    Source : Le communiqué de presse du groupe Khronos


    Lire aussi :

    La prochaine version de Flash Player supportera la 3DAdobe réussira-t-il à imposer sa technologie face aux avancés du HTML5 et WebGL ?

    Le Khronos Group publie les spécifications de OpenGL 3.3 et 4.0, après deux ans de la sortie d'OpenGl 3.x

    Le projet Natal change de nom, le système de reconnaissance de mouvements de Microsoft s'appellera officiellement Kinect


    Les rubriques (actu, forums, tutos) de Développez :

    Applications
    2D - 3D - Jeux
    Mac



    Et vous ?

    Que pensez-vous des nouveautés de cette spécification ?

  18. #18
    Membre confirmé


    A part peut-être pour l'interopérabilité entre GL et CL, on était déjà proche de ce qui ce passait sur MAC. Espérons que les drivers arrivent rapidement!!!

  19. #19
    Membre confirmé
    Compatibilité avec l'OpenGL*ES 2.0 ? Cela peut être intéressant pour porter ses applications sur des produits mobiles.
    C'est une bonne chose et peut-être une nécessité que cette API*ait si vite évoluer ces derniers temps, la plupart des développeurs Windows/DirectX lui reprochait de ne pas être à niveau.
    Selso.
    Ingénieur/CdP développement systèmes embarqués &

  20. #20
    Membre du Club
    J'aimerais avoir un éclaircissement car j'ai pas très bien compris quand on dit "Retro-Compatibilité" OpenGL ES 2... Ça veut dire que quand on développe en OpenGL 4.1 on peut compiler son appli avec le même code OpenGL sur un device OpenGL ES 2? (genre iPhone 3GS et iPhone 4?)

###raw>template_hook.ano_emploi###