jPCT-AE - a 3d engine for Android > Bugs

Huaweu x1 renders very glitchy

(1/1)

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.


--- Quote ---03-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)
--- End quote ---

Its Android 2.2.2.

I'll try get a screen shot...

EgonOlsen:
No need for a screen shot, the reason is right here:
--- Quote ---Android PixelFlinger 1.3
--- End quote ---

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


--- Code: ---gl10.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
--- End code ---

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:

--- Quote ---(in case you haven't already) try the one that i use in my examples

--- End quote ---
The code is based on your helloworld example.


--- Quote ---You might want to see if this call
--- End quote ---
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:
I solved my main issue.

Changed

--- Code: ---final Object3D ground = Primitives.getPlane(1, 48);

--- End code ---
to

--- Code: ---final Object3D ground = Primitives.getPlane(8, 6);
--- End code ---

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:


--- Code: ---gl10.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
--- End code ---

EgonOlsen:
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...).

Navigation

[0] Message Index

Go to full version