rockbite / talos Goto Github PK
View Code? Open in Web Editor NEWTalos Particle Engine
License: Apache License 2.0
Talos Particle Engine
License: Apache License 2.0
i'm using ubuntu. this issue exists from all the three versions i tried (1.4.1, 1.4.0, 1.2.0)
i open the fire example, i delete the emitter node and the software crashes with this in the console :
Exception in thread "main" java.lang.NullPointerException
at com.talosvfx.talos.runtime.Particle.getY(Particle.java:140)
at com.talosvfx.talos.runtime.render.drawables.TextureRegionDrawable.draw(TextureRegionDrawable.java:47)
at com.talosvfx.talos.runtime.render.SpriteBatchParticleRenderer.renderParticle(SpriteBatchParticleRenderer.java:93)
at com.talosvfx.talos.runtime.render.SpriteBatchParticleRenderer.render(SpriteBatchParticleRenderer.java:75)
at com.talosvfx.talos.runtime.ParticleEffectInstance.render(ParticleEffectInstance.java:121)
at com.talosvfx.talos.editor.widgets.ui.PreviewWidget.drawContent(PreviewWidget.java:324)
at com.talosvfx.talos.editor.widgets.ui.ViewportWidget.draw(ViewportWidget.java:152)
at com.badlogic.gdx.scenes.scene2d.Group.drawChildren(Group.java:124)
at com.badlogic.gdx.scenes.scene2d.Group.draw(Group.java:58)
at com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup.draw(WidgetGroup.java:170)
at com.badlogic.gdx.scenes.scene2d.ui.Table.draw(Table.java:126)
at com.kotcrab.vis.ui.widget.VisSplitPane.draw(VisSplitPane.java:296)
at com.badlogic.gdx.scenes.scene2d.Group.drawChildren(Group.java:124)
at com.badlogic.gdx.scenes.scene2d.Group.draw(Group.java:58)
at com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup.draw(WidgetGroup.java:170)
at com.badlogic.gdx.scenes.scene2d.ui.Table.draw(Table.java:126)
at com.kotcrab.vis.ui.widget.VisSplitPane.draw(VisSplitPane.java:296)
at com.badlogic.gdx.scenes.scene2d.Group.drawChildren(Group.java:124)
at com.badlogic.gdx.scenes.scene2d.Group.draw(Group.java:58)
at com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup.draw(WidgetGroup.java:170)
at com.badlogic.gdx.scenes.scene2d.ui.Table.draw(Table.java:126)
at com.badlogic.gdx.scenes.scene2d.Group.drawChildren(Group.java:111)
at com.badlogic.gdx.scenes.scene2d.Group.draw(Group.java:58)
at com.badlogic.gdx.scenes.scene2d.Stage.draw(Stage.java:129)
at com.talosvfx.talos.TalosMain.render(TalosMain.java:259)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:403)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:143)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:116)
at com.talosvfx.talos.TalosLauncher.main(TalosLauncher.java:33)
1.4.0
1.4.1
[LWJGL] Failed to load a library. Possible solutions:
a) Add the directory that contains the shared library to -Djava.library.path or -Dorg.lwjgl.librarypath.
b) Add the JAR that contains the shared library to the classpath.
[LWJGL] Enable debug mode with -Dorg.lwjgl.util.Debug=true for better diagnostics.
[LWJGL] Enable the SharedLibraryLoader debug mode with -Dorg.lwjgl.util.DebugLoader=true for better diagnostics.
Exception in thread "main" java.lang.UnsatisfiedLinkError: Failed to locate library: lwjgl.dll
at org.lwjgl.system.Library.loadSystem(Library.java:164)
at org.lwjgl.system.Library.loadSystem(Library.java:63)
at org.lwjgl.system.Library.<clinit>(Library.java:51)
at org.lwjgl.system.MemoryUtil.<clinit>(MemoryUtil.java:100)
at org.lwjgl.system.Pointer$Default.<clinit>(Pointer.java:67)
at org.lwjgl.system.Callback.<clinit>(Callback.java:40)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.initializeGlfw(Lwjgl3Application.java:81)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:91)
at com.talosvfx.talos.TalosLauncher.main(TalosLauncher.java:33)
Hi
Im unable to figure out how to apply gravity in the effect I am creating. I can see that there was a gravity property in Particle node some time ago, but now it has been removed. Also if I try importing libgdx legacy effect, the gravity settings are not being imported.
Could you please advice. Do you have any sample hot to do it.
Thank you very much.
I followed the instructions at https://github.com/rockbite/talos/wiki/Libgdx-Runtime to import the generated particle effect into a Libgdx game. At first I thought I messed up the rendering because I couldn't see any particle effects at all, but I eventually found out that it was just extremely tiny. As a comparison, I imported the fire example into my game, and the fire effect rendered at the same size that the Talos editor would show it at Grid 30, which is basically barely visible. I have it currently rendering in its own batch.begin/end, so other rendering code shouldn't be getting involved.
The demo code at https://github.com/rockbite/talos/blob/master/runtimes/talos-libgdx/test/com/talosvfx/talos/runtime/test/TalosDemo.java uses a strange value for the Viewport. Clearly I'm missing something here, how should I properly configure SpriteBatchParticleRenderer?
Libgdx version is 1.9.14
Talos Libgdx Runtime version is 1.4.0
Hello,
It appears to me that Talos is not ready for HTML5 support (and also mobile support). Besides missing the typical gwt.xml files, the runtime project depends on Java AWT and other uncompilable classes. Please see the following:
https://github.com/rockbite/talos/blob/master/runtimes/talos-libgdx/src/com/talosvfx/talos/runtime/ScopePayload.java#L24
https://github.com/rockbite/talos/blob/master/runtimes/talos-libgdx/src/com/talosvfx/talos/runtime/script/ScriptCompiler.java#L24
Is this in the roadmap for the project? This is an absolute necessity if you want Talos to be considered as a full replacement for the vanilla particle system. Thank you.
Project interface refactor
Hi there,
I am using Maven and I noticed that the talos dependency itself
<dependency>
<groupId>com.talosvfx</groupId>
<artifactId>talos-libgdx</artifactId>
<version>1.4.0</version>
</dependency>
has a dependency on com.github.jitpack:gradle-simple:1.0
.
To me that seems strange as it seems to be an example gradle project.
I have not looked at the source code yet, but can someone comment on whether this dependency is in fact needed?
Thanks!
Hello,
Zooming the main node display results in the text being unreadable. Characters can be distorted or completely missing depending on the zoom level. This is particularly challenging because the window does not seem to have a button to return to 100% zoom. I imagine this can be resolved with some sort of FreeType or Distance Field solution. Thanks for looking into this.
This project needs an open source license.
I launched the jar on macOS Catalina and it shows a black screen. Downloaded the repository and launched it through android studio and was able to trigger click events etc. but see only a black screen. I have many libgdx projects, the old particle editor and the demo vis-ui work on my macbook. Am I missing something?
Hi there,
I want to rotate a complete ParticleEffectInstance
dynamically by a certain degree during runtime in a libGDX program.
What would be the best way to achieve this?
Thanks
System:
Steps:
java.lang.ClassCastException: com.rockbite.tools.talos.runtime.values.NumericalValue cannot be cast to com.rockbite.tools.talos.runtime.values.DrawableValue at com.rockbite.tools.talos.runtime.values.DrawableValue.set(DrawableValue.java:20) at com.rockbite.tools.talos.runtime.modules.Module.fetchInputSlotValue(Module.java:104) at com.rockbite.tools.talos.runtime.modules.ParticleModule.getDrawable(ParticleModule.java:85) at com.rockbite.tools.talos.runtime.Particle.update(Particle.java:80) at com.rockbite.tools.talos.runtime.ParticleEmitterInstance.updateParticles(ParticleEmitterInstance.java:163) at com.rockbite.tools.talos.runtime.ParticleEmitterInstance.update(ParticleEmitterInstance.java:142) at com.rockbite.tools.talos.runtime.ParticleEffectInstance.update(ParticleEffectInstance.java:60) at com.rockbite.tools.talos.editor.widgets.ui.PreviewWidget.act(PreviewWidget.java:255) at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49) at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49) at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49) at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49) at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49) at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49) at com.badlogic.gdx.scenes.scene2d.Stage.act(Stage.java:222) at com.badlogic.gdx.scenes.scene2d.Stage.act(Stage.java:186) at com.rockbite.tools.talos.TalosMain.render(TalosMain.java:120) at com.badlogic.gdx.backends.lwjgl.LwjglCanvas$3.run(LwjglCanvas.java:265) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Hi There
Is it possible to add the ParticleEmitterBox2D to a Particle Effect Descriptor / Effect Instance ?
Regards
Blaedde
A suggested fix would be to replace:
private ShapeRenderer shapeRenderer = new ShapeRenderer();
with
private ShapeRenderer shapeRenderer;
And adding method:
@Override
protected void setStage(Stage stage) {
super.setStage(stage);
if (stage != null && shapeRenderer == null) {
shapeRenderer = new ShapeRenderer();
}
if (stage == null && shapeRenderer!= null) {
shapeRenderer.dispose();
shapeRenderer = null;
}
}
I didn't review any other widgets, but I suspect they might have similar issues - not disposing of resources, that could be fixed in the same way.
Hello,
It is not clear how to import the Talos runtime into a libGDX Gradle project. This is typically listed in the README file of the project with other GDX related libraries. I was able to figure it out through some sleuthing, but I find it hard to believe that most people have tested your library beyond just using the editor. Thank you for your consideration.
Samples,
defaults
Repro:
Result: Two tabs with same shader effect
Expected: Two tabs with two different shader effects - each folder its own shader
My system:
iMac5k, Big Sur 11.2, Quad Core i7, AMD Radeon R9 M295X 4GB
How I start the editor:
java -XstartOnFirstThread -jar talos.1.2.0.jar
The Talos Editor has very GPU usage from the start. GPU usage above 90%. Even with no effect loaded.
If I click in other windows the GPU usage from the Talos editor goes down to under 20%. Clicking the Talos window again and GPU usage goes up.
The GPU usage is independent from the particle effect (empty start template, fire example, beam example) so it seems some editor components are driving GPU crazy when the window is active.
Set multiple paths to look for images
Shift select modules
Selection, multi selection move
Selection copy
Deselection
Group background (name group)
ezpz
Hi
Any plan for jMonkeyEngine support?
Hi, when I try to open Talos on my mac I get this error:
java -jar talos.1.2.0.jar
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1842)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.createGlfwWindow(Lwjgl3Application.java:450)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.createWindow(Lwjgl3Application.java:394)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.createWindow(Lwjgl3Application.java:380)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.(Lwjgl3Application.java:108)
at com.talosvfx.talos.TalosLauncher.main(TalosLauncher.java:32)
Caused by: java.lang.IllegalStateException: GLFW windows may only be created on the main thread and that thread must be the first thread in the process. Please run the JVM with -XstartOnFirstThread. For offscreen rendering, make sure another window toolkit (e.g. AWT or JavaFX) is initialized before GLFW.
at org.lwjgl.glfw.EventLoop$OffScreen.(EventLoop.java:39)
... 6 more
AL lib: (EE) alc_cleanup: 1 device not closed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.