Вызов RayHandler#render() приводит к сбою Android
У меня проблема с методом RayHandler.render() и RayHandler.updateAndRender(). Он отлично работает на рабочем столе, но, к сожалению, всякий раз, когда он вызывается в Android, он просто падает. Logcat говорит следующее:
05-31 20:15:38.383 27336-27398/(Hidden package name) A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xffffff81b6f680 in tid 27398 (GLThread 13703)
Я очень расстроен и не знаю, почему это происходит. Мой код выглядит так:
public class GameWorld {
private final GameScene scene;
public final World gtxWorld;
public final RayHandler rayHandler;
private PointLight l;
private List<Entity> entities = new ArrayList<Entity>(16);
public GameWorld(GameScene scene){
this.scene = scene;
this.gtxWorld = new World(new Vector2(0, 0), false);
this.rayHandler = new RayHandler(this.gtxWorld);
// rayHandler.setAmbientLight(.9f);
// l = new PointLight(rayHandler, 50, Color.WHITE, 0.1F, 0F, 0);
// l.setXray(true); // Still crashes even without this
}
public void draw(Batch batch){
batch.begin();
for(Entity entity:this.entities)
entity.draw(batch);
batch.end();
this.rayHandler.updateAndRender();
// l.setPosition((float) (Gdx.input.getX()-GdxGame.GAME_WIDTH/2F)/GdxGame.GAME_WIDTH, (float) (Gdx.input.getY()-GdxGame.GAME_HEIGHT/2F)/GdxGame.GAME_HEIGHT);
}
public void dispose(){
this.gtxWorld.dispose();
this.rayHandler.dispose();
}
public void spawnEntity(Entity entity){
this.entities.add(entity);
}
public void destroyEntity(Entity entity){
this.entities.remove(entity);
}
}
^^ Эта часть рисуется в методе Stage#draw() после рисования Stage. Я использую Galaxy S7 и не могу проверить его где-либо еще.