The nice people at Verizon let me borrow a Droid for a few days so I'm going to take full advantage of this opportunity to bring you developers some specifications on the 3D capabilities of it. First of all, this phone is fast. How fast? It loads Light Racer 3D in 1/3 the time of my G1. Not only that, but it has a PowerVR SGX530 GPU in it (14 MPolys/s). Hello fast gaming! That's very close to the same chip used in the iPhone 3GS. Not only fast gaming, but all SGX series GPUs supposedly exceed OpenGL ES 2.0 specifications. Android doesn't currently support OpenGL ES2.0, but I have to imagine that with hardware like this on the market, it will soon. I tested Light Racer 3D on this phone and it works extremely well. 45-50 frames per second at 569x320. I have to imagine that it'd run at 60FPS if the screen were HVGA which would make it twice as fast as the G1. Read on for a list of supported OpenGL extensions and other specifications.
Here's what the log showed when initializing OpenGL:
D/libEGL ( 2090): loaded /system/lib/egl/libGLES_android.so
D/libEGL ( 2090): loaded /system/lib/egl/libEGL_POWERVR_SGX530_121.so
D/libEGL ( 2090): loaded /system/lib/egl/libGLESv1_CM_POWERVR_SGX530_121.so
D/libEGL ( 2090): loaded /system/lib/egl/libGLESv2_POWERVR_SGX530_121.so
Droid GL Extensions:
Native 3D full screen size: 569x320 - that's like WHVGA 16:9. The actual device resolution is 854x480 WVGA so I believe it's scaling for compatibility. My tests are with a 1.5-targeted manifest. Make sure that your games know what to do with the extra screen area! 480x320 HVGA has been the norm until now.
D/WorldRenderer( 2090): OpenGL Surface Changed to (569x320)
Just for kicks, here's the list of OpenGL extensions supported by the G1/MyTouch/Hero:
And finally the Android emulator:
Right off the bat, there are differences in compressed texture formats. I don't know how many people are actually using precompressed textures in Android games at the moment (I'm not), but the qualcomm chip based phones use atitc and the powervr uses pvrtc. That's kind of a pain because I don't think that they are compatible with each other. If I'm wrong, please correct me.
It's hard to say what capabilities it may have because if it truly does support OpenGL ES 2.0, then it must have things like mipmap generation, shaders, vertex programs and the like and wouldn't have to list them as extensions. It does show things like cube maps and vertex program so some of that is on the list.
I tried to run neocore as a benchmark to see how many FPS I get on it but it seems to be targeted specifically for the Qualcomm chip. It runs, but the textures are all checkerboards. For what it's worth - it's smoother than on my G1 despite the lack of normal textures.
I'm really hoping that more phones will start using PowerVR or equivalent chips. They're clearly good and very fast. Don't forget about the millions of G1, MyTouch and Hero users, though. Those phones will continue to be around for a while. The trick is to take full advantage of the new hardware while still running fast enough on the slower GPUs. I believe that a full features game will need to include the ability to run high, medium and low quality graphics configurations to run well on all phones. I'd like to see some code to auto-detect such things.
Overall, this is a device you will want to get your hands on. It's different enough from existing Android phones to where you really won't know what your game looks like or how it runs until you try it on it.
ADB drivers are available here - http://developer.motorola.com/docstools/USB_Drivers/Handset_USB_Driver/
If you use Windows 7, like I do, you may have to extract out the contents of the MSI and install the drivers manually. They do work if installed that way.