3 ms·
In using OpenGL he is basically giving up all the features Android offers him to stay platform independent. I think it is clear, when you write a whole, complet
by buster 16y ago
In using OpenGL he is basically giving up all the features Android offers him to stay platform independent.
I think it is clear, when you write a whole, complete rendering engine that doesn't use the android stack, you'll eventually have to deal with different screensizes, input methods, etc.
Most apps i use have been running on my G1 from day 1 and now on Android 2.2 on the Nexus One and i've had no big problems between android 1.5, 1.6, 2.1 and 2.2.
I guess the only thing for games to remain relatively platform independent is to use another intermediate layer (to substitute for a not used android "layer") like the unity3d engine.
- wvenable 16y agoYou haven't had problems but how much of that is because a developer, like this one, put the effort into making sure you haven't had problem? OpenGL itself exists to offer platform independence.
- buster 16y agoNot much if the developer stays to the standard UI. How do i know? First of all, i've written my own android programs. Running on a new version is generally no problem, there may be some minor changes that the developer docs usually tell you about. Nothing fancy that can't be done in a few minutes. Second, when 2.2 was released most programs ran out of the box on 2.2, there where no app updates for a few days. Out of all the programs i have installed (there are quite a lot) only one had a minor graphic bug, that has been fixed now. Don't know what was causing this, though. When you say "OpenGL is for platform independence" you are right. But if you look at all the versions, and _especially_ the vendor specific OpenGL extensions, you'll see that OpenGL is quite fragmented itself. Also, it doesn't abstract away screen sizes and such.
- jparise 16y agoWhile his specific examples were about the OpenGL implementation(s), the spirit of his post rings true in other Android subsystems, as well. For example, camera support can differ greatly across SDK versions and hardware. Camera callbacks need to be implemented conditionally based on whether autofocus is available and selected. EXIF orientation data isn't reliably recorded on some devices, and the EXIF interface class isn't available in older SDK versions. Lastly, your application will crash if you attempt to take or preview a photo using unsupported dimensions, but the function to query the list of supported dimensions isn't available on older SDKs.