WebGL + SDL + Emscript

J’ai fini par porter Mika sur WebGL en utilisant SDL 1 et Emscripten.

Ensuite, je décrirai ce qui devait être modifié dans le code pour que la construction en JavaScript se termine avec succès.

  1. Utilisez SDL 1 au lieu de SDL 2. Il existe actuellement un portage SDL 2 pour emscripten, mais j’ai trouvé plus approprié d’utiliser le SDL 1 intégré à emscripten. Le contexte n’est pas initialisé dans la fenêtre, mais à l’aide de SDL_SetVideoMode et du flag SDL_OPENGL. Le tampon est dessiné à l’aide de la commande SDL_GL_SwapBuffers()
  2. En raison de la manière dont JavaScript boucle – le rendu est placé dans une fonction distincte et son appel périodique est effectué à l’aide de la fonction emscripten_set_main_loop
  3. L’assemblage doit également être effectué avec la clé “-s FULL_ES2=1
  4. J’ai dû abandonner la bibliothèque assimp, charger le modèle depuis le système de fichiers et charger la texture depuis le disque. Tous les tampons nécessaires ont été chargés sur la version de bureau et insérés dans le fichier c-header pour l’assemblage à l’aide d’emscripten.

Code :
https://github.com/demensdeum/OpenGLES3-Experiments/tree/master/9-sdl-gles-obj-textured-assimp-miku-webgl/mikuWebGL

Articles :
http://blog.scottlogic.com/2014/03/12/native-code-emscripten-webgl-simmer-gently.html
https://kripken.github.io/emscripten-site/docs/porting/multimedia_and_graphics/OpenGL-support.html

Modèle :
https://sketchfab.com/models/7310aaeb8370428e966bdcff414273e7

Leave a Comment

Your email address will not be published. Required fields are marked *