| Q&A |
Norbert
Nopper
ES 3D
Setp. 2007 |
| |
 |
"ES
3D SDK on this device. 3D acceleration on mobile devices
is a reality and has indeed a future. Content displayed
can be enriched which is also important and especially
on small screens and finally essential for the user
experience."
<
Stonetrip in action |
|
| |
|
| Q1 |
Could
you please give a brief description of ES 3D? |
| A1 |
The
Embedded Systems 3D Game Software Development Kit, short ES
3D Game SDK, is an open source 3D Game Engine / SDK for embedded
devices / mobile phones. The ES 3D Game SDK uses the OpenGL
ES standard for rendering its content. The SDK is written
in ANSI C/C++ and uses almost, besides the OpenGL ES library,
only ANSI C libraries. On Symbian devices, the Open C library
can be used as well.
The ES 3D Game SDK offers and will offer the features which
are mandatory for a 3D Game Engine / SDK:
- Model loading, animating and rendering.
- Collision detection: Model vs. model, model vs. terrain
/ indoor environment.
- Scene handling and rendering of terrain and / or indoor
environment.
- Real world effects using light, shadow, fire etc.
Basically, it has and will have the mandatory features of
a 3D Game Engine / SDK for PC and / or console. Of course,
there are reductions because of the features for each version
of the OpenGL ES SDK and limitations of the CPU, GPU, memory
etc. where the ES 3D Game Engine / SDK is running on it. |
| |
|
| Q2 |
What
kind of embedded devices can display games made with ES 3D? |
| A2 |
The
ES 3D Game SDK is using OpenGL ES and only ANSI C/C++ libraries.
Of course, for each platform, there is extra code written and
device specific libraries are used. But this part is encapsulated
away from the core ES 3D Game Engine / SDK. So, if a device
supports OpenGL ES and the ANSI C/C++ libraries, the device
specific code has to be adapted at a central point in the ES
3D Game Engine / SDK and it should run without problems on this
device.
Currently, the SDK supports Symbian S60 devices, Microsoft Pocket
PCs and Microsoft Windows. As OpenKODE is supported by the ES
3D Game SDK as well, it should also run on any device which
has an OpenKODE implementation. |
| |
|
| Q3 |
Is
it possible to play 3D contents with collision and physic effects
on mobile devices? |
| A3 |
The
ES 3D Game SDK is mainly designed to display 3D content. As
mentioned earlier in this interview, it supports also collision
detection, models vs. models and / or models between the terrain
/ indoor environment. At this point of time, a physics engine
is not planned but could be integrated with some effort, depending
what is wanted.
See, I think most features / effects you see on nowadays PCs
and / or consoles are possible on mobile devices as well. The
programming language and the libraries like OpenGL ES are not
the limitations. Basically, you can implement almost the same
what is possible on a PC and / or console. Of course, the technology
there is the spearhead and the probably you will first see the
latest technology there and later or never on embedded devices.
The real limitation is, of course, the hardware possibilities
of the mobile device.
The CPU, GPU and memory capabilities are below a PC and / or
console system. Also to consider are the limitations because
of the screen and input. To answer your question, yes, I think
it is possible to play 3D content etc. on a mobile device. Because
of scalability and limitations the experience will probably
differ but it will definitely be a 3D experience. |
| |
|
| Q4 |
About
3D engine : what kind of version of OpenGL ES do you support
? Does it support 3D effectus such as multi-texturing? |
| A4 |
Currently,
the ES 3D Game SDK is supporting OpenGL ES 1.0 and 1.1, both
fixed and floating point versions. All features are implemented
for both versions; maybe with some limitations in the 1.0 version
as the wanted results can not be implemented exactly the same
as in version 1.1. Yes, the ES 3D Game SDK is supporting multi-texturing.
E.g. it is used in the terrain rendering. The ES 3D Game SDK
is and will use all the fancy features which are possible with
OpenGL ES and its extensions. Actually, to get the wanted realism,
it is necessary to use them. For the future, an OpenGL ES 2.0
version is planned to be released in parallel. Then also programmable
shaders will be supported by the ES 3D Game SDK. As there will
and has to be some redesigns, please do not expect it soon. |
| |
|
| Q5 |
What
kind of 3D data can be imported into ES 3D SDK? |
| A5 |
At
this point of time, the Milkshape 3D (http://chumbalum.swissquake.ch/)
file format is supported. The data format is compact and supports
features as skeletal animation. And most important, with the
Milkshape 3D tool, it is possible to convert from a lot of 3D
file formats used in the game industry into this file format.
Finally, even at this point of time only one 3D file format
is supported, many common 3D game file formats can be used as
well. If the 3D file format is known, a loader can added to
the ES 3D Game SDK. It
is designed for adding new file formats. |
| |
|
| Q6 |
Is
3D acceleration on mobile device a reality ? Can it display
console-like (PSP/DS) graphics? |
| A6 |
Yes,
it is a reality and can already be found in nowadays devices.
E.g. the Nokia N93 supports OpenGL ES hardware acceleration.
By the way, I am testing the ES 3D SDK on this device. 3D
acceleration on mobile devices is a reality and has indeed
a future. Content displayed can be enriched which is also
important and especially on small screens and finally essential
for the user experience. See, it is not OpenGL ES and / or
the ES 3D Game SDK which is limiting the graphics. Technically,
if the necessary libraries would exist, it would run on Playstation
Portable and Nintendo DS as well. So, it is the hardware of
a mobile device like a mobile phone which is limiting the
graphics. But as you see 3D hardware acceleration on mobile
phones already now and programmable shaders in the future,
yes, I am sure it will display console-like graphics. |
| |
|
| Q7 |
Why
using OpenKode rather than Java? |
| A7 |
I
think using OpenKODE instead of Java is not the main question.
I think, it is more important, if you want to develop either
in Java or C/C++. If you want to support many devices and you
can accept performance reductions, I think Java is a good choice.
If you need performance and you want to use specific hardware
features of a mobile device, C/C++ will probably the better
choice. OpenKODE will be finalized soon and you already see
implementations of it. If it will be accepted and implemented
by the market, it will definitely
help to speed up development in C/C++ for mobile devices. Less
time for porting to the specific devices will be needed. But,
like the current situation with Java on mobile devices: It will
probably limit porting, but not eliminate it. |
| |
|
| Q8 |
Why
is ES 3D OpenSource? Can anybody -even for commercial purpose-
use it free? |
| A8 |
The
ES 3D Game SDK is open source as it is no commercial project.
So the support and further development of features, at this
point of time, can not be the same and guaranteed as a commercial
product. But the performance, quality and features claims of
a commercial project are a primary goal. See, if anyone decides
to use the ES 3D Game SDK, and finds a bug or needs a new feature
or modification, it can be fixed and implemented immediately
by the adopter. So reason for open source is minimizing the
risk of an adopter and increase the acceptance for new developers.
The ES 3D Game SDK can be used for free for non-commercial usage.
Only some credits are wanted. For commercial usage, the ES 3D
SDK can be used for free until money is made with it. This means,
for evaluating or doing a prototype internally, just some credits
have to be noted. As soon money is made by using the ES 3D Game
SDK, the usage costs.
To be on the safe side, just contact the developers of the ES
3D Game SDK explain your situation and I am sure an appropriate
solution will be found. |
| |
|
| |
|
| |
|
 |
|
|