About OpenGL ES

Started by
12 comments, last by ma_hty 15 years, 8 months ago
Quote:Original post by ma_hty
Quote:Original post by dannyBlue
Nothing. Acceleration is used if it is present if not a software implementation of the API is used to emulate a physical device (this is off course much slower and allot more expensive in terms of battery).


Hopefully, it is the case if the software implementation knew the physical device.

However, how can I know the software implementation will use the physical device for acceleration if it is available?

And, that's my major concern in the very first beginning.


This will depend from platform to platform, but in principle the process is abstracted so that the graphic driver can take care of the issue of acceleration "automatically".

Advertisement
Quote:Original post by dannyBlue
Direct3D mobile is as valid offering as any if that is your intended target platform. I am not aware of an accelerated mobile gpu that offers the direct3d mobile API.


There are mobile GPUs that support accelerated Direct3D, many that support ES also support D3Dm, but not all. There are a few devices that do have D3Dm acceleration, such as the Dell Axim PDA, but I'm not aware of any phones.

Like I said above, I can't stress it enough that Direct3D mobile is really not viable beyond a few specific devices. Very few implementations are hardware accelerated, most software implementations aren't even optimized for the specific processor of the device. OpenGL|ES has tremendous momentum and support which is only growing, so its the smart horse to bet on.

Quote:Original post by ma_hty
Quote:Original post by dannyBlue
Nothing. Acceleration is used if it is present if not a software implementation of the API is used to emulate a physical device (this is off course much slower and allot more expensive in terms of battery).


Hopefully, it is the case if the software implementation knew the physical device.

However, how can I know the software implementation will use the physical device for acceleration if it is available?

And, that's my major concern in the very first beginning.


It depends, there's a few models that can be followed. If you statically-link to a pure-software implementation, then all the drawing code is internal to your application and it will not be hardware accelerated even if the device does support it. Some implementations might dynamically load the drawing code from a DLL, in which case it's possible to create an alternate DLL which forwards the drawing calls to the hardware GPU. Another possibility is that the code is statically linked against an interface which talks to a driver, and that said driver will be hardware accelerated or software itself.

You'll have to discover for yourself which case applies to your implementation, but in all cases, the code that you write *is* openGL|ES code, and all it should take, at most, to gain hardware acceleration is a recompile against an implementation that supports hardware.

throw table_exception("(? ???)? ? ???");

Quote:Original post by Ravyne
... all it should take, at most, to gain hardware acceleration is a recompile against an implementation that supports hardware.


That's a reasonable load of work. Thank you very much. ^^
Do you know which OpenGL ES implementation aware GoForce GPU?

Or... where can I download the library of GoForce GPU for window mobile?

This topic is closed to new replies.

Advertisement