J3o models ready for android

Well, original proposal seems to work, without this line

control.setHardwareSkinningPreferred(false);

not (probably because this

protected void controlRender(RenderManager rm, ViewPort vp)

is not called before

public void updateShaderData(Shader shader) 

), when i get a time to explain for myself how stuff workz I will post something sensible.

1 Like

Doing a deeper research I have found it doesn’t work with a simple scene: “uniform m_Shininess specified with different precision in different shaders” appears again, but there ara no animations at all. Only a terrain with no lights and 4 textures.
@kaloyan.katsarov Did you make it work in the emulator or on a real device?. Where did you load the android part?. In a separate project or in the same project with a fragment?
Anyway, to set the hardware skinning to false makes the colors to be wrong.

I m doing the heavy lifting with sdk and genymotion sometimes. I tested this with real device. Turning off hardware skinning causes lower frame rate on the other device which support it. I m using my character with mixamo animations. I m using the sdk to convert to j3o, copy assets manually with bash script in android project and load them through asset manager. I have no clue regarding GLSL and so on.

I said a few times already, when multiple GLSL versions are available to choose from, Android sometimes chooses a different vert and frag version. So the vert shader May select 110 and the frag shader selects 130 or whatever and so the precision’s don’t match.

To stop this you have to explicitly set a version in the j3md file instead of a range.

2 Likes

Thanks @jayfella. In a real device, it works now. I’ll try to check emulators today.

1 Like

@jayfella I was able to make it work, without j3md file, but drawing the model on android nougat causes some weird effects on the screen; related to how the model is drawn, I guess.
Thanks for your help.