New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3d particle system doesn't work with GWT (anymore?) #3871

Closed
natdan opened this Issue Feb 23, 2016 · 3 comments

Comments

Projects
None yet
4 participants
@natdan

natdan commented Feb 23, 2016

BilboardRenderControllerData is not handled by reflection for GWT and script fails to go through initialisation (create method for instance). It is relatively hard to get that information debugging it through FireFox or Chome so I didn't provide any extra JS stack traces, but following added to my project fixes the build and things (for at least BillboardParticleBatch) work then:

<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.renderers.BillboardControllerRenderData" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ParticleEffect" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ParticleController" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ResourceData" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ResourceData.SaveData" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ResourceData.AssetData" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ParallelArray" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.values" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.emitters" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.influencers" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.renderers" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.batches.BillboardParticleBatch" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.batches.BillboardParticleBatch$Config" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ParticleShader" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.graphics.g3d.particles.ParticleShader$AlignMode" />

Now, I am not sure (it doesn't seem to be 100% right) that all of those extra classes need to be known to the GWT class reflection LibGDX's framework.

Could someone, please, double check if current code in com.badlogic.gdx.graphics.g3d.particles is correct and if so add appropriate extend configuration properties to GwtReflect.gwt.xml? I would have prepared pull request, but as I said, it doesn't seem to be 100% right what is really needed for reflection. I hope it is not really necessary and list of classes needed can be appropriately reduced.

Tried on LibGDX 1.6.2 and 1.9.2.

@davebaol davebaol added the gwt label Feb 23, 2016

@Tom-Ski

This comment has been minimized.

Show comment
Hide comment
@Tom-Ski

Tom-Ski Feb 24, 2016

Member

These should already be included by LibGDX itself, please provide a full error report following our issue template so we can see/reproduce the issue.

Member

Tom-Ski commented Feb 24, 2016

These should already be included by LibGDX itself, please provide a full error report following our issue template so we can see/reproduce the issue.

@xoppa

This comment has been minimized.

Show comment
Hide comment
Member

xoppa commented May 5, 2016

@xoppa xoppa closed this May 5, 2016

@natdan

This comment has been minimized.

Show comment
Hide comment
@natdan

natdan Jun 16, 2016

Let me try again now I had time to create working/not-working example...

Issue details

When GWT compiled LibGDX project doesn't have above classes provided to GWT.

Reproduction steps/code

As I am not sure how to provide simple file which would be then compiled for GWT I have created two projects and zipped them up - one with working particle system that has above extend-configuration-property added to Demo3DProject.gwt.xml and not working with Demo3DProject.gwt.xml without having extra extend-configuration-property entries (as they should really go in GwtReflect.gwt.xml).

I've attached both here.

demo-3d-project-not-working.zip
demo-3d-project-working.zip

Version of LibGDX and/or relevant dependencies

1.9.3

Stacktrace

Stacktrace is from Firefox:

GwtApplication: exception: com.badlogic.gdx.utils.GdxRuntimeException: Could not submit AsyncTask: Error reading file: flame.pfx
com.badlogic.gdx.utils.GdxRuntimeException: Could not submit AsyncTask: Error reading file: flame.pfx
Could not submit AsyncTask: Error reading file: flame.pfx
Error reading file: flame.pfx
Couldn't find Type for class 'com.badlogic.gdx.graphics.g3d.particles.batches.BillboardParticleBatch$Config'

Please select the affected platforms

  • HTML/GWT

Is there anything else I need to provide? I don't mind uploading compiled WebGL versions somewhere you'll be able to see it working (with the bodge)/not working.

natdan commented Jun 16, 2016

Let me try again now I had time to create working/not-working example...

Issue details

When GWT compiled LibGDX project doesn't have above classes provided to GWT.

Reproduction steps/code

As I am not sure how to provide simple file which would be then compiled for GWT I have created two projects and zipped them up - one with working particle system that has above extend-configuration-property added to Demo3DProject.gwt.xml and not working with Demo3DProject.gwt.xml without having extra extend-configuration-property entries (as they should really go in GwtReflect.gwt.xml).

I've attached both here.

demo-3d-project-not-working.zip
demo-3d-project-working.zip

Version of LibGDX and/or relevant dependencies

1.9.3

Stacktrace

Stacktrace is from Firefox:

GwtApplication: exception: com.badlogic.gdx.utils.GdxRuntimeException: Could not submit AsyncTask: Error reading file: flame.pfx
com.badlogic.gdx.utils.GdxRuntimeException: Could not submit AsyncTask: Error reading file: flame.pfx
Could not submit AsyncTask: Error reading file: flame.pfx
Error reading file: flame.pfx
Couldn't find Type for class 'com.badlogic.gdx.graphics.g3d.particles.batches.BillboardParticleBatch$Config'

Please select the affected platforms

  • HTML/GWT

Is there anything else I need to provide? I don't mind uploading compiled WebGL versions somewhere you'll be able to see it working (with the bodge)/not working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment