Adding OpenGL-ES / CE support

In the game mentioned before I plan on targetting Axim x50v as well as
the PC, because of the Intel 2700G processor, which supports
OpenGL-ES. I’m aware of the cube project, but that heavily modifies
SDL.

My goal is to have OpenGL projects cross-compile, at least to the
extent where when the APIs are identical between each other, there are
no compile errors. Of course, this implies there should be an
additional 3d platform and maybe run-time support to specifiy which
OpenGL platform is being used. Since OpenGL and OpenGL-ES are quite
close via the API level, it does not seem too monumental.

He is the tricky thing. SDL has support through windows CE, and
windows CE supports OpenGL-ES with the Axim 50v or 51v. However you
can test the emulation of OpenGL-ES via a PowerVR emulator. This
implies you want to be able to compile for Win32 but be able to tell
SDL to use OpenGL-ES if a certain preprocessor flag is enabled, or
compile to Windows CE using only OpenGL-ES if OpenGL is used and
enabled.

So here are the platforms I am interested in:

  1. SDL under Win32 and OpenGL (done)
  2. SDL under Win32 and OpenGL-ES via emulation layer
  3. SDL under WinCE and OpenGL-ES via OpenGL-ES (hardware acceleration)

With this in mind, what is the best strategy to proceed. I couldn’t
find any material on the rules to contributing to SDL and never been
involved in an Open Source project. So what’s the best option, have
patches for #2 and #3, create a multiple branches, or just release the
source code to the ports I make?

I also would be limited by my ability to make OpenGL-ES available in
Win32 only. I do not have the knowhow or skills to add any other
architecture support for OpenGL-ES under any architecture but the
PocketPC I plan on buying next week. Afaik, Dell is the first PocketPC
with a real accelerator (the same tech in Dreamcast). But, I think,
maybe with some sort of mainstream support under Win32, someone could
port #2 to other architectures to emulate. And for #3, well, my goal
is somewhat selfish. If I contribute to one architecture (the Dell), I
hope in the future when other PocketPC’s come out people will help
maintain the support under other PocketPC’s that support OpenGL-ES.
Or, that having the OpenGL-ES support would prompt someone to ensure
the Windows CE support was solid for that specific device.

I do not mind taking the initiative, but I would like some advice.

Matthew

He is the tricky thing. SDL has support through windows CE, and
windows CE supports OpenGL-ES with the Axim 50v or 51v. However you
can test the emulation of OpenGL-ES via a PowerVR emulator. This
implies you want to be able to compile for Win32 but be able to tell
SDL to use OpenGL-ES if a certain preprocessor flag is enabled, or
compile to Windows CE using only OpenGL-ES if OpenGL is used and
enabled.

I’m not sure what’s involved with OpenGL-ES support, but it certainly
seems reasonable to add support for it on Windows CE. You’re welcome
to submit a patch for it to bugzilla: http://bugzilla.libsdl.org/

-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment

Thanks for the tip. I’ll start working on it sometime next month. At
least I’ll try. I’m fairly new to this field, so some of these more
advanced topics are taking time in my self-study. It seems 3D there is
no end to the potentials for complexity :)-----
Matt Johnson
Graphics Developer
VCom3D, Inc.

I’m not sure what’s involved with OpenGL-ES support, but it certainly
seems reasonable to add support for it on Windows CE. You’re welcome
to submit a patch for it to bugzilla: http://bugzilla.libsdl.org/

   -Sam Lantinga, Senior Software Engineer, Blizzard Entertainment