PDA

View Full Version : newbie OpenGL ES questions



chrisweaver
02-26-2005, 06:57 AM
I'm just starting out with Symbian and OpenGL ES but I am somewhat confussed. Sorry for all the questions in one go but here goes:

- If I build an OpenGL ES app with the Symbian 60 r2 fp2 SDK can I deploy that onto any mobile phone, even models lesser than the Nokia 6630?

- Can I build OpenGL ES on earlier versions of the SDK?

- Does OpenGL ES have built in software rendering if used on hardware without acceleration just like the desktop version? In other words do I really need to use a seperate software renderer instead of OpenGL incase there is no hardware, or can I just fall back on OpenGL ES's software renderer in this case?

- Is there a better way to preview/test games I write than using the Symbian emulator, its impossible use because its so slow.

- Whats the best (at a reasonable cost) mobile device to buy to test my ES games (the Nokia 6630 is fully compatible but expensive, the N-Gage is cheaper but not hardware accelerated).

- How can I deploy ES games on mobile devices which don't have the OpenGL.dll installed?

- Can I build a Windows based OpenGL ES for development in Borland Builder C++ or VC++ prior to building with the Symbian SDK?

Although I'm fairly experienced with desktop OpenGL you can see that the world of Symbian and mobile devices is new to me, so any advice would be greatly appreciated.

Thanks,
Chris.

qasim1981
02-27-2005, 03:16 AM
I think p900 should do the Job easily.

flame
03-02-2005, 09:11 AM
- If I build an OpenGL ES app with the Symbian 60 r2 fp2 SDK can I deploy that onto any mobile phone, even models lesser than the Nokia 6630?

[JaVa]: Yes you can if you also include a fallback SW engine with your installation (.SIS) file. In that case though you need to buy that SW (e.g., Gerbera from Hybrid) if you want to use it in commercial SW.

- Can I build OpenGL ES on earlier versions of the SDK?

[JaVa]: Not with a standard SDK as the API is not really present in the earlier SDKs (not present in the devices either). If you get a separate SW implementation (such as Gerbera from Hybrid), it may come with .LIB and .DLL files that work also with earlier SDK versions.

- Does OpenGL ES have built in software rendering if used on hardware without acceleration just like the desktop version? In other words do I really need to use a seperate software renderer instead of OpenGL incase there is no hardware, or can I just fall back on OpenGL ES's software renderer in this case?

[JaVa]: Mobile devices are typically a bit different in this aspect. OpenGL ES is supported in Symbian OS version 8 onwards -> most >= Symbian 8 based products should come with some kind of OpenGL ES implementation (SW rasterizer or HW rasterizer).

- Is there a better way to preview/test games I write than using the Symbian emulator, its impossible use because its so slow.

[JaVa]: If you have problems with Symbian emulator performance, I have a quick fix for you: use CIdle instead of CPeriodic for the "timer loop". It gives you better framerate, but it is not periodic in any way.

- Whats the best (at a reasonable cost) mobile device to buy to test my ES games (the Nokia 6630 is fully compatible but expensive, the N-Gage is cheaper but not hardware accelerated).

[JaVa]: you can get started on almost any Symbian device by downloading the Gerbera from Hybrid (www.hybrid.fi (http://www.hybrid.fi)). You can use it for free for non-commercial purposes.

- How can I deploy ES games on mobile devices which don't have the OpenGL.dll installed?

[JaVa]: bundle a fallback SW OpenGL ES rasterizer to the application. The situation is somewhat similar to creating a 3D application that would work on all (even really old) Linux distros (where you can't perhaps count on Mesa being there).

- Can I build a Windows based OpenGL ES for development in Borland Builder C++ or VC++ prior to building with the Symbian SDK?

[JaVa]: There are some SW engines out there (Gerbera, Vincent) and there is also semi-complete wrapper implementation of OpenGL ES 1.0 on top of OpenGL (search forums for a link).

--jani;

jasin
03-03-2005, 11:00 AM
<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by chrisweaver:

- Is there a better way to preview/test games I write than using the Symbian emulator, its impossible use because its so slow.

- Can I build a Windows based OpenGL ES for development in Borland Builder C++ or VC++ prior to building with the Symbian SDK?
<HR></BLOCKQUOTE>

Hi!

In my personal opinion, probably the easiest way to develop an OpenGL ES game targeted on a mobile device is to do most of the game development on a desktop machine and to "port" the game to the mobile device on a regular basis.

What I'd do to get started is set up a simple application that one could compile either using, say, VC++ and the Symbian SDK. Then I'd start to work on the game engine itself, keeping the target platform in mind at all times. (eg. the keys and inputs, not using any non-const global or static data etc.) You should make sure to compile and run the game on target on a regular basis though. This way you reduce the (sometimes surprisingly significant) overhead involved in porting a complete application to a mobile platform. This way you'll get a realistic idea of your game's performance on the target too.

To get started, you might get our implementation (downloadable here (http://www.hybrid.fi/main/download/opengl_es.php)) for both Win32 and Series 60 platforms.

Regards,
Jasin