GLES differences between emulator and droid phone

46 views
Skip to first unread message

Matt McMinn

unread,
Mar 6, 2010, 1:28:07 PM3/6/10
to android-ndk
I'm working with a C++ library that uses OpenGL for rendering. While
porting this library to Android and GLES, I've noticed that there are
differences in the rendering between the emulator and a physical
phone, in my case a Droid. Is it common to see big differences
between the standard android emulator and a physical phone? I know
that I don't have everything completely ported over to GLES yet, but I
wasn't expecting to see a difference in rendering between the two
platforms. In general, is there a way to test on the emulator whether
the rendering will work for different phones, or can I copy the ROM
off the phone to test on an emulator?

Thanks

Matt

David Turner

unread,
Mar 6, 2010, 5:26:34 PM3/6/10
to andro...@googlegroups.com
OpenGL ES leaves certain things open to the implementation, even when rendering,
so pixel-level differences are likely to occur between devices using different GLES implementations (the Droid uses its GPU, while the emulator uses its own software
renderer)

Do you have concrete information about these differences ?


--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.


Matt McMinn

unread,
Mar 7, 2010, 4:56:18 AM3/7/10
to andro...@googlegroups.com
Nothing concrete yet, we just got in to trying to get things running on
a phone, so we haven't gotten in to it too much. At this point, I think
I'm just hoping that as we get things ported to GLES, the rendering in
the emulator and on the phone converge to render pretty much the same.

Thanks

Matt

> <mailto:andro...@googlegroups.com>.


> To unsubscribe from this group, send email to
> android-ndk...@googlegroups.com

> <mailto:android-ndk%2Bunsu...@googlegroups.com>.

Mario Zechner

unread,
Mar 7, 2010, 5:21:46 AM3/7/10
to android-ndk
The pixeflinger output (software renderer on emulator) will differ
greatly when you do texture mapping. The reason is that the
pixelflinger texture mapper is an affine one, so no perspective
correction occurs. I wouldn't worry to much about that though.

On 7 Mrz., 10:56, Matt McMinn <matt.mcm...@gmail.com> wrote:
> Nothing concrete yet, we just got in to trying to get things running on
> a phone, so we haven't gotten in to it too much.  At this point, I think
> I'm just hoping that as we get things ported to GLES, the rendering in
> the emulator and on the phone converge to render pretty much the same.
>
> Thanks
>
> Matt
>
> On 3/6/2010 5:26 PM, David Turner wrote:
>
> > OpenGL ES leaves certain things open to the implementation, even when
> > rendering,
> > so pixel-level differences are likely to occur between devices using
> > different GLES implementations (the Droid uses its GPU, while the
> > emulator uses its own software
> > renderer)
>
> > Do you have concrete information about these differences ?
>

Robert Green

unread,
Mar 8, 2010, 3:49:36 AM3/8/10
to android-ndk
I don't recommend testing against pixelflinger unless you want to
support 3d on non gpu-accelerated devices, but let me clarify that
pixelflinger by default does not do perspective correct textures,
however if you set the perspective correction hint to nicest, it will
do it.

Micha.Otto.de

unread,
Mar 10, 2010, 4:48:07 AM3/10/10
to android-ndk
there is one example that I noticed with GLES:
the glLineWidthx(...) works fine with the emulator but makes
only 1px thin lines on my Samsung Galaxy (flashed to 1.6).
Micha

Lance Nanek

unread,
Mar 10, 2010, 9:57:53 AM3/10/10
to android-ndk
I haven't figured out what exactly is wrong, but I've been seeing
flickering lighting and surfaces not overlapping properly on the
emulator. Here's an emulator screenshot of a 3D app a group I'm in is
working on:
http://i.imgur.com/sNI75.png

The same app works fine on the G1 and Droid:
http://imgur.com/Da4c4.png

These surfaces are pretty close, not at the distance where I would
expect z-fighting. Using GLSurfaceView's
setDebugFlags(DEBUG_CHECK_GL_ERROR) doesn't reveal any errors in the
code.

A recent Motorola podcast with an Android game developer also
mentioned problems with the emulator:
http://community.developer.motorola.com/t5/MOTODEV-Blog/Game-Development-on-Android-with-Bendroid-agamedev25/ba-p/4406

So I guess it is pretty common.

Reply all
Reply to author
Forward
0 new messages