User:Javispedro/SDL-GLES

You can use SDL 1.2 and a small addon I made, SDL-GLES, to ease development of OpenGL ES (1.1 and 2.0) applications in Maemo.

Contents

[edit] Get started

[edit] OpenGL ES 2.0

  1. In any of the SDK targets, download and install SDL and SDL-GLES packages.
    fakeroot apt-get install libsdl-gles1.2-dev libsdl1.2-dev
  2. If you are in the FREMANTLE_ARMEL target, install libgles2-sgx-img-dev (which contains the OpenGL ES 2.0 required libraries and headers)
    fakeroot apt-get install libgles2-sgx-img-dev
  3. But if you are in the FREMANTLE_X86 target, install libgles2-dev instead (which contains the OpenGL ES 2.0 emulation libraries).
    fakeroot apt-get install libgles2-dev
  4. Now to get a simple skeleton for your app. Download gles2.c and put it in your working directory.
    wget "http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles2.c;h=d13ee1ef5505af8ee51a68250f3016ea4ce5f5d3" -O gles2.c
    Note that this is just a skeletion application; if you want samples, look at the nehegles package in extras.
  5. Build gles2 with
    gcc `sdl-config --cflags --libs` -o gles2 gles2.c -lSDL_gles -lEGL -lGLESv2
  6. Now run it. Ensure the SDK interface is up (this is out of the scope for this little tutorial).
    ./gles2

[edit] OpenGL ES 1.1

  1. In any of the SDK targets, download and install SDL and SDL-GLES packages.
    fakeroot apt-get install libsdl-gles1.2-dev libsdl1.2-dev
  2. If you are in the FREMANTLE_ARMEL target, install libgles1-sgx-img-dev (which contains the OpenGL ES 1.1 required libraries and headers)
    fakeroot apt-get install libgles1-sgx-img-dev
  3. But if you are in the FREMANTLE_X86 target, currently there's not an easy way to install the emulation 1.1 libraries and headers. You will need to get the N900 OpenGL ES 1.1 PowerVR Insider SDK from Imagination, and install it. Note that you will need to unpack the library files on the usual paths manually.
  4. Now to get a simple skeleton for your app. Download gles1.c and put it in your working directory.
    wget "http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles1.c;h=0756be5b8979868a4a9ac4c3d8497e56b18bb276" -O gles1.c
    Note that this is just a skeletion application; if you want samples, look at the nehegles package in extras.
  5. Build gles1 with
    gcc `sdl-config --cflags --libs` -o gles1 gles1.c -lSDL_gles -lEGL -lGLES_CM
  6. Now run it. Ensure the SDK interface is up (this is out of the scope for this little tutorial).
    ./gles1

[edit] In detail

[edit] Questions & Answers

Feel free to edit here.

For the ES 2.0 example you wrote: "Note that this is not a proper skeleton, work in progress". What needs to be done to call it "proper"? --goshki 11:03, 8 March 2011 (UTC)

Because it is mostly a test instead of a proper game skeleton, with the game logic -> render logic event loop, etc. The test is fine for learning how to initialize SDL_GLES but I would like something that also teaches a prospective developer general game development with SDL + OpenGL. However, harbaum has since contributed a lot of proper OpenGL ES 2.0 samples in his NeHeGLES package: http://maemo.org/downloads/product/Maemo5/nehegles/ . --javispedro 13:40, 8 March 2011 (UTC)