Version updates!

Started by EgonOlsen, March 28, 2010, 09:47:50 PM

Previous topic - Next topic

EgonOlsen

Cool...here you go: http://www.jpct.net/download/tmp/An3DBenchXL.apk

If you've installed another version of An3DBenchXL, you might have to uninstall it first. This version offers two render paths...the "normal" 1.1 one and the 2.0 one. If all goes well (what i don't really expect), the 2.0 path should look like the 1.1 path.

K24A3

#286
Here are the An3DBenchXL 1.1 results at 1280x752 on a Tegra2 Tablet (Android 3.1).

OpenGL ES 2.0
DD 33.74
FP 25.60
NG 9.48
ENC 60.96
MI 24.97
Score 26796

OpenGL ES 1.1
DD 26.42
FP 28.31
NG 14.66
ENC 60.90
MI 29.69
Score 27702

All tests looked identical as far as I can tell, except for Magic Island which was missing the Sun and the lens flare in 2.0. The fog may have been thicker as well.

EgonOlsen

Many many thanks for testing. I've encountered that blitting problem with ES2.0 before, but i considered it to be fixed. Obviously, that's only true for PowerVR and Adreno powered devices. I've uploaded a modified version here: http://jpct.de/download/tmp/es20/An3DBenchXL.apk (you might have to uninstall the former one). It is fixed to ES2.0 and runs the terrain test only. If there's still no lens flare effect visible, i have to try something else. Thanks again for testing.

K24A3

Not a problem, glad to help :) I ran that update and it all looks good now, both the sun and flares render like they do in ES1.1.

The edges of the water tear quite a lot in both render paths, looks like a clipping or zbuffer issue. Not sure if that's normal or not. I can grab a screenshot if needed.

EgonOlsen

The zbuffer flaws in this test are pretty common. They are caused by the GPUs being pretty inaccurate, the view distance being pretty high and the zbuffer being 16bit only. I don't worry about them. It's great that the blitting works fine now. It was an accuracy problem in the shader then. Now that it runs on all three major GPU architectures, i think we are coming closer to beta state... ;D

K24A3

#290
Sounds good :)

I gave it a run on an OMAP 4430 (PowerVR SGX540, Android 3.1) with no problems, performance was similar to the Tegra2.
The cloth in ENC looked better on the OMAP, the Tegra displayed tearing/clipping when the cloth touches the ball (both GL11 and GL20). No tearing at all on the OMAP.

DD 36.05
FP: 23.08
NG 13.86
ENC 59.52
MI 31.51
28401 (ES 1.1 scored 30292)

That modified apk with just the terrain test looks fine on the OMAP as well.


EgonOlsen

I consider OpenGL ES2.0 support to be stable enough for a release now (consider this feature to be still in beta though)...so here are the changes:

Quote
Added support for OpenGL ES 2.0. Changed default value of Config.useVBO from false to true. Fixed the OBJ-loader to handle files that contain "polygons" that only contain two vertices. Added support for diffuse polygon colors to the DeSerializer.
Fixed behaviour of the TextureManager to match the documentation. Sharing data with objects that have been compiled to floating point data now works fine. Fixed two issues with sharing compiled data for animated objects. Added on option to Config (useRotationPivotFrom3DS) to read
the rotation pivot from a 3DS. Fixed some minor code flaws that FindBugs has found. Fixed a flaw with serialized objects that made already build objects being build again when loading them into jPCT-AE.  Added an option to FrameBuffer to override a render target's dimensions for the fov calculations.
Extended the IRenderHook-interface by a setCurrentObject3D()-method. Added a method to Object3D to query for the number of used lights at render time. Fixed a bug that caused the bounding box to be ignored on some cloned and deserialized objects. Fixed occlusion of lens flares in the LensFlare-class.

Get it from the download page: http://www.jpct.net/download.html

Have fun!

zammbi

I haven't tested it but is there a way to test if the device supports OpenGL ES2.0 before using it?

EgonOlsen

Not sure...maybe setting the 2.0 context fails with some exception, if not supported. You should be able to test this in the emulator. jPCT-AE itself can't detect it.

zammbi

Since it's a beta I'll leave it for now. But I'll try once its known to be stable for its anti-aliasing support.

EgonOlsen

It was in beta back in October 2011...but i consider it to be stable now. I'm building my RPG game with OpenGL ES 2.0 and i haven't found a problem related to it for now.

zammbi

Great in that case I'll give a try... hopefully one of our 10 devices around hasn't got opengl 2.0 so I can test the fall back. 

zammbi

I must be missing something. I've followed the wiki but this method is missing for me "mGLView.setEGLContextClientVersion(2);"

EgonOlsen

I depends on the Android SDK version you are using. ES 2.0 support has been added with 2.1..2.2....? Something like that...

zammbi

#299
Ah seems it was added in 2.2. I'm targeting 2.1 which is probably the reason.

Blah that is quite annoying then. I was hoping to use it. Maybe could try some reflection, check if the method exists and use it, not use if that would work...