J'ai écrit un programme en C ++ / OpenGL (à l'aide de Dev-C ++ Compiler) pour ma classe Calculus 2. L'enseignant a aimé le programme et il m'a demandé de l'avoir mis en ligne afin que, au lieu de télécharger le .exe, je peux simplement l'exécuter sur le navigateur Web. Un peu comme des applets Java fonctionnent sur le navigateur. P>
La question est: p>
Comment si possible, puis-je afficher un programme C ++ / OpenGL dans un navigateur Web? Je pense à passer à Jogl qui est une interprétation Java de OpenGL mais je reste plutôt rester en C ++ depuis que je suis plus familier avec ça. p>
Y a-t-il également une autre API de base Web 3D 3D plus facile et plus facile que je peux envisager? P>
7 Réponses :
Avez-vous vraiment le temps de le réécrire? Je pensais que les étudiants devaient être trop occupés pour des travaux d'affectation non essentiels. P>
Mais si vous voulez vraiment le faire, peut-être un aperçu de celui-ci en fonction d'un film flash est le moyen le plus simple. Ensuite, il suffit de le faire et vous pourriez fournir un lien de téléchargement vers la demande réelle si les gens sont intéressés. P>
Lol je n'ai pas cette œuvre de travail alors je passe la plupart de mon temps à étudier, alors je peux passer le temps. + Lol bien je peux faire ça mais je ne sais pas je suis curieux sur la façon de faire OpenGL sur le Web.
afaik, il n'y a que 3 options: p>
Java. Il inclut toute la pile OpenGL. P>
Le client natif de Google (NaCl) , essentiellement c'est un plugin qui vous permet de vous laisser Exécutez le code X86 exécutable. Il suffit de le compiler et de l'appeler de HTML. Très expérimental, et personne ne l'aura déjà installé. Je ne sais pas si cela vous donne accès aux bibliothèques OpenGL. P> LI>
Canvas: 3D . Un autre projet très expérimental. Il s'agit d'une API 3D accélérée accessible à partir de JavaScript. Afaict, ce n'est que sur des constructions expérimentales de Firefox. P> Li> ul> li> ol>
J'irais pour Java, si du tout. P>
OTOH, si c'est surtout des œuvres vectorielles (sans beaucoup de textures et d'éclairage / ombres), vous pouvez le faire fonctionner sur SVG simplement en projetant vos vecteurs de 3D à 2D. Dans ce cas, vous pouvez obtenir une compatibilité croisée croisée avec SVGWeb , c'est une simple bibliothèque JavaScript qui Vous permet d'utiliser de manière transparente le support svg natif du navigateur ou un rendu SVG basé sur Flash. P>
Ouais je pars la même chose. Il n'y a pas trop d'options à ce sujet. Mais merci pour la réponse.
À l'extérieur de Java, Navigateur OpenGL est vraiment à ses balbutiements. Google a lancé une API et un plugin vraiment cool pour cela. Ça s'appelle O3D: P>
http://code.google.com/apis/o3d/ p>
article sur l'initiative globale: http://www.macworld.com/article/142079/2009/ 08 / webgl.html p>
Ce n'est pas OpenGL, mais le 's Consortium Web3D Spécification X3D peut être d'intérêt. p>
Deux approches: p>
Switch to Java. Cependant, votre demande subira une perte de performance en tant que compromis pour la portabilité. Mais puisque Java est partout, cette approche garantit que votre code peut être exécuté dans la plupart des navigateurs. P> Li>
Utilisez ActiveX, ce qui vous permet d'exécuter du code binaire natif pour Microsoft Windows. Ceci n'est pas recommandé dans la production car ActiveX est bien connu comme un trou de sécurité potentiel, mais comme votre conférencier est celui qui le visible, la sécurité ne semble pas être une grosse affaire. Ceci est applicable pour Microsoft Platform (Windows + IE) uniquement. P> LI> ol>
Il y a beaucoup d'activité récemment avec Webgl . Il s'agit d'une liaison pour JavaScript dans les implémentations Native OpenGL ES 2.0, conçues comme une extension de l'élément HTML5 en toile. P>
Il est pris en charge par les constructions nocturnes de Firefox, Safari, Chrome et Opera. P>
Regardez sur ces didacticiels , en fonction des tutoriels NEHE OpenGL bien connus. P>
Plusieurs projets basés sur Webgl sont émergents, notamment des API de scèneGraphes. p>
Je suis presque sûr que Webgl est la voie à suivre dans un proche avenir. Mozilla / Google / Apple / Opera le promeut et si la technologie fonctionne et que la demande de la technologie / développeur est suffisante, Microsoft l'appliquera peut-être sur IE (espérons qu'il n'y aura pas de "Webdx"!). p>
Une autre solution consiste à utiliser EMSCRIPTEN (compilateur source à source). EMSCRIPTEN prend en charge C / C ++ et OpenGL et traduira la source en HTML / JavaScript. P>
Pour utiliser EMSCRIPTEN, vous devrez utiliser SDL comme couche d'abstraction de plate-forme (pour obtenir un contexte OpenGL ainsi que pour charger des images). P>
EMSCRIPTEN est actuellement utilisé dans un moteur irréel et sera également utilisé dans le moteur UNITY 5. P>
En savoir plus sur le projet ici: https://github.com/kripken/emscrepripten P>
Il y a une chose appelée "Unity Web Player". Aucune idée de ce qui est en dessous, je viens de trébucher sur un match 3D dedans récemment.
Jogl est très abordable si vous connaissez déjà C ++. Je ne pense pas que vous auriez un problème avec JOGL.