Huaweu x1 renders very glitchy

Started by zammbi, February 29, 2012, 11:52:44 PM

Previous topic - Next topic

zammbi

I'm currently testing the Huaweu x1 however it's very glitchy. Tested with both the beta and the stable version.

I have a plane with a texture on it which is under my model, but the texture is warped and the plane goes on top of the model. Clipping of the model also messes up.

Quote03-01 12:03:22.322: I/jPCT-AE(2544): OpenGL vendor:     Android
03-01 12:03:22.342: I/jPCT-AE(2544): OpenGL renderer:   Android PixelFlinger 1.3
03-01 12:03:22.342: I/jPCT-AE(2544): OpenGL version:    OpenGL ES-CM 1.0
03-01 12:03:22.342: I/jPCT-AE(2544): OpenGL renderer initialized (using 2 texture stages)

Its Android 2.2.2.

I'll try get a screen shot...

EgonOlsen

#1
No need for a screen shot, the reason is right here:
QuoteAndroid PixelFlinger 1.3

That's the software renderer of Android. It's the same one that the emulator uses. It's slow, buggy...it just sucks. It's used on phones without dedicated 3d hardware or drivers. You might want to check your setup code and (in case you haven't already) try the one that i use in my examples. If it still uses Pixelflinger, the phone obviously has no hardware support for 3d. There nothing you can do about this. You might want to see if this call

gl10.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);

improves the image quality to a degree, but it will slow it down even more.

Edit: From what i found on the net, the Huaweu x1 has no hardware 3d support at all.

zammbi

#2
Quote(in case you haven't already) try the one that i use in my examples
The code is based on your helloworld example.

QuoteYou might want to see if this call
Thanks, that helps with the texture warping. Still fast enough also for our cases. But the overlapping isn't fixed. (photo attached). Is there any other code which could help with this?

We will be supporting low end phones with 2.1 or higher so I need to make sure it looks nice as possible on most of them.

If there is no way for supporting these phones is there a method in Jpct that I can easily use to figure out if its rendering using PixelFlinger?

[attachment deleted by admin]

zammbi

#3
I solved my main issue.

Changed
final Object3D ground = Primitives.getPlane(1, 48);

to
final Object3D ground = Primitives.getPlane(8, 6);

Now it doesn't overlap (much). There is still some smaller glitches but its good enough for me.

Edit:

I don't even need this code anymore:

gl10.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);

EgonOlsen

#4
That's because by increasing the tessellation of the plane, you compensate the errors in perspective correction that Pixelflinger introduces. Perspective correction for textures seems to be used in GL_NICEST mode only and perspective correction for the depth buffer seems to be unknown to Pixelflinger (albeit i don't get why...if you have the first, the latter actually comes for free...).