User:Javispedro/SDL-GLES

m
 
(4 intermediate revisions not shown)
Line 1: Line 1:
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.
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.
-
 
-
'''Page in progress'''
 
== Get started ==
== Get started ==
Line 15: Line 13:
# Now to get a simple skeleton for your app. Download [http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles2.c;h=d13ee1ef5505af8ee51a68250f3016ea4ce5f5d3;hb=HEAD gles2.c] and put it in your working directory.
# Now to get a simple skeleton for your app. Download [http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles2.c;h=d13ee1ef5505af8ee51a68250f3016ea4ce5f5d3;hb=HEAD gles2.c] and put it in your working directory.
#: <code>wget "http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles2.c;h=d13ee1ef5505af8ee51a68250f3016ea4ce5f5d3" -O gles2.c</code>
#: <code>wget "http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles2.c;h=d13ee1ef5505af8ee51a68250f3016ea4ce5f5d3" -O gles2.c</code>
-
#: ''Note that this is not a proper skeleton, work in progress''
+
#: ''Note that this is just a skeletion application; if you want samples, look at the nehegles package in extras.''
# Build gles2 with  
# Build gles2 with  
#: <code>gcc `sdl-config --cflags --libs` -o gles2 gles2.c -lSDL_gles -lEGL -lGLESv2</code>
#: <code>gcc `sdl-config --cflags --libs` -o gles2 gles2.c -lSDL_gles -lEGL -lGLESv2</code>
# Now run it. Ensure the SDK interface is up (this is out of the scope for this little tutorial).
# Now run it. Ensure the SDK interface is up (this is out of the scope for this little tutorial).
#: <code>./gles2</code>
#: <code>./gles2</code>
 +
 +
=== OpenGL ES 1.1 ===
 +
 +
# In any of the SDK targets, download and install SDL and SDL-GLES packages.
 +
#: <code>fakeroot apt-get install libsdl-gles1.2-dev libsdl1.2-dev</code>
 +
# If you are in the FREMANTLE_ARMEL target, install libgles1-sgx-img-dev (which contains the OpenGL ES 1.1 required libraries and headers)
 +
#: <code>fakeroot apt-get install libgles1-sgx-img-dev</code>
 +
# 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 [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp#GLES1b Imagination], and install it. Note that you will need to unpack the library files on the usual paths manually.
 +
# Now to get a simple skeleton for your app. Download [http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles1.c;h=0756be5b8979868a4a9ac4c3d8497e56b18bb276 gles1.c] and put it in your working directory.
 +
#: <code>wget "http://git.maemo.org/git?p=sdlhildon;a=blob_plain;f=sdlgles/test/gles1.c;h=0756be5b8979868a4a9ac4c3d8497e56b18bb276" -O gles1.c</code>
 +
#: ''Note that this is just a skeletion application; if you want samples, look at the nehegles package in extras.''
 +
# Build gles1 with
 +
#: <code>gcc `sdl-config --cflags --libs` -o gles1 gles1.c -lSDL_gles -lEGL -lGLES_CM</code>
 +
# Now run it. Ensure the SDK interface is up (this is out of the scope for this little tutorial).
 +
#: <code>./gles1</code>
== In detail ==
== In detail ==
Line 26: Line 39:
Feel free to edit here.
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"? --[[User:goshki|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/ .
 +
--[[User:javispedro|javispedro]] 13:40, 8 March 2011 (UTC)

Latest revision as of 18:42, 21 June 2011

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)