public ParticleEffect openEffect (File file, boolean replaceCurrentWorkspace) { try { ParticleEffect loadedEffect = load(file.getAbsolutePath(), ParticleEffect.class, null, new ParticleEffectLoader.ParticleEffectLoadParameter(particleSystem.getBatches())); loadedEffect = loadedEffect.copy(); loadedEffect.init(); if(replaceCurrentWorkspace){ effect = loadedEffect; controllersData.clear(); particleSystem.removeAll(); particleSystem.add(effect); for(ParticleController controller : effect.getControllers()) controllersData.add(new ControllerData(controller)); rebuildActiveControllers(); } reloadRows(); return loadedEffect; } catch (Exception ex) { System.out.println("Error loading effect: " + file.getAbsolutePath()); ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Error opening effect."); } return null; }
private void renderWorld () { float[] colors = backgroundColor.getColors(); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); Gdx.gl.glClearColor(colors[0], colors[1], colors[2], 0); modelBatch.begin(worldCamera); if(isDrawXYZ) modelBatch.render(xyzInstance); if(isDrawXZPlane) modelBatch.render(xzPlaneInstance); if(isDrawXYPlane) modelBatch.render(xyPlaneInstance); particleSystem.begin(); particleSystem.draw(); particleSystem.end(); //Draw modelBatch.render(particleSystem, environment); modelBatch.end(); ui.draw(); }
/** @deprecated Please directly use the constructor */ public static ParticleSystem get () { if (instance == null) instance = new ParticleSystem(); return instance; }
public FlameMain () { super("Flame"); MathUtils.random = new RandomXS128(); particleSystem = ParticleSystem.get(); effect = new ParticleEffect(); particleSystem.add(effect); assetManager = new AssetManager(); assetManager.setErrorListener(this); assetManager.setLoader(ParticleEffect.class, new ParticleEffectLoader(new InternalFileHandleResolver())); controllersData = new Array<ControllerData>(); lwjglCanvas = new LwjglCanvas(renderer = new AppRenderer()); addWindowListener(new WindowAdapter() { public void windowClosed (WindowEvent event) { //System.exit(0); Gdx.app.exit(); } }); initializeComponents(); setSize(1280, 950); setLocationRelativeTo(null); setDefaultCloseOperation(DISPOSE_ON_CLOSE); setVisible(true); }
textureParameter.magFilter = Texture.TextureFilter.Linear; ParticleSystem particleSystem = ParticleSystem.get(); BillboardParticleBatch pointSpriteBatch = new BillboardParticleBatch(); pointSpriteBatch.setCamera(camera); particleSystem.add(pointSpriteBatch); ParticleEffectLoader.ParticleEffectLoadParameter peLoadParam = new ParticleEffectLoader.ParticleEffectLoadParameter(particleSystem.getBatches());
modelInstanceParticleBatch = new ModelInstanceParticleBatch(); particleSystem.add(billboardBatch); particleSystem.add(pointSpriteBatch); particleSystem.add(modelInstanceParticleBatch); ParticleEffectLoader.ParticleEffectLoadParameter params = new ParticleEffectLoader.ParticleEffectLoadParameter(particleSystem.getBatches()); assetManager.load(DEFAULT_BILLBOARD_PARTICLE, Texture.class); assetManager.load(DEFAULT_MODEL_PARTICLE, Model.class);
public void dispose() { ParticleSystem particleSystem = ParticleSystem.get(); for (ParticleEffect pfx : particleEffects) { particleSystem.remove(pfx); pfx.dispose(); } particleEffects.clear(); navMesh.dispose(); for (Array<GameObject> objs : gameObjects.values()) { for (GameObject obj : objs) { obj.dispose(); } } gameObjects.clear(); assets.dispose(); }
public void saveEffect (File file) { Writer fileWriter = null; try { ParticleEffectLoader loader = (ParticleEffectLoader)assetManager.getLoader(ParticleEffect.class); loader.save(effect, new ParticleEffectSaveParameter(new FileHandle(file.getAbsolutePath()), assetManager, particleSystem.getBatches())); } catch (Exception ex) { System.out.println("Error saving effect: " + file.getAbsolutePath()); ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Error saving effect."); } finally { StreamUtils.closeQuietly(fileWriter); } }
private void update (float delta) { worldCamera.fieldOfView = fovValue.getValue(); worldCamera.update(); cameraInputController.update(); if(isUpdate){ particleSystem.update(delta); //Update ui stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Point Sprites : ").append(pointSpriteBatch.getBufferedCount()); pointCountLabel.setText(stringBuilder); stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Billboards : ").append(billboardBatch.getBufferedCount()); billboardCountLabel.setText(stringBuilder); stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Model Instances : ").append(modelInstanceParticleBatch.getBufferedCount()); modelInstanceCountLabel.setText(stringBuilder); } stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("FPS : ").append(Gdx.graphics.getFramesPerSecond()); fpsLabel.setText(stringBuilder); ui.act(Gdx.graphics.getDeltaTime()); }
public FlameMain () { super("Flame"); MathUtils.random = new RandomXS128(); particleSystem = ParticleSystem.get(); effect = new ParticleEffect(); particleSystem.add(effect); assetManager = new AssetManager(); assetManager.setErrorListener(this); assetManager.setLoader(ParticleEffect.class, new ParticleEffectLoader(new InternalFileHandleResolver())); controllersData = new Array<ControllerData>(); lwjglCanvas = new LwjglCanvas(renderer = new AppRenderer()); addWindowListener(new WindowAdapter() { public void windowClosed (WindowEvent event) { //System.exit(0); Gdx.app.exit(); } }); initializeComponents(); setSize(1280, 950); setLocationRelativeTo(null); setDefaultCloseOperation(DISPOSE_ON_CLOSE); setVisible(true); }
modelInstanceParticleBatch = new ModelInstanceParticleBatch(); particleSystem.add(billboardBatch); particleSystem.add(pointSpriteBatch); particleSystem.add(modelInstanceParticleBatch); ParticleEffectLoader.ParticleEffectLoadParameter params = new ParticleEffectLoader.ParticleEffectLoadParameter(particleSystem.getBatches()); assetManager.load(DEFAULT_BILLBOARD_PARTICLE, Texture.class); assetManager.load(DEFAULT_MODEL_PARTICLE, Model.class);
public void saveEffect (File file) { Writer fileWriter = null; try { ParticleEffectLoader loader = (ParticleEffectLoader)assetManager.getLoader(ParticleEffect.class); loader.save(effect, new ParticleEffectSaveParameter(new FileHandle(file.getAbsolutePath()), assetManager, particleSystem.getBatches())); } catch (Exception ex) { System.out.println("Error saving effect: " + file.getAbsolutePath()); ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Error saving effect."); } finally { StreamUtils.closeQuietly(fileWriter); } }
private void update (float delta) { worldCamera.fieldOfView = fovValue.getValue(); worldCamera.update(); cameraInputController.update(); if(isUpdate){ particleSystem.update(delta); //Update ui stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Point Sprites : ").append(pointSpriteBatch.getBufferedCount()); pointCountLabel.setText(stringBuilder); stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Billboards : ").append(billboardBatch.getBufferedCount()); billboardCountLabel.setText(stringBuilder); stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Model Instances : ").append(modelInstanceParticleBatch.getBufferedCount()); modelInstanceCountLabel.setText(stringBuilder); } stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("FPS : ").append(Gdx.graphics.getFramesPerSecond()); fpsLabel.setText(stringBuilder); ui.act(Gdx.graphics.getDeltaTime()); }
private void renderWorld () { float[] colors = backgroundColor.getColors(); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); Gdx.gl.glClearColor(colors[0], colors[1], colors[2], 0); modelBatch.begin(worldCamera); if(isDrawXYZ) modelBatch.render(xyzInstance); if(isDrawXZPlane) modelBatch.render(xzPlaneInstance); if(isDrawXYPlane) modelBatch.render(xyPlaneInstance); particleSystem.begin(); particleSystem.draw(); particleSystem.end(); //Draw modelBatch.render(particleSystem, environment); modelBatch.end(); ui.draw(); }
public ParticleEffect openEffect (File file, boolean replaceCurrentWorkspace) { try { ParticleEffect loadedEffect = load(file.getAbsolutePath(), ParticleEffect.class, null, new ParticleEffectLoader.ParticleEffectLoadParameter(particleSystem.getBatches())); loadedEffect = loadedEffect.copy(); loadedEffect.init(); if(replaceCurrentWorkspace){ effect = loadedEffect; controllersData.clear(); particleSystem.removeAll(); particleSystem.add(effect); for(ParticleController controller : effect.getControllers()) controllersData.add(new ControllerData(controller)); rebuildActiveControllers(); } reloadRows(); return loadedEffect; } catch (Exception ex) { System.out.println("Error loading effect: " + file.getAbsolutePath()); ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Error opening effect."); } return null; }
public FlameMain () { super("Flame"); MathUtils.random = new RandomXS128(); particleSystem = ParticleSystem.get(); effect = new ParticleEffect(); particleSystem.add(effect); assetManager = new AssetManager(); assetManager.setErrorListener(this); assetManager.setLoader(ParticleEffect.class, new ParticleEffectLoader(new InternalFileHandleResolver())); controllersData = new Array<ControllerData>(); lwjglCanvas = new LwjglCanvas(renderer = new AppRenderer()); addWindowListener(new WindowAdapter() { public void windowClosed (WindowEvent event) { //System.exit(0); Gdx.app.exit(); } }); initializeComponents(); setSize(1280, 950); setLocationRelativeTo(null); setDefaultCloseOperation(DISPOSE_ON_CLOSE); setVisible(true); }
modelInstanceParticleBatch = new ModelInstanceParticleBatch(); particleSystem.add(billboardBatch); particleSystem.add(pointSpriteBatch); particleSystem.add(modelInstanceParticleBatch); ParticleEffectLoader.ParticleEffectLoadParameter params = new ParticleEffectLoader.ParticleEffectLoadParameter(particleSystem.getBatches()); assetManager.load(DEFAULT_BILLBOARD_PARTICLE, Texture.class); assetManager.load(DEFAULT_MODEL_PARTICLE, Model.class);
public void saveEffect (File file) { Writer fileWriter = null; try { ParticleEffectLoader loader = (ParticleEffectLoader)assetManager.getLoader(ParticleEffect.class); loader.save(effect, new ParticleEffectSaveParameter(new FileHandle(file.getAbsolutePath()), assetManager, particleSystem.getBatches())); } catch (Exception ex) { System.out.println("Error saving effect: " + file.getAbsolutePath()); ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Error saving effect."); } finally { StreamUtils.closeQuietly(fileWriter); } }
private void update (float delta) { worldCamera.fieldOfView = fovValue.getValue(); worldCamera.update(); cameraInputController.update(); if(isUpdate){ particleSystem.update(delta); //Update ui stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Point Sprites : ").append(pointSpriteBatch.getBufferedCount()); pointCountLabel.setText(stringBuilder); stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Billboards : ").append(billboardBatch.getBufferedCount()); billboardCountLabel.setText(stringBuilder); stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("Model Instances : ").append(modelInstanceParticleBatch.getBufferedCount()); modelInstanceCountLabel.setText(stringBuilder); } stringBuilder.delete(0, stringBuilder.length); stringBuilder.append("FPS : ").append(Gdx.graphics.getFramesPerSecond()); fpsLabel.setText(stringBuilder); ui.act(Gdx.graphics.getDeltaTime()); }