Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - AeroShark333

Pages: 1 ... 3 4 [5] 6 7 ... 11
61
Projects / Re: Naroth - 3D open world RPG
« on: October 26, 2016, 04:48:44 pm »
Uhm?  ???
(see previous post)

PS: Could you take a look at my new project thread too? :D

62
Projects / Earthify 3D
« on: October 20, 2016, 12:16:45 am »
Hello everyone,

I would like to share my live wallpaper app here which I made using some amazing 3D engine called jPCT-AE! :D



This app has been out for a while now actually but I never really published it here because it's actually still not finished...
I decided to publish it already so people can already use/enjoy the live wallpaper.
I'm really proud of my work although it's probably not nearly the best live wallpaper out there.
That's not my aim either but I guess I'm a little of a perfectionist so I will try to keep improving it.

I'm not really a programmer, it's just an hobby for me. (I have a busy life as an Applied Physics student so I don't spend that much time on programming)
This is not my first app using this library, my most popular app is Skin Viewer 3D (in my forum signature) which is more than a year old now already.
The GLSL Shader language was rather new to me when I began this project but I managed to learn it a little from examples mainly! :)
The custom shaders are based on the default shaders but they have mainly be written by myself (and with a lot of help from the internet/Google).
My biggest problem is probably to support a large range of devices since I'm not really able to test on a lot of devices myself.

What I like most about my own live wallpaper is that it is very customizable.
And it's quite funny to see how the live wallpaper changed over the passed few months.
I tried my best to optimize the wallpaper as much as possible to reduce battery usage...
(usually people say Live Wallpapers are battery consuming but in my opinion it just depends HOW you use your live wallpaper... if you're playing with it constantly on your homescreen then it sort of makes sense to me I guess)
Not all features of the app work properly yet but I'm still working on that.

Screenshots:
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-21-13-53.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-21-19-22.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-11-46.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-12-25.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-12-57.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-13-24.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-13-37.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-14-01.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-15-53.jpg
https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.9.0/scrns/Screenshot_2016-10-19-23-17-32.jpg

Google Play Store link:
https://play.google.com/store/apps/details?id=com.aeroshark333.earthify3d

Special thanks:
EgonOlsen - For making this amazing 3D library and for providing quick support on the forums! :)

Feel free to comment! :)

Cheers,
Abiram
(AeroShark333)

63
Projects / Re: Naroth - 3D open world RPG
« on: October 19, 2016, 10:44:14 am »
Hmmm, I would like to help out with Dutch translations if that is possible...
However, how many strings are we talking about here?
I know this game has a lot of dialogs... So yeah...

64
Support / Re: Strange Fatal Error
« on: October 15, 2016, 01:53:39 pm »
Yeah the crashreport is without the 'fix', so basically the same version I sent you in PM a few days ago.
I've been using my 'fixed' version (which doesn't seem to crash).

Hmm, I see... I'm guessing it's the texture uploading... (8192x4096 textures...  ::) )

EDIT:
Would it be possible to increase the uploading speed to GPU? Maybe with a bigger buffer size or something?

65
Support / Re: Applying VertexController causes the model to dark-out
« on: October 15, 2016, 01:24:13 pm »
Looks fine to me...

Would it help to add this after this.touch() in the pulse method?
Code: [Select]
this.calcNormals();
this.calcTangentVectors();

66
Support / Re: Strange Fatal Error
« on: October 14, 2016, 04:07:35 pm »
Got it, thanks a lot for the help :D
I've been using my live wallpaper for a few days now and it hasn't crashed so far :)

There is something I'm wondering though...
So I upload textures, build the world objects and compile the world objects in a separate Thread. While doing so, the FrameBuffer will keep blitting a loadingscreen (untill the Thread dies). Then World.renderScene and World.draw will be called... But the first time when that is called, the (last blitted loading) screen seems to hang for a few seconds... As if either World.renderScene or World.draw is doing heavy blocking operations on its first call... Is it possible to move the (heavy) operations that happen in the first World.renderScene/World.draw call in the separate loading Thread I talked about earlier?

EDIT:
Coincidentally just got a user report on the Google Play Store with the following crash report:

_________________________________________________

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Xiaomi/land/land:6.0.1/MMB29M/V7.5.9.0.MALMIDE:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 18979, tid: 18993, name: GLThread 9008  >>> com.aeroshark333.earthify3d <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x75245000
    x0   00000007fe9ac5f0  x1   0000000075244fd0  x2   0000000000008f38  x3   0000000000000000
    x4   0000000000000000  x5   0000005579243b94  x6   00000007fe9afa60  x7   0000000000000000
    x8   0000000000000000  x9   0000000000000000  x10  0000000000000000  x11  0000000000000000
    x12  0000000000000000  x13  0000000000000000  x14  0000000000000000  x15  0000000000000001
    x16  0000007f9a7915e8  x17  0000007fa82f3c08  x18  000000000000000c  x19  0000000000000000
    x20  000000000000c438  x21  00000055791fa45c  x22  00000055791fa3fc  x23  00000007fe9ac5f0
    x24  0000000000000000  x25  0000000000000000  x26  000000557921ac18  x27  000000557918f040
    x28  0000000000000000  x29  0000007fa3d454f0  x30  0000007f9a278044
    sp   0000007fa3d454f0  pc   0000007fa82f3d68  pstate 0000000020000000

backtrace:
    #00 pc 0000000000019d68  /system/lib64/libc.so (memcpy+352)
    #01 pc 000000000017d040  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN20EsxVertexArrayObject18UpdateInternalVbosEPK17EsxDrawDescriptorjPK16EsxAttributeDesc+1504)
    #02 pc 0000000000271518  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN20A5xVertexArrayObject11CalcVfdRegsEPK17EsxDrawDescriptorP10A5xVfdRegsi+152)
    #03 pc 0000000000279190  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN10A5xContext16ValidateVfdStateEPK17EsxDrawDescriptori+48)
    #04 pc 000000000028b700  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN10A5xContext13ValidateStateEPK17EsxDrawDescriptor+2528)
    #05 pc 000000000028bbd0  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN10A5xContext18HwValidateGfxStateEPK17EsxDrawDescriptor+16)
    #06 pc 0000000000114e5c  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN10EsxContext16ValidateGfxStateEPK17EsxDrawDescriptor+636)
    #07 pc 0000000000107618  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (_ZN10EsxContext21DrawElementsInstancedE11EsxPrimTypej10EsxPixTypePKvji+440)
    #08 pc 00000000000db3c4  /system/vendor/lib64/egl/libESXGLESv2_adreno.so (glDrawElements+68)
    #09 pc 00000000000067b4  /system/vendor/lib64/egl/libGLESv2_adreno.so (glDrawElements+28)
    #10 pc 0000000072ed0088  /data/dalvik-cache/arm64/system@framework@boot.oat (offset 0x2406000)

_______________________________--
Device: Redmi 3S
Android: 6.0

67
Support / Re: Strange Fatal Error
« on: October 12, 2016, 12:38:39 pm »
Ah, okay, I guess I'll make a 16x16 texture with all colors I need then :)

Thanks for answering my questions.

This:
Code: [Select]
Config.blittingMode = 0;

Logger.setLogLevel(Logger.LL_DEBUG);
Config.glDebugLevel=1;
Combined with:
Code: [Select]
final Enumeration<Object3D> objs = world.getObjects();
while (objs.hasMoreElements()) {
objs.nextElement().build(false);
}

//world.buildAllObjects();
world.compileAllObjects();
Gives this log:
http://pastebin.com/AKCeMcHg

EDIT:
And another thing, I've been interested in using a shader for the FrameBuffer... but it only works for blitting apparently...
Is there some way to make the shader work for everything that will be displayed on screen (in 2D)? (so including world renders)

68
Support / Re: Strange Fatal Error
« on: October 12, 2016, 02:00:12 am »
So I tried to get some crashes on different settings of Config.blittingMode with the LiveWallpaperRenderer.

Setting: Untouched.
Result: Crashes without being able to see the world.
Crashlog: http://pastebin.com/NsDhHhsK
Notice: On line #2766 just before the crash, capacity > limit? Is that supposed to happen?

Setting: Config.blittingMode=1
Result: Crashes without being able to see the world.
Crashlog: http://pastebin.com/7KaLwuPr

Setting: Config.blittingMode=2
Result: Crashes without being able to see the world.
Crashlog: http://pastebin.com/qV08hctZ

Setting: Config.blittingMode=3
Result: Crashes without being able to see the world.
Crashlog: http://pastebin.com/7u1vCkWr

Setting: Config.blittingMode=4
Result: Crashes without being able to see the world.
Crashlog: http://pastebin.com/VUc3BA57

Settings: Config.blittingMode=5
Result: Crashes most of the time without being able to see the world.
When it does load, everything seems fine.
But watching in the direction of the sun/lensflare seems a bit laggy for some reason.
Crashlog: http://pastebin.com/a14ceSVb

Settings: Config.blittingMode=6
Result: Crashes without being able to see the world.
Crashlog: http://pastebin.com/NTPd3Fr1

Settings: Config.blittingMode=7
Result: Crashes most of the time without being able to see the world.
When it does load, everything seems fine.
But watching in the direction of the sun/lensflare seems extremely laggy.
When the sun is hidden behind the Earth (so the lens flare is hidden), the lag is gone.
When not watching in the direction of the sun/lens flare, the lag is gone as well.
So basically, the extreme lag is only there when the lens flare is being blitted.
Crashlog: http://pastebin.com/QfZtQpdS

Settings: Config.blittingMode=8
Result: No crash, no lag.
Crashlog: None (couldn't get the live wallpaper to crash, I tried loads of different combinations)
Log: http://pastebin.com/zd1LxDTM (works normally here)

I would say my problem is solved when using Config.blittingMode=8 :D
I wonder what your opinion is on this, because you seem sceptical...
Thanks a lot so far!

Three another small things, it seems that a lot of textures are being loaded. (I guess most are 2x2 textures...)
It's probably because my loading screen blits letters onto the framebuffer using 'new Texture(2,2, new RGBColor(col,col,col))' (with col ranging from 0 to 254)
Wouldn't it be possible to just be able to bllt colors instead?
I suppose that would be more lightweight than having to load textures and unload them in the end.
Or is this nothing to worry about?

I also wonder if Object3D.shareCompiledData(obj); would be wise to use for me... since basically all objects use the same Mesh and have the same model.
Main differences between some of the objects are: transparency, inverted culling and texture.

And the last thing I wondered about is that jPCT supports and uses 32-bit colored textures by default. But isn't it true that most devices these days only have a screen that is capable of displaying 16-bit colors? So why aren't the textures loaded as 16-bit textures? Wouldn't it be better to save my texture files (compressed) as 16-bit or 24-bit textures to reduce the APK file size? Or should I keep it 32-bit for future devices? I'm a bit puzzled about all of this...

69
Support / Re: Strange Fatal Error
« on: October 11, 2016, 10:48:38 pm »
Uhhh... probably not the crashlog you're looking for... App crashed pretty much immediately this time
Code: [Select]
10-11 22:16:52.804: E/jPCT-AE(9459): [ 1476217012804 ] - ERROR: java.lang.NullPointerException: Attempt to get length of null array
10-11 22:16:52.804: E/jPCT-AE(9459): at com.threed.jpct.GLDebug.invoke(GLDebug.java:35)
10-11 22:16:52.804: E/jPCT-AE(9459): at java.lang.reflect.Proxy.invoke(Proxy.java:393)
10-11 22:16:52.804: E/jPCT-AE(9459): at com.threed.jpct.$Proxy1.glFinish(Unknown Source)
10-11 22:16:52.804: E/jPCT-AE(9459): at com.threed.jpct.GLRenderer.init(GLRenderer.java:428)
10-11 22:16:52.804: E/jPCT-AE(9459): at com.threed.jpct.GLRenderer.init(GLRenderer.java:389)
10-11 22:16:52.804: E/jPCT-AE(9459): at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:97)
10-11 22:16:52.804: E/jPCT-AE(9459): at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:122)
10-11 22:16:52.804: E/jPCT-AE(9459): at com.aeroshark333.earthify3d.lw.TestCaseRenderer.onSurfaceChanged(TestCaseRenderer.java:384)
10-11 22:16:52.804: E/jPCT-AE(9459): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519)
10-11 22:16:52.804: E/jPCT-AE(9459): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
10-11 22:16:52.819: E/AndroidRuntime(9459): FATAL EXCEPTION: GLThread 23593
10-11 22:16:52.819: E/AndroidRuntime(9459): Process: com.aeroshark333.earthify3d, PID: 9459
10-11 22:16:52.819: E/AndroidRuntime(9459): java.lang.RuntimeException: [ 1476217012804 ] - ERROR: java.lang.NullPointerException: Attempt to get length of null array
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.GLDebug.invoke(GLDebug.java:35)
10-11 22:16:52.819: E/AndroidRuntime(9459): at java.lang.reflect.Proxy.invoke(Proxy.java:393)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.$Proxy1.glFinish(Unknown Source)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.GLRenderer.init(GLRenderer.java:428)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.GLRenderer.init(GLRenderer.java:389)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:97)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:122)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.aeroshark333.earthify3d.lw.TestCaseRenderer.onSurfaceChanged(TestCaseRenderer.java:384)
10-11 22:16:52.819: E/AndroidRuntime(9459): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519)
10-11 22:16:52.819: E/AndroidRuntime(9459): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.Logger.log(Logger.java:206)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.Logger.log(Logger.java:150)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:99)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:122)
10-11 22:16:52.819: E/AndroidRuntime(9459): at com.aeroshark333.earthify3d.lw.TestCaseRenderer.onSurfaceChanged(TestCaseRenderer.java:384)
10-11 22:16:52.819: E/AndroidRuntime(9459): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519)
10-11 22:16:52.819: E/AndroidRuntime(9459): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

But I don't know why but for some reason Config.blittingMode = 8 seems to work for both the TestRenderer and the LiveWallpaperRenderer now though... o.O
I don't really understand why it didn't earlier... Or maybe I didn't push the app to the device properly...
Though Config.blittingMode = 6 did crash on the TestRenderer once... but crashes seem less likely when the value is higher

70
Support / Re: Strange Fatal Error
« on: October 11, 2016, 09:42:11 pm »
"Can you still confirm that it goes away when not blitting anything at all (that includes lens flares)?"
For the TestCaseRenderer I tried to launch the renderer 25 times with all blitting commented (the testcaserenderer didn't have a lens flare): 0 crashes.

For the LiveWallpaperRenderer (which I use in my app) I tried commenting out blitting and lensflare calls: still crashes.
The only thing that seems to make crashes muuuch less common in the LiveWallpaperRenderer is to disable clouds and moon (I don't know why particularly these Object3D's...) or using Low/Ultra/Extreme polygon model seems to make crashes less likely to happen.

I actually doubt blitting is the real cause because the problem persists on the LiveWallpaperRenderer with all blitting disabled...

I tried to use the Config.blittingMode for 1, 2, 5, 6 and 8 in the TestCaseRenderer. Nothing helped, they all crashed...

71
Support / Re: Strange Fatal Error
« on: October 11, 2016, 03:38:11 pm »
Hmmm... Did you try to set the "Model Geometry Quality" to "High"? (for me this settings seems to make the crash more likely to happen)

I looked into the crashreports of my other app (the Skin Viewer 3D app) and it got reports of fatal signals as well... However, never this code=2 one.

Do I have something running in the background?
GL debugging hook app: Nope. (I did enable to log GL traces in Developers Options for the logs, but it's off now)
Some magic memory cleaner: Nope. My stock OS will tell me when some background app/process is using a lot of battery... but it won't close the app, just notify only.
Virus scanner: Nope.

________

In meanwhile, I've been trying to scrap things from the testcaserenderer to see where the crash does appear and where it does not.
And I got something that might be interesting to you.

This is part of the code I used in the first test in onDrawFrame:
Code: [Select]
// 2D background
//if (settings.background_3D_enabled) {
// BG must have been loaded by now
// Blit background texture
final Texture bg = textureManager.getTexture("bg");
frameBuffer.blit(bg, 0, 0, 0, 0, bg.getWidth(),
bg.getHeight(), frameBuffer.getWidth(),
frameBuffer.getHeight(), -1, false);
//}

// World renderer
world.renderScene(frameBuffer);
world.draw(frameBuffer);

// Framebuffer updater
frameBuffer.display();
Runs: 10 times
Crashes: 9 times

Now test 2 with the following code:
Code: [Select]
// 2D background
//if (settings.background_3D_enabled) {
// BG must have been loaded by now
// Blit background texture
final Texture bg = textureManager.getTexture("bg");
//frameBuffer.blit(bg, 0,
bg.getHeight();
//, 0, 0,
bg.getWidth();
//,
bg.getHeight();//,
frameBuffer.getWidth();
//,
frameBuffer.getHeight();
//, -1, false);
//}

// World renderer
world.renderScene(frameBuffer);
world.draw(frameBuffer);

// Framebuffer updater
frameBuffer.display();
Runs: 10 times
Crashes: 0 times

Is there something wrong with blitting? Because this does make me think there is something wrong...

And while Google'ing around, I found this: http://stackoverflow.com/questions/10183861/android-why-im-getting-fatal-signal
Could this be any interesting to you?

________________

I guess blitting might not be the issue after all... but it seems to affect World.draw I think:
Code: [Select]
System.out.println("ERROR_1");

// 2D background
// if (settings.background_3D_enabled) {
// BG must have been loaded by now
// Blit background texture
final Texture bg = textureManager.getTexture("bg");
frameBuffer.blit(bg, 0, 0, 0, 0, bg.getWidth(), bg.getHeight(),
frameBuffer.getWidth(), frameBuffer.getHeight(), -1, false);
// }

System.out.println("ERROR_2");

// World renderer
world.renderScene(frameBuffer);

System.out.println("ERROR_3");

world.draw(frameBuffer);

System.out.println("ERROR_4");
// Framebuffer updater
frameBuffer.display();

System.out.println("ERROR_5");

Log:
Code: [Select]
10-11 16:42:55.681: I/System.out(16822): ERROR_1
10-11 16:42:55.683: W/jPCT-AE(16822): [ 1476196975683 ] - WARNING: Texture's size is 512/256, but textures should be square for OpenGL ES2.0! This may result in a black texture!
10-11 16:42:55.747: I/System.out(16822): ERROR_2
10-11 16:42:55.752: I/System.out(16822): ERROR_3
10-11 16:42:55.752: I/jPCT-AE(16822): Compiling shader program!
10-11 16:42:55.787: I/jPCT-AE(16822): Handles of 9: 4/1/5
10-11 16:42:55.788: I/jPCT-AE(16822): Creating buffers...
10-11 16:42:55.788: I/jPCT-AE(16822): VBO created for object 'object0'
10-11 16:42:55.853: W/google-breakpad(16822): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-11 16:42:55.853: W/google-breakpad(16822): Chrome build fingerprint:
10-11 16:42:55.854: W/google-breakpad(16822): 3.8
10-11 16:42:55.854: W/google-breakpad(16822): 16
10-11 16:42:55.854: W/google-breakpad(16822): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-11 16:42:55.856: A/libc(16822): Fatal signal 11 (SIGSEGV), code 2, fault addr 0x74981000 in tid 16921 (GLThread 21625)
As you can see, the app stops at World.draw and doesn't print 'ERROR_4'

72
Support / Re: Strange Fatal Error
« on: October 11, 2016, 12:43:47 am »
'Force' closing and then retrying it seems to help as well for me to reproduce this error after launching it again. (in the newer Android versions this is usually quite easier to do by opening recently used apps list and then swiping the app away)

I'm already calling World.compileAllObjects() before rendering the first frame... well partially, if you meant rendering the first frame of the world because I already do blit a loading screen before that. (I think it's the same in the testcase)
Basically how I do this:
-> Load objects and much info in the Renderer's constructor
-> Initialize framebuffer in onSurfaceChanged
-> Before leaving the onSurfaceChanged method, I start a new Thread to load textures
-> The app will already start onDrawFrame methods (it will just use the framebuffer to blit a loading screen here), but due to checking if the above mentioned Thread.isAlive() it won't start rendering the world and drawing the world.
-> When textures are loaded, the objects are first added to the world (in the Thread).
-> Then I call World.buildAllObjects() (in the Thread).
-> Then I call World.compileAllObjects() (still in the Thread), and the Thread dies after this.
-> So basically the onDrawFrame can now continue with the World rendering and drawing, but it just crashes instead (or crashes after a while).

I also tried to NOT make the thing Thread'ed. So it would just basically do the things that would now happen in the Thread in onSurfaceChanged, but it doesn't give a difference except that the onDrawFrame is now being blocked... And it will still crash.

_________________________
EDIT:
I tried Object3D.shareCompiledData(obj) in the hope it would fix something using (this will happen before World.buildAllObjects() is called in the Thread but this will happen in the Thread):
Code: [Select]
//final Enumeration<Object3D> objs = world.getObjects();
//while (objs.hasMoreElements()) {
// final Object3D beep = objs.nextElement();
// if (beep != earth) {
// beep.shareCompiledData(earth);
// }
//}
Buuut nope...
I just reverted that (commented it out) because the scaling seems messed up when I use that and it didn't fix anything anyway...
(scaling is probably my fault... but it didn't fix anything... so yeah, just reverted it)

Logs nonetheless:
Code: [Select]
10-11 01:20:36.491: I/jPCT-AE(28612): Loading Texture...
10-11 01:20:36.491: I/jPCT-AE(28612): Texture loaded...524288 bytes/512*256 pixels!
10-11 01:20:37.314: I/jPCT-AE(28612): Loading Texture...
10-11 01:20:37.315: I/jPCT-AE(28612): Texture loaded...524288 bytes/512*256 pixels!
10-11 01:20:37.397: I/jPCT-AE(28612): Loading Texture...
10-11 01:20:37.398: I/jPCT-AE(28612): Texture loaded...32768 bytes/128*64 pixels!
10-11 01:20:37.503: I/jPCT-AE(28612): Loading Texture...
10-11 01:20:37.504: I/jPCT-AE(28612): Texture loaded...32768 bytes/128*64 pixels!
10-11 01:20:37.556: I/jPCT-AE(28612): Tangent vectors calculated in 33ms!
10-11 01:20:37.574: I/jPCT-AE(28612): Compiling object object5/com.threed.jpct.Object3D@69b02d9!
10-11 01:20:37.575: I/jPCT-AE(28612): Compiling source object...
10-11 01:20:37.696: I/jPCT-AE(28612): Subobject of object 2/object0 compiled to indexed fixed point data using 23997/4186 vertices in 112ms!
10-11 01:20:37.711: I/jPCT-AE(28612): Subobject of object 2/object0 compiled to indexed fixed point data using 3075/662 vertices in 14ms!
10-11 01:20:37.712: I/jPCT-AE(28612): Object 2/object0 compiled to 2 subobjects in 137ms!
10-11 01:20:37.712: I/jPCT-AE(28612): Object 3/object5 precompiled!
10-11 01:20:37.712: I/jPCT-AE(28612): Compiling object object9/com.threed.jpct.Object3D@a58a09b!
10-11 01:20:37.712: I/jPCT-AE(28612): Object 7/object9 precompiled!
10-11 01:20:37.712: I/jPCT-AE(28612): Compiling object object0/com.threed.jpct.Object3D@b8dcc38!
10-11 01:20:37.712: I/jPCT-AE(28612): Compiling object object8/com.threed.jpct.Object3D@ae93411!
10-11 01:20:37.712: I/jPCT-AE(28612): Object 6/object8 precompiled!
10-11 01:20:37.712: I/jPCT-AE(28612): Compiling object object6/com.threed.jpct.Object3D@94e8976!
10-11 01:20:37.712: I/jPCT-AE(28612): Object 4/object6 precompiled!
10-11 01:20:37.712: I/jPCT-AE(28612): Compiling object object7/com.threed.jpct.Object3D@b96ab77!
10-11 01:20:37.712: I/jPCT-AE(28612): Object 5/object7 precompiled!
10-11 01:20:37.739: W/jPCT-AE(28612): [ 1476141637739 ] - WARNING: Texture's size is 1024/512, but textures should be square for OpenGL ES2.0! This may result in a black texture!
10-11 01:20:37.882: I/jPCT-AE(28612): Compiling shader program!
10-11 01:20:37.883: I/jPCT-AE(28612): Handles of 9: 1/0/-1
10-11 01:20:37.884: I/jPCT-AE(28612): Creating buffers...
10-11 01:20:37.886: I/jPCT-AE(28612): VBO created for object 'object0'
10-11 01:20:37.887: I/jPCT-AE(28612): Object 'object5' shares VBOs (2/1) with object 'object0'
10-11 01:20:37.887: I/jPCT-AE(28612): Creating buffers...
10-11 01:20:37.887: I/jPCT-AE(28612): VBO created for object 'object0'
10-11 01:20:37.887: I/jPCT-AE(28612): Object 'object5' shares VBOs (7/6) with object 'object0'
10-11 01:20:37.888: I/jPCT-AE(28612): Object 'object5' shares compiled data with object 'object0'
10-11 01:20:37.888: W/jPCT-AE(28612): [ 1476141637888 ] - WARNING: Texture's size is 512/256, but textures should be square for OpenGL ES2.0! This may result in a black texture!
10-11 01:20:37.917: I/jPCT-AE(28612): Compiling shader program!
10-11 01:20:37.919: I/jPCT-AE(28612): Handles of 12: 5/1/4
10-11 01:20:37.921: W/jPCT-AE(28612): [ 1476141637921 ] - WARNING: Texture's size is 512/256, but textures should be square for OpenGL ES2.0! This may result in a black texture!
10-11 01:20:37.950: I/jPCT-AE(28612): Compiling shader program!
10-11 01:20:37.952: I/jPCT-AE(28612): Handles of 15: 4/1/5
10-11 01:20:37.953: I/jPCT-AE(28612): Object 'object8' shares VBOs (2/1) with object 'object0'
10-11 01:20:37.953: I/jPCT-AE(28612): Object 'object8' shares VBOs (7/6) with object 'object0'
10-11 01:20:37.953: I/jPCT-AE(28612): Object 'object8' shares compiled data with object 'object0'
10-11 01:20:38.030: W/google-breakpad(28612): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-11 01:20:38.030: W/google-breakpad(28612): Chrome build fingerprint:
10-11 01:20:38.030: W/google-breakpad(28612): 3.8
10-11 01:20:38.030: W/google-breakpad(28612): 16
10-11 01:20:38.030: W/google-breakpad(28612): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-11 01:20:38.030: A/libc(28612): Fatal signal 11 (SIGSEGV), code 2, fault addr 0x7498a000 in tid 28721 (GLThread 17228)
10-11 01:20:39.797: W/System(28734): ClassLoader referenced unknown path: /data/app/com.aeroshark333.earthify3d-2/lib/arm64
10-11 01:20:39.831: D/SensorManager(28734): com.aeroshark333.earthify3d --- call SystemSensorManager
10-11 01:20:39.832: W/SensorManager(28734): xym---android_hardware_SensorManager.cpp  nativeClassInit

73
Support / Re: Strange Fatal Error
« on: October 11, 2016, 12:17:11 am »
Hmm, well I remember having the exact same issue on my previous phone (which coincidentally also has an Andreno GPU)
It was less likely for me to be able to reproduce the problem with this testcase, 9 out of 10 times it would work normally...
While in my normal application it's the other way around, it won't work 9 out of 10 times with specific settings.
For some reason using a higher poly model than the one I sent in my last post makes crashing seem less likely.
But also using a very low poly model seems to make crashing less likely on my device.

Errr, sorry for messing up the shaders, I sent the wrong one... But shouldn't really matter anyway I guess.

But yeah, this is the only application I'm experiencing such weird issues with...
Your Naroth game works fine :) I remember it also worked just fine on my HTC Desire 826 in the past.

I could send you an APK of my full app in PM in the hope you will be able to reproduce the bug...
And perhaps send you the majority of the project in PM as well if you are able to reproduce it.

74
Support / Re: Strange Fatal Error
« on: October 10, 2016, 10:06:40 pm »
Euh, SensorManager is an Android thingy to control certain sensors in devices; such as gyroscope/accelerometer/compass etc...
I tried to make a testcase without any luck... so instead I decided to use the original code and scrap as much as possible from it while still being able to recreate the error.

So is the snippet for the activity class, should work in onCreate():
Code: [Select]
final GLSurfaceView viewer = new GLSurfaceView(this);
viewer.setEGLContextClientVersion(2);
this.setContentView(viewer);
viewer.setRenderer(new TestCaseRenderer(this,true));

And here is the link to the testcase files: https://dl.dropboxusercontent.com/u/47988037/Android/Earthify%203D/v3.8.0/beta2/testcase.zip
The ZIP file includes:
- 1 Java file (I kind of merged some classes within the class itself (in the original these classes would be there in a seperate Java file) but this shouldn't be a problem in my eyes...)
- 6 shaders (3 x fragment and 3 x vertex)
- 1 texture (apparently I can still recreate the crash with only one texture applied to the objects)
- 1 serialized model file (created using jPCT desktop version)
Note: There are probably two lines you might need to change when testing this Java file yourself, which is the package/first line and an import line.

And my crashlog using this testcase (would be pretty useless if the testcase didn't crash  ::) ):
Code: [Select]
10-10 22:08:33.029: I/jPCT-AE(12481): Adding Lightsource: 0
10-10 22:08:33.138: I/jPCT-AE(12481): No octree found in serialized data!
10-10 22:08:33.198: I/jPCT-AE(12481): GL context is 148408143
10-10 22:08:33.201: I/jPCT-AE(12481): Initializing GL20 render pipeline...
10-10 22:08:33.202: I/jPCT-AE(12481): Accessing shaders via JAR!
10-10 22:08:33.202: I/jPCT-AE(12481): Loading default shaders !
10-10 22:08:33.202: I/jPCT-AE(12481): 0 shaders in replacement map!
10-10 22:08:33.202: I/jPCT-AE(12481): Default fragment shader is: /defaultFragmentShader.src
10-10 22:08:33.202: I/jPCT-AE(12481): Loading /defaultFragmentShader.src
10-10 22:08:33.237: I/jPCT-AE(12481): Loading file from InputStream
10-10 22:08:33.238: I/jPCT-AE(12481): Text file from InputStream loaded...2416 bytes
10-10 22:08:33.238: I/jPCT-AE(12481): Default vertex shader is: /defaultVertexShader.src
10-10 22:08:33.238: I/jPCT-AE(12481): Loading /defaultVertexShader.src
10-10 22:08:33.240: I/jPCT-AE(12481): Loading file from InputStream
10-10 22:08:33.240: I/jPCT-AE(12481): Text file from InputStream loaded...5290 bytes
10-10 22:08:33.240: I/jPCT-AE(12481): Shader forced to use high precision!
10-10 22:08:33.240: I/jPCT-AE(12481): Compiling shader program!
10-10 22:08:33.244: I/jPCT-AE(12481): Handles of 3: 4/1/5
10-10 22:08:33.245: I/jPCT-AE(12481): Loading default shaders (Tex0Amb)!
10-10 22:08:33.245: I/jPCT-AE(12481): 0 shaders in replacement map!
10-10 22:08:33.245: I/jPCT-AE(12481): Default fragment shader is: /defaultFragmentShader.src
10-10 22:08:33.245: I/jPCT-AE(12481): Loading /defaultFragmentShaderTex0Amb.src
10-10 22:08:33.247: I/jPCT-AE(12481): Loading file from InputStream
10-10 22:08:33.247: I/jPCT-AE(12481): Text file from InputStream loaded...199 bytes
10-10 22:08:33.247: I/jPCT-AE(12481): Default vertex shader is: /defaultVertexShader.src
10-10 22:08:33.248: I/jPCT-AE(12481): Loading /defaultVertexShaderTex0Amb.src
10-10 22:08:33.249: I/jPCT-AE(12481): Loading file from InputStream
10-10 22:08:33.249: I/jPCT-AE(12481): Text file from InputStream loaded...757 bytes
10-10 22:08:33.249: I/jPCT-AE(12481): Compiling shader program!
10-10 22:08:33.251: I/jPCT-AE(12481): Handles of 6: 1/0/-1
10-10 22:08:33.252: I/jPCT-AE(12481): GL20 render pipeline initialized!
10-10 22:08:33.253: W/jPCT-AE(12481): [ 1476130113253 ] - WARNING: OpenGL vendor:     Qualcomm
10-10 22:08:33.253: W/jPCT-AE(12481): [ 1476130113253 ] - WARNING: OpenGL renderer:   Adreno (TM) 530
10-10 22:08:33.253: W/jPCT-AE(12481): [ 1476130113253 ] - WARNING: OpenGL version:    OpenGL ES 3.1 V@145.0 (GIT@If004e8f803)
10-10 22:08:33.253: W/jPCT-AE(12481): [ 1476130113253 ] - WARNING: OpenGL renderer initialized (using 4/16 texture stages)
10-10 22:08:33.266: I/jPCT-AE(12481): Memory usage before compacting: 9502 KB used out of 9712 KB. Max. memory available to the VM is 524288 KB.
10-10 22:08:33.268: I/art(12481): Starting a blocking GC Explicit
10-10 22:08:33.284: I/art(12481): Explicit concurrent mark sweep GC freed 12553(961KB) AllocSpace objects, 11(384KB) LOS objects, 39% free, 7MB/13MB, paused 177us total 16.408ms
10-10 22:08:33.285: I/art(12481): Starting a blocking GC Explicit
10-10 22:08:33.298: I/art(12481): Explicit concurrent mark sweep GC freed 164(12KB) AllocSpace objects, 1(144KB) LOS objects, 40% free, 7MB/12MB, paused 163us total 12.086ms
10-10 22:08:33.449: I/jPCT-AE(12481): Memory usage after compacting: 7986 KB used out of 13305 KB. Max. memory available to the VM is 524288 KB.
10-10 22:08:33.449: I/art(12481): Starting a blocking GC Explicit
10-10 22:08:33.500: I/art(12481): Explicit concurrent mark sweep GC freed 19(1984B) AllocSpace objects, 0(0B) LOS objects, 40% free, 7MB/12MB, paused 486us total 49.974ms
10-10 22:08:33.655: I/jPCT-AE(12481): Loading Texture...
10-10 22:08:33.657: I/jPCT-AE(12481): Texture loaded...524288 bytes/512*256 pixels!
10-10 22:08:33.674: I/jPCT-AE(12481): Tangent vectors calculated in 14ms!
10-10 22:08:33.679: I/jPCT-AE(12481): Compiling object object0/com.threed.jpct.Object3D@d0cd6ba!
10-10 22:08:33.741: I/jPCT-AE(12481): Subobject of object 2/object0 compiled to indexed fixed point data using 11904/2143 vertices in 57ms!
10-10 22:08:33.742: I/jPCT-AE(12481): Object 2/object0 compiled to 1 subobjects in 63ms!
10-10 22:08:33.742: I/jPCT-AE(12481): Compiling object object6/com.threed.jpct.Object3D@5c0496b!
10-10 22:08:33.803: I/jPCT-AE(12481): Subobject of object 4/object6 compiled to indexed fixed point data using 11904/2143 vertices in 57ms!
10-10 22:08:33.803: I/jPCT-AE(12481): Object 4/object6 compiled to 1 subobjects in 61ms!
10-10 22:08:33.803: I/jPCT-AE(12481): Compiling object object5/com.threed.jpct.Object3D@d000cc8!
10-10 22:08:33.865: I/jPCT-AE(12481): Subobject of object 3/object5 compiled to indexed fixed point data using 11904/2143 vertices in 58ms!
10-10 22:08:33.865: I/jPCT-AE(12481): Object 3/object5 compiled to 1 subobjects in 62ms!
10-10 22:08:33.886: W/jPCT-AE(12481): [ 1476130113886 ] - WARNING: Texture's size is 512/256, but textures should be square for OpenGL ES2.0! This may result in a black texture!
10-10 22:08:33.944: I/jPCT-AE(12481): Compiling shader program!
10-10 22:08:33.986: I/jPCT-AE(12481): Handles of 9: 4/1/5
10-10 22:08:33.988: I/jPCT-AE(12481): Creating buffers...
10-10 22:08:33.992: I/jPCT-AE(12481): VBO created for object 'object5'
10-10 22:08:34.085: W/google-breakpad(12481): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-10 22:08:34.085: W/google-breakpad(12481): Chrome build fingerprint:
10-10 22:08:34.085: W/google-breakpad(12481): 3.8
10-10 22:08:34.085: W/google-breakpad(12481): 16
10-10 22:08:34.085: W/google-breakpad(12481): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-10 22:08:34.085: A/libc(12481): Fatal signal 11 (SIGSEGV), code 2, fault addr 0x74980000 in tid 12744 (GLThread 16201)

The device I tested on:
ZTE Axon 7
4GB RAM
Snapdragon 820 @ 2.15 GHz
GPU: Andreno 530

So I also tried Google'ing around but no luck...
I don't know if this discussion could be interesting to you:
https://groups.google.com/forum/#!topic/android-developers/h4J5M9xzRsY

75
Support / Re: Strange Fatal Error
« on: October 10, 2016, 04:07:22 pm »
Well it only seems to crash whenever I add one of the two Object3D's to the world (and if they are visible)... Like I tried to describe in my previous post...
I don't really understand what makes these Object3D's so special from the other Object3D's... :/
Settings Config.useVBO = false didn't fix the issue...

Here is a bigger log with OpenGL calls:
Code: [Select]
10-10 15:49:03.867: I/jPCT-AE(18436): Creating buffers...
10-10 15:49:03.867: D/libEGL(18436): glGetError();
10-10 15:49:03.867: D/libEGL(18436): glGenBuffers(1, (GLuint *) 0xaa9acc30);
10-10 15:49:03.867: D/libEGL(18436): glGetError();
10-10 15:49:03.867: D/libEGL(18436): glGenBuffers(1, (GLuint *) 0xaa9acc30);
10-10 15:49:03.867: D/libEGL(18436): glGetError();
10-10 15:49:03.867: D/libEGL(18436): glGenBuffers(1, (GLuint *) 0xaa9acc30);
10-10 15:49:03.867: D/libEGL(18436): glGetError();
10-10 15:49:03.867: D/libEGL(18436): glGenBuffers(1, (GLuint *) 0xaa9acc30);
10-10 15:49:03.867: D/libEGL(18436): glGetError();
10-10 15:49:03.867: D/libEGL(18436): glGenBuffers(1, (GLuint *) 0xaa9acc30);
10-10 15:49:03.867: D/libEGL(18436): glBindBuffer(0x8892, 1);
10-10 15:49:03.867: D/libEGL(18436): glBufferData(0x8892, 25716, (const void *) 0x78d58010, 0x88e4);
10-10 15:49:03.868: D/libEGL(18436): glBindBuffer(0x8892, 2);
10-10 15:49:03.871: D/libEGL(18436): glBufferData(0x8892, 25716, (const void *) 0x78d66010, 0x88e4);
10-10 15:49:03.872: D/libEGL(18436): glBindBuffer(0x8892, 3);
10-10 15:49:03.875: D/libEGL(18436): glBufferData(0x8892, 34288, (const void *) 0x78d74010, 0x88e4);
10-10 15:49:03.876: D/libEGL(18436): glBindBuffer(0x8892, 4);
10-10 15:49:03.879: D/libEGL(18436): glBufferData(0x8892, 17144, (const void *) 0x78d86010, 0x88e4);
10-10 15:49:03.880: D/libEGL(18436): glBindBuffer(0x8892, 0);
10-10 15:49:03.883: D/libEGL(18436): glBindBuffer(0x8893, 5);
10-10 15:49:03.884: D/libEGL(18436): glBufferData(0x8893, 23808, (const void *) 0x7935b010, 0x88e4);
10-10 15:49:03.884: D/libEGL(18436): glBindBuffer(0x8893, 0);
10-10 15:49:03.887: I/jPCT-AE(18436): VBO created for object 'object17'
10-10 15:49:03.888: D/libEGL(18436): glEnableVertexAttribArray(5);
10-10 15:49:03.888: D/libEGL(18436): glBindBuffer(0x8892, 1);
10-10 15:49:03.888: D/libEGL(18436): glVertexAttribPointer(5, 3, GL_FIXED, GL_FALSE, 12, (const void *) 0x00000000);
10-10 15:49:03.888: D/libEGL(18436): glEnableVertexAttribArray(4);
10-10 15:49:03.888: D/libEGL(18436): glBindBuffer(0x8892, 2);
10-10 15:49:03.888: D/libEGL(18436): glVertexAttribPointer(4, 3, GL_FIXED, GL_FALSE, 12, (const void *) 0x00000000);
10-10 15:49:03.888: D/libEGL(18436): glDisableVertexAttribArray(6);
10-10 15:49:03.888: D/libEGL(18436): glUniform1i(7, 0);
10-10 15:49:03.888: D/libEGL(18436): glActiveTexture(GL_TEXTURE0);
10-10 15:49:03.888: D/libEGL(18436): glEnableVertexAttribArray(0);
10-10 15:49:03.888: D/libEGL(18436): glBindBuffer(0x8892, 4);
10-10 15:49:03.888: D/libEGL(18436): glVertexAttribPointer(0, 2, GL_FIXED, GL_FALSE, 8, (const void *) 0x00000000);
10-10 15:49:03.888: D/libEGL(18436): glBindBuffer(0x8892, 0);
10-10 15:49:03.888: D/libEGL(18436): glBindBuffer(0x8893, 5);
10-10 15:49:03.888: D/libEGL(18436): glDrawElements(GL_TRIANGLES, 11904, GL_UNSIGNED_SHORT, (const void *) 0x00000000);
10-10 15:49:03.958: W/google-breakpad(18436): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-10 15:49:03.958: W/google-breakpad(18436): Chrome build fingerprint:
10-10 15:49:03.958: W/google-breakpad(18436): 3.8
10-10 15:49:03.958: W/google-breakpad(18436): 16
10-10 15:49:03.958: W/google-breakpad(18436): ### ### ### ### ### ### ### ### ### ### ### ### ###
10-10 15:49:03.958: A/libc(18436): Fatal signal 11 (SIGSEGV), code 2, fault addr 0x74987000 in tid 18820 (GLThread 13921)
10-10 15:49:05.734: W/System(18835): ClassLoader referenced unknown path: /data/app/com.aeroshark333.earthify3d-2/lib/arm64
10-10 15:49:05.763: D/SensorManager(18835): com.aeroshark333.earthify3d --- call SystemSensorManager
10-10 15:49:05.764: W/SensorManager(18835): xym---android_hardware_SensorManager.cpp  nativeClassInit

EDIT: I tried to load the renderer class in a regular (non-live wallpaper) activity, but the same error occurs there as well...
So I doubt it actually is the live wall-paper now...

Pages: 1 ... 3 4 [5] 6 7 ... 11