Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

WebGL 1.0, spécification finalisée
Pour la bibliothèques d'accélération 3D libre soutenue par Chrome, Firefox, Opera et Safari

Le , par LittleWhite

0PARTAGES

3  1 
Ces dernier temps, vous avez entendu parler de la mise en place de WebGL dans les nouvelles versions des différents navigateurs web. Comme vous devez déjà le savoir, Firefox 4, Google Chrome 9 (rendez-vous à l'adresse "about:flags" pour activer WebGL supportent la nouvelle technologie (également soutenue par Apple pour Safari et par Opera).

Khronos, un consortium de constructeurs de cartes graphiques (NVidia, AMD, Imagination Technologies, ...) et de différents grand acteurs dans le monde de la 3D (Activision, Epic Games, ...) annonce durant la Game Developers Conference à San Francisco la finalisation de la spécification du WebGL en version 1.0.

Pour rappel, Khronos est principalement connu pour ces différentes bibliothèques telles que OpenGL ou la déclinaison mobile OpenGL ES. L'avantage de ces bibliothèques dont WebGL fait parti est qu'il n'y a aucune obligation de payer une licence lors de la création d'un programme. De plus, les bibliothèques indépendantes de la plateforme.

L'annonce de WebGL indique une évolution du web permettant maintenant une intégration d'applications 3D accélérées par la carte graphique. Effectivement, le WebGL permet l'utilisation des technologies 3D dans du code javascript et tout cela sans plugins supplémentaires. Grace à cette intégration directement dans le javascript, il est facilement imaginable de mélanger les différents éléments d'une page HTML 5 avec les effets gérés par le GPU.

Techniquement, le WebGL est une surcouche de OpenGL ES 2.0 (technologie déjà présente dans les smartphones). Le pipeline utilisé est dynamique permettant la conception d'effets évolués exploitant au maximum la carte graphique par le biais des shaders.

La spécification de WebGL 1.0 est disponible sur cette page

Sources

Revue de presse Khronos
Wiki du WebGL
Demo WebGL
Éditeur de shader avec WebGL

Et vous ?

Que pensez-vous de WebGL ?
Pensez-vous que cela va révolutionner les sites web ?
Utilisez-vous déjà WebGL ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 04/03/2011 à 17:18
Citation Envoyé par Paul TOTH Voir le message
est-ce que WebGL permettrait de mettre en ligne des exemple OpenGL interactifs ou n'a-t-il pas grand chose à voir avec OpenGL ?
Bah en fait, l'utilisation de l'API est la meme (les appels a OpenGL) par contre, faudra toujours refaire le code (passage en javascript). Mais on garde une ressemblance tres forte, donc pas besoin de réapprendre toute une nouvelle bibliotheque. De plus, les programmes interactifs sont pleinement possible.

sauf que qui dit application 3d, dit code source et assets en conséquence, alors tu prends firefox avec un jeu flash ouvert puis tu multiplies par 3 ou 4 mini.

ensuite j'ai firefox 3.6, et avec 10 onglets j'arrive à faire 200 Mo d'occupation, donc plus la conso d'une appli 3d, j'ai du mal en quoi ça peut ne pas être massif.
Mais on ne va pas faire Crysis en WebGL d'une. De deux, vous ne vous etes jamais vraiment poser la question pour vos smartphones, alors que finalement WebGL utilise la meme technologie que celle dans votre iPhone / Android phone.
(Et on peut voir que sur iPad tourne Epic Citadel ... et bah pourtant je pensais que l'iPad etait limite).
Apres, si vous parlez de firefox tout le temps, mais vous pouvez toujours changer pour un navigateur plus leger. Et puis le Flash ne fait pas vraiment dans la 3D ... donc ce n'est pas comparable non plus ...
2  0 
Avatar de osopardo
Membre régulier https://www.developpez.com
Le 04/03/2011 à 18:05
Citation Envoyé par stardeath Voir le message
alors j'ai suffisamment vu râler sur ce forum à cause de type qui arrive à faire laguer un gros proc avec une bannière de pub en flash, et d'autre qui font du remake de quake 2 aussi en flash, donc on peut facilement extrapoler sur le fait que des gens vont le faire le crysis en webgl, ça c'est une certitude.

ensuite c'est pas la question de la légèreté du navigateur mais plutôt qu'une appli 3d donc plutôt lourde n'a rien à faire dans un navigateur. mais bon si tout le monde dit amen à un truc d'une inutilité absolue selon moi, bah je me tais (j'espère juste que ça sera désactivable un peu comme le plugin flash)
Ha ouais tiens, j'y avais même pas pensé, la bannière de pub en 3D ! Mon dieu
Effectivement, y'a plutôt intérêt à ce que ça puisse être désactivable

Sinon pour moi l'intérêt des applications web, 3D ou pas, c'est leur accessibilité depuis n'importe quel machine/terminal disposant d'un navigateur et d'une connexion Internet. Rien à installer, pas de mise à jour à faire, la seule limite étant un débit en adéquation avec l'application que l'on veut utiliser.

Les navigateurs modernes offrent une totale interopérabilité (ou presque) qui n'existe pas au niveau des système d'exploitation, on peut les voir comme des sortes de machine virtuelles qui amènent cette interopérabilité sur tous les système d'exploitation.
Un développement unique pour tous les navigateurs et donc toutes les plateformes, je pense que c'est pour ça qu'on en est arrivé à approcher la possibilité de lancer un Crysis dans un onglet de navigateur.
2  0 
Avatar de math_lab
Membre éprouvé https://www.developpez.com
Le 04/03/2011 à 18:11
Il faut arrêter de croire que ça servira qu'a faire des jeux, aussi. Ça pourrait être utilisé pour des sites de vente d'objets 3D genre turbosquid ou on pourrait regarder les modèles en temps réel avant de les acheter (et la, c'est une petite dizaine de commandes a lancer par image, ce qui ne fera pas grand mal au javascript), ou alors tout simplement des images de background avec un shader dessus pour les pubs (genre effet de vagues quand on passe la souris dessus, qui ne demandera quasi rien coté javascript encore une fois).
1  0 
Avatar de osopardo
Membre régulier https://www.developpez.com
Le 04/03/2011 à 14:46
Citation Envoyé par stardeath Voir le message
déjà ça s'appuie sur javascript, ça aide pas
Tu peut développer ?

Citation Envoyé par stardeath Voir le message
, après tant que ça ne dérive pas en "qui qu'a la plus grosse" appli 3d sur le web, j'ai pas trop de reproche à faire, même si personnellement, une appli 3d c'est pas un truc qu'on devrait lancer dans un navigateur déjà consommateur de beaucoup de ressources.
Firefox 4 prend 35Mo au démarrage, je ne pense pas que ce soit un gros handicap, c'est sûr qu'il va falloir éviter d'avoir 300 onglets ouvert avant de lancer un jeux vidéo, mais sinon ça peut être sympa de pouvoir lancer des applications 3D depuis n'importe où et n'importe quelle plateforme.
0  0 
Avatar de Flaburgan
Modérateur https://www.developpez.com
Le 04/03/2011 à 15:06
Je ne savais pas qu'une marque aussi fermée qu'Apple s'était mis au WebGL...
1  1 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 04/03/2011 à 15:42
D'apres moi, Apple peut penser de la facon suivante:

- Apple depuis longtemps a une implementation plus ou moins speciale d'OpenGL (l'interface avec AGL). Il y a des graphismes en 3D sous les Mac. Et je ne crois pas que DirectX soit supporte.
- Les iPhone / iPad ont une implementation de OpenGL ES 1/2 (donc ils connaissent le truc)
- Apple ne veut pas de Flash, donc pour avoir des jeux, le WebGL peut etre une solution interessante et ce sans passer par un truc ferme style Flash.
0  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 04/03/2011 à 17:10
est-ce que WebGL permettrait de mettre en ligne des exemple OpenGL interactifs ou n'a-t-il pas grand chose à voir avec OpenGL ?
0  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 04/03/2011 à 17:46
Vous auriez regarde ceci -> https://cvs.khronos.org/svn/repos/re...les/index.html
(dans le pack de demo)

Et le ShaderToy ...
0  0 
Avatar de osopardo
Membre régulier https://www.developpez.com
Le 04/03/2011 à 17:50
[Edit]Oulah, un peu grillé sur le coup... [/Edit]

Citation Envoyé par stardeath Voir le message
au lieu de programmer en c, c++, delphi, java ou autre, le seul langage dans un navigateur c'est javascript.
C'est sûr qu'on à pas le choix et que ce n'est pas le langage habituellement utilisé pour la 3D mais, malgré ses particularités, ce n'est qu'un langage parmi d'autres, maintenant que les moteurs d'exécutions semblent à la hauteurs (cf l'équipe d'O3D, depuis les performances on fait d'autres bons), ça ne semble pas être un gros handicap

Citation Envoyé par stardeath Voir le message

sauf que qui dit application 3d, dit code source et assets en conséquence, alors tu prends firefox avec un jeu flash ouvert puis tu multiplies par 3 ou 4 mini.
Un peu comme un jeux video standalone, non ? Puisqu'on appel directement openGL depuis le javascript, je ne voit pas de grosse différence.

Évidement si tu lance un gros jeux vidéo dans ton navigateur ça va te bouffer un max de ressources, comme si tu lançais un gros jeux vidéo "classique".

Citation Envoyé par stardeath Voir le message

ensuite j'ai firefox 3.6, et avec 10 onglets j'arrive à faire 200 Mo d'occupation, donc plus la conso d'une appli 3d, j'ai du mal en quoi ça peut ne pas être massif.
Les développeurs de navigateurs font énormément d'efforts pour optimiser l'usage des ressources et ça se ressent vraiment, mais quand bien même, je pense que la vérité est ailleurs : si tu as un navigateur qui te bouffe 200Mo dans un coin, que tu lance une grosse application depuis ce navigateur ou à coté, ça reviendra toujours au même.
Généralement quand on lance une grosse application 3D on s'assure d'avoir un maximum de ressource disponible avant, dans le cas d'un navigateur avec 10 onglets qui consomment 200M on installe AdBlock, FlashBlock, BarTab, et on le redémarre avant de lancer son applications 3D dans un nouvel onglet.

Ok, je part toujours de l'hypothèse que les appels d'openGL depuis le moteur javascript du navigateur ne soient pas (ou pas trop) plus couteux que ceux faits depuis une application java (pour rester dans le cas d'un langage interprété), si vous voyez des raisons pour lesquels ça le serait, ça m'intéresse.

La grosse limitation actuelle apparemment ça serait plutôt du coté des textures, au niveau de leur téléchargement et leur rendu (toujours d'après l'équipe d'O3D) une fois que ça sera réglé je pense qu'on pourra avoir de véritables jeux 3D (surtout si on a une démocratisation de la connexion fibre optique)
0  0 
Avatar de stardeath
Membre expert https://www.developpez.com
Le 04/03/2011 à 18:05
la démo : 100Mo de ram avec iron et 20% de mon core 2 quad q9000

javascript n'est pas qu'un langage, c'est surement le pire langage qu'on peut avoir pour faire du jeu ou tout autre appli très conséquente (à moins que j'ai loupé le debugger et les autres outils qu'on se sert habituellement en dev)

effectivement les assets c'est comme un jeu normal, sauf qu'ils ne sont pas sur ton disque dur, et que même avec la fibre optique on reste dépendant d'un service en ligne.
0  0