Comment convertir le code OpenGL en WebGL
J'ai fait un projet graphique en utilisant OpenGL et maintenant je veux le convertir en WebGL pour que je puisse la mettre sur le web. Est-il possible de convertir directement de l'OpenGL en c++ codes de WebGL ou j'ai ré-écrire manuellement ??
J'ai appris seulement quelques notions de base de WebGL que je suis aussi l'apprentissage de javascript en parallèle(uniquement parce qu'il est requis dans le codage de webgl).
Et toutes les autres suggestions sont aussi les bienvenues.
source d'informationauteur Bond
Vous devez vous connecter pour publier un commentaire.
Je suis surpris que personne n'a mentionné Emscripten. Ce n'est pas une solution parfaite, et selon la façon dont votre code est structuré et les bibliothèques que vous utilisez, vous pourriez avoir à faire quelques ajustements manuelle, mais ça fonctionne assez bien en tant que générique, C++, Javascript cross compilateur.
Je fais pas de promesses que c'est une solution magique, mais il peut être en valeur un regard.
C'est une solution commerciale, mais Mandreel va le faire. Même émule OpenGL ES 1.1 fixe en fonction de l'appui sur WebGL. Il y a aussi Emscripten qui vous permet de convertir le C/C++ et, apparemment, a certains vieux Support d'OpenGL.
Sinon,
À moins que votre application est trivial, la majeure partie de votre problème va être de la conversion de code C++ en JavaScript. C++ et JavaScript sont tout à fait différentes langues, par exemple, l'un étant typé statiquement et dynamiquement typé.
WebGL est basé sur OpenGL ES 2.0, qui est à peu près un sous-ensemble de l'OpenGL 2.0. De sorte que vous pouvez écrire du code OpenGL qui est directement traduisible, mais pas tous les code OpenGL est. Il est difficile de savoir comment facile le portage du code OpenGL sera sans plus d'informations.
Je ne suis pas au courant de tous les outils pour automatiser le travail pour vous, et je serais très sceptique à de tels outils, si je les voyais. La cartographie de la sémantique d'un langage de programmation ou API à un autre est une tâche très difficile à automatiser.
Généralement manuel de réécriture est nécessaire. Il n'y a pas beaucoup de chance de trouver une solution générique serait en mesure d'interpréter correctement le code existant. Bien sûr, vous pouvez écrire votre propre convertisseur puisque vous avez l'avantage de ne traiter avec votre propre code et de structures.
Il est également intéressant de mentionner que WebGL est un sous-ensemble de l'OpenGL ES 2.0, donc le code écrit pour les systèmes de bureau ne sera pas forcément compatible de toute façon.
Le plus proche que j'ai vu est le code pour la conversion OBJ modèles en WebGL code.
Il semble que http://asmjs.org/ peut être une base pour l'exécution de non code javascript dans le navigateur.
Emscriptem (déjà mentionné), je pense que, peut comprendre LLVM qui peut être affiché par certains compilateurs C++, mais il a probablement besoin d'un travail manuel ainsi, la façon dont ces choses se passent.
Je n'ai jamais utilisé l'un de ces, mais de lire à leur sujet et ils me semblent intéressants et essayer d'atteindre ce que vous essayez d'atteindre, je ne peux rien dire à propos de la mise en œuvre et la façon dont ils fonctionnent dans le "monde réel".