LoginSignup
2
2

More than 5 years have passed since last update.

(SDL1|SDL2) & (MinGW|Mac|Emscripten) & OpenGL & C言語 のビルド方法まとめてみた

Last updated at Posted at 2017-09-27

SDL2 x Emscripten x GL を利用してゲームでも作ろうかな。
と思い立って、アレコレしていたのですが、

今は、SDL2より、SDL1 の方が良いなぁーと思うに至ったり。 ついでだから、 Windows や Macようにもビルドできるようにしておきたいなぁ。
と考えたりしました。

なぜ、SDL1なの? ビルドで困ったことは?
などなど
あれこれ、解説します。

結論から

SDL1を使おう。なぜ?

詳細は以下にかきました。
http://kyorohiro.blogspot.jp/2017/09/which-use-sdl1-or-sdl2-at-emscripten.html

  • SDL2 x Emscripten のサイズがでかい。 2MBくらいある。 SDL1 x Emscriptenなら、200kbくらいで済む
  • SDL2系で SDL_mixerが思い通りに動作しなかった。(今は違うかも)
  • SDL1系でも、タッチイベントが使える

という理由からです。サイズが小さく済むのが、個人的には大きなポイントでした。

デスクトップとEmscriptenの主な違い

emscriptenは、emscripten_set_main_loop_argで、イベントループを回す必要がある。

 emscripten_set_main_loop_arg(main_loop, obj, 60, 1);

おもな違いは、そのくらい

SDL1 と SDL2 の違い

https://wiki.libsdl.org/MigrationGuide
のとおり

MINGW x SDL x GL を利用するには、自分でGLEWをビルドする必要がある

以下にまとめましたが、MINGWように GLEWを自分でビルドしてください

以下は、ビルドできるように修正済みのコード
https://github.com/kyorohiro/glew_mingw

PS

TTFとかですね、Imageとかの、合成方法とか、 差異が少しだけありました。
詳しくは、

https://github.com/kyorohiro/doc_sdl2
https://github.com/kyorohiro/capp
https://github.com/kyorohiro/glew_mingw

を参照してください。
(SDL1|SDL2) & (MinGW|Mac|Emscripten) & OpenGL & C言語
での、Image、OffScreen Image、Sound、Font、GL、等、基本的なサンプルコードをおきました。
ninja build つきです。

https://github.com/kyorohiro/capp/tree/master/examples
にも、同等の、サンプルコードがあります。

また、以下もどうぞ
https://kyorohiro.blogspot.jp/search/label/Emscripten

 
 

オワリ!!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2