From sverre.moe at gmail.com Mon Dec 3 18:47:19 2018 From: sverre.moe at gmail.com (Sverre Moe) Date: Mon, 3 Dec 2018 19:47:19 +0100 Subject: The Gradle docs: New javafx plugin Message-ID: I noticed the tutorial on building JavaFX 11 with Gradle has changed. https://openjfx.io/openjfx-docs/#gradle A new plugin has emerged: https://github.com/openjfx/javafx-gradle-plugin id 'org.openjfx.javafxplugin' version '0.0.5' javafx { modules = [ 'javafx.controls' ] } The guide should mention how to set a specific JavaFX version to use. It seems the plugin has hard coded version to 11.0.1, but this can be changed by setting the version variable. I had to look into the source code to find this. javafx { version = "11.0.+" modules = [ 'javafx.graphics', 'javafx.controls', 'javafx.media', 'javafx.web', 'javafx.fxml' ] } Previously this was the setup used in the tutorial before this new plugin: buildscript { repositories { mavenCentral() } dependencies { classpath group: 'com.google.gradle', name: 'osdetector-gradle-plugin', version: '1.6.0' } } ext { platform = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' ? 'win' : osdetector.os } dependencies { compile group: 'org.openjfx', name: "javafx-base", version: '11', classifier: platform } I have previously been using the moduleplugin to get module support on Gradle. Seems this new javafx plugin does the same thing. It work similar without the moduleplugin. Though the moduleplugin could be used for non-javafx module projects. id "org.javamodularity.moduleplugin" version "1.2.1" However neither of these plugins work with Javadoc task when having Log4j as a dependency. Same error on both: module-info.java:12: error: module not found: org.apache.logging.log4j Could it be possible to expand this new plugin later to incorporate JLink/JPackager for building a runtime image and installers with JavaFX. There is an older JavaFX plugin used for building with JavaFX 8 and package using javapackager. https://github.com/FibreFoX/javafx-gradle-plugin /Sverre From johan.vos at gluonhq.com Mon Dec 3 20:04:32 2018 From: johan.vos at gluonhq.com (Johan Vos) Date: Mon, 3 Dec 2018 21:04:32 +0100 Subject: The Gradle docs: New javafx plugin In-Reply-To: References: Message-ID: Hi, Good suggestions. I think this can be discussed in the issues of the doc site itself: https://github.com/openjfx/openjfx-docs/issues - Johan On Mon, Dec 3, 2018 at 8:18 PM Sverre Moe wrote: > I noticed the tutorial on building JavaFX 11 with Gradle has changed. > https://openjfx.io/openjfx-docs/#gradle > > A new plugin has emerged: https://github.com/openjfx/javafx-gradle-plugin > id 'org.openjfx.javafxplugin' version '0.0.5' > > javafx { > modules = [ 'javafx.controls' ] > } > > The guide should mention how to set a specific JavaFX version to use. > It seems the plugin has hard coded version to 11.0.1, but this can be > changed by setting the version variable. I had to look into the source code > to find this. > javafx { > version = "11.0.+" > > modules = [ > 'javafx.graphics', > 'javafx.controls', > 'javafx.media', > 'javafx.web', > 'javafx.fxml' > ] > } > > Previously this was the setup used in the tutorial before this new plugin: > > buildscript { > repositories { > mavenCentral() > } > dependencies { > classpath group: 'com.google.gradle', name: > 'osdetector-gradle-plugin', version: '1.6.0' > } > } > > ext { > platform = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' > ? 'win' : osdetector.os > } > > dependencies { > compile group: 'org.openjfx', name: "javafx-base", version: '11', > classifier: platform > } > > I have previously been using the moduleplugin to get module support on > Gradle. Seems this new javafx plugin does the same thing. It work similar > without the moduleplugin. Though the moduleplugin could be used for > non-javafx module projects. > id "org.javamodularity.moduleplugin" version "1.2.1" > > However neither of these plugins work with Javadoc task when having Log4j > as a dependency. Same error on both: > module-info.java:12: error: module not found: org.apache.logging.log4j > > > Could it be possible to expand this new plugin later to incorporate > JLink/JPackager for building a runtime image and installers with JavaFX. > There is an older JavaFX plugin used for building with JavaFX 8 and package > using javapackager. > https://github.com/FibreFoX/javafx-gradle-plugin > > /Sverre > From nlisker at gmail.com Tue Dec 4 02:01:01 2018 From: nlisker at gmail.com (Nir Lisker) Date: Tue, 4 Dec 2018 04:01:01 +0200 Subject: 3D performance In-Reply-To: <8535641ffa58958d93b1adf3efd1c8fb03f46195.camel@prelle.org> References: <8535641ffa58958d93b1adf3efd1c8fb03f46195.camel@prelle.org> Message-ID: Hi Stefan, Iv'e seen my share of 3D performance issues, though on Windows. I suggest that you submit a bug with reproducible code. - Nir On Sun, Nov 25, 2018 at 3:27 PM Stefan Prelle wrote: > Hi, > > I am currently investigating writing a 3D space shooter in Java and > came across a performance issue, I am not sure I understand. > > I am testing on a Linux machine with a GeForce 960. > > My first attempt was without JavaFX, using the JMonkeyEngine and the > nouveau driver, running on Java 11. The performance for my minimal > example was very good. > > My second attempt was Java 11 plus OpenJFX 11.01 (still nouveau > driver). I just loaded an OBJ file, applied textures and rotated it > with an AnimationTimer. The performance was poor, sluggish. > > My last attempt was the same, but with the proprietary nvidia driver. > That again looked smooth. > > > I can understand that the proprietary NVIDIA driver performs better > than the open source nouveau - but I am still surprised that the > JMonkeyEngine is that much faster than JavaFX. My understanding was > that both rely on the underlying OpenGL layer, so I expected only minor > performance differences. > > Can someone explain what I am missing? > > Regards, > Stefan > > From tom.schindl at bestsolution.at Tue Dec 4 19:21:41 2018 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Tue, 4 Dec 2018 20:21:41 +0100 Subject: DriftFX - Integrating Native Rendering Pipelines into JavaFX Message-ID: <947eab55-bfe4-8b7b-6018-ee358d88cd3c@bestsolution.at> Hi, Today at JavaFX Days we introduced DriftFX. You can read more about it at https://tomsondev.bestsolution.at/2018/12/04/announcing-efxclipse-driftfx-integrating-native-rendering-pipelines-into-javafx/ Tom -- Tom Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From elect86 at gmail.com Wed Dec 19 10:16:33 2018 From: elect86 at gmail.com (Giuseppe Barbieri) Date: Wed, 19 Dec 2018 11:16:33 +0100 Subject: How to force animation Message-ID: Hi, I'm injecting external rendering code and I'd like to know how I may force animation without having to declare some dummy objects, such as a Circle combined with a TranslateTransition I tried to modify the `QuantumToolkit.postPulse()` to force calling Application.invokeLater(pulseRunnable); but for some reasons it doesnt work Thanks in advance, Giuseppe From elect86 at gmail.com Thu Dec 20 11:52:00 2018 From: elect86 at gmail.com (Giuseppe Barbieri) Date: Thu, 20 Dec 2018 12:52:00 +0100 Subject: How to force animation In-Reply-To: References: Message-ID: It seems it doesnt work, I keep getting updates only when I enter/exit the button on top: https://i.imgur.com/aV9NGqi.png To better clarify: I'd like an animation that would call `ViewPainter.doPaint()` every pulse Any idea how I may achieve this? PS: in case you may want to try it personally, projects are available at: - https://github.com/elect86/openjdk-jfx.git - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti ha scritto: > Create animation by extending AnimationTimer and call its start() method > to begin animation. > > On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri > wrote: > >> Hi, >> >> I'm injecting external rendering code and I'd like to know how I may force >> animation without having to declare some dummy objects, such as a Circle >> combined with a TranslateTransition >> >> I tried to modify the `QuantumToolkit.postPulse()` to force calling >> >> Application.invokeLater(pulseRunnable); >> >> >> but for some reasons it doesnt work >> >> >> Thanks in advance, >> Giuseppe >> > From tom.schindl at bestsolution.at Thu Dec 20 12:12:12 2018 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 20 Dec 2018 13:12:12 +0100 Subject: How to force animation In-Reply-To: References: Message-ID: <75e62834-867b-fd51-c1b1-73af219cd4fa@bestsolution.at> I think you need to tell the system that the nodes content is dirty, not? Tom On 20.12.18 12:52, Giuseppe Barbieri wrote: > It seems it doesnt work, I keep getting updates only when I enter/exit the > button on top: https://i.imgur.com/aV9NGqi.png > > To better clarify: I'd like an animation that would call > `ViewPainter.doPaint()` every pulse > > Any idea how I may achieve this? > > PS: in case you may want to try it personally, projects are available at: > - https://github.com/elect86/openjdk-jfx.git > - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) > > Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti ha > scritto: > >> Create animation by extending AnimationTimer and call its start() method >> to begin animation. >> >> On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri >> wrote: >> >>> Hi, >>> >>> I'm injecting external rendering code and I'd like to know how I may force >>> animation without having to declare some dummy objects, such as a Circle >>> combined with a TranslateTransition >>> >>> I tried to modify the `QuantumToolkit.postPulse()` to force calling >>> >>> Application.invokeLater(pulseRunnable); >>> >>> >>> but for some reasons it doesnt work >>> >>> >>> Thanks in advance, >>> Giuseppe >>> >> -- Tom Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From elect86 at gmail.com Thu Dec 20 12:53:59 2018 From: elect86 at gmail.com (Giuseppe Barbieri) Date: Thu, 20 Dec 2018 13:53:59 +0100 Subject: How to force animation In-Reply-To: References: Message-ID: I guess I made it, I bypassed the `if(dirty)` in `Scene.pulse()`. Together with the AnimationTimer seems working great Now I need to figure it out why the depth test appears to be disabled althought I explicitely call glEnable(GL_DEPTH_TEST) Before my gears rendering.. Il giorno gio 20 dic 2018 alle ore 12:52 Giuseppe Barbieri < elect86 at gmail.com> ha scritto: > It seems it doesnt work, I keep getting updates only when I enter/exit the > button on top: https://i.imgur.com/aV9NGqi.png > > To better clarify: I'd like an animation that would call > `ViewPainter.doPaint()` every pulse > > Any idea how I may achieve this? > > PS: in case you may want to try it personally, projects are available at: > - https://github.com/elect86/openjdk-jfx.git > - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) > > Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti > ha scritto: > >> Create animation by extending AnimationTimer and call its start() method >> to begin animation. >> >> On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri >> wrote: >> >>> Hi, >>> >>> I'm injecting external rendering code and I'd like to know how I may >>> force >>> animation without having to declare some dummy objects, such as a Circle >>> combined with a TranslateTransition >>> >>> I tried to modify the `QuantumToolkit.postPulse()` to force calling >>> >>> Application.invokeLater(pulseRunnable); >>> >>> >>> but for some reasons it doesnt work >>> >>> >>> Thanks in advance, >>> Giuseppe >>> >> From elect86 at gmail.com Thu Dec 20 13:09:23 2018 From: elect86 at gmail.com (Giuseppe Barbieri) Date: Thu, 20 Dec 2018 14:09:23 +0100 Subject: How to force animation In-Reply-To: References: Message-ID: Using *glGetFramebufferAttachmentParameteri* it looks like there is no depth attachment on the bound framebuffer, that's why.. Also, it's upside down Il giorno gio 20 dic 2018 alle ore 13:53 Giuseppe Barbieri < elect86 at gmail.com> ha scritto: > I guess I made it, I bypassed the `if(dirty)` in `Scene.pulse()`. Together > with the AnimationTimer seems working great > > Now I need to figure it out why the depth test appears to be disabled > althought I explicitely call > > glEnable(GL_DEPTH_TEST) > > Before my gears rendering.. > > > Il giorno gio 20 dic 2018 alle ore 12:52 Giuseppe Barbieri < > elect86 at gmail.com> ha scritto: > >> It seems it doesnt work, I keep getting updates only when I enter/exit >> the button on top: https://i.imgur.com/aV9NGqi.png >> >> To better clarify: I'd like an animation that would call >> `ViewPainter.doPaint()` every pulse >> >> Any idea how I may achieve this? >> >> PS: in case you may want to try it personally, projects are available at: >> - https://github.com/elect86/openjdk-jfx.git >> - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) >> >> Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti >> ha scritto: >> >>> Create animation by extending AnimationTimer and call its start() method >>> to begin animation. >>> >>> On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri >>> wrote: >>> >>>> Hi, >>>> >>>> I'm injecting external rendering code and I'd like to know how I may >>>> force >>>> animation without having to declare some dummy objects, such as a Circle >>>> combined with a TranslateTransition >>>> >>>> I tried to modify the `QuantumToolkit.postPulse()` to force calling >>>> >>>> Application.invokeLater(pulseRunnable); >>>> >>>> >>>> but for some reasons it doesnt work >>>> >>>> >>>> Thanks in advance, >>>> Giuseppe >>>> >>> From tom.schindl at bestsolution.at Thu Dec 20 13:13:23 2018 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 20 Dec 2018 14:13:23 +0100 Subject: How to force animation In-Reply-To: References: Message-ID: On 20.12.18 14:09, Giuseppe Barbieri wrote: > Using *glGetFramebufferAttachmentParameteri* it looks like there is no > depth attachment on the bound framebuffer, that's why.. > > Also, it's upside down Right this is what we found out as well when implementing DriftFX - FX uses a flipped coordinate system. Tom -- Tom Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From elect86 at gmail.com Sat Dec 22 22:41:10 2018 From: elect86 at gmail.com (Giuseppe Barbieri) Date: Sat, 22 Dec 2018 23:41:10 +0100 Subject: openjfx-discuss Digest, Vol 3, Issue 5 In-Reply-To: References: Message-ID: Is there a way? > > I think you need to tell the system that the nodes content is dirty, not? > > Tom > > On 20.12.18 12:52, Giuseppe Barbieri wrote: > > It seems it doesnt work, I keep getting updates only when I enter/exit > the > > button on top: https://i.imgur.com/aV9NGqi.png > > > > To better clarify: I'd like an animation that would call > > `ViewPainter.doPaint()` every pulse > > > > Any idea how I may achieve this? > > > > PS: in case you may want to try it personally, projects are available at: > > - https://github.com/elect86/openjdk-jfx.git > > - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) > > > > Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti > ha > > scritto: > > > >> Create animation by extending AnimationTimer and call its start() method > >> to begin animation. > >> > >> On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri > >> wrote: > >> > >>> Hi, > >>> > >>> I'm injecting external rendering code and I'd like to know how I may > force > >>> animation without having to declare some dummy objects, such as a > Circle > >>> combined with a TranslateTransition > >>> > >>> I tried to modify the `QuantumToolkit.postPulse()` to force calling > >>> > >>> Application.invokeLater(pulseRunnable); > >>> > >>> > >>> but for some reasons it doesnt work > >>> > >>> > >>> Thanks in advance, > >>> Giuseppe > >>> > >> > > -- > Tom Schindl, CTO > BestSolution.at EDV Systemhaus GmbH > Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck > > > ------------------------------ > > Message: 2 > Date: Thu, 20 Dec 2018 13:53:59 +0100 > From: Giuseppe Barbieri > To: openjfx-discuss at openjdk.java.net > Subject: Re: How to force animation > Message-ID: > < > CAOTtYn4cAGNgvDkWX413QdGMGeD74EosrvdiyvCuQnaRgcw-6w at mail.gmail.com> > Content-Type: text/plain; charset="UTF-8" > > I guess I made it, I bypassed the `if(dirty)` in `Scene.pulse()`. Together > with the AnimationTimer seems working great > > Now I need to figure it out why the depth test appears to be disabled > althought I explicitely call > > glEnable(GL_DEPTH_TEST) > > Before my gears rendering.. > > > Il giorno gio 20 dic 2018 alle ore 12:52 Giuseppe Barbieri < > elect86 at gmail.com> ha scritto: > > > It seems it doesnt work, I keep getting updates only when I enter/exit > the > > button on top: https://i.imgur.com/aV9NGqi.png > > > > To better clarify: I'd like an animation that would call > > `ViewPainter.doPaint()` every pulse > > > > Any idea how I may achieve this? > > > > PS: in case you may want to try it personally, projects are available at: > > - https://github.com/elect86/openjdk-jfx.git > > - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) > > > > Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti > > ha scritto: > > > >> Create animation by extending AnimationTimer and call its start() method > >> to begin animation. > >> > >> On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri > >> wrote: > >> > >>> Hi, > >>> > >>> I'm injecting external rendering code and I'd like to know how I may > >>> force > >>> animation without having to declare some dummy objects, such as a > Circle > >>> combined with a TranslateTransition > >>> > >>> I tried to modify the `QuantumToolkit.postPulse()` to force calling > >>> > >>> Application.invokeLater(pulseRunnable); > >>> > >>> > >>> but for some reasons it doesnt work > >>> > >>> > >>> Thanks in advance, > >>> Giuseppe > >>> > >> > > > ------------------------------ > > Message: 3 > Date: Thu, 20 Dec 2018 14:09:23 +0100 > From: Giuseppe Barbieri > To: openjfx-discuss at openjdk.java.net > Subject: Re: How to force animation > Message-ID: > < > CAOTtYn785H5ZsnqSr_i3+AWci8c3SH9NFBwwP3VG_vsmxkNuSQ at mail.gmail.com> > Content-Type: text/plain; charset="UTF-8" > > Using *glGetFramebufferAttachmentParameteri* it looks like there is no > depth attachment on the bound framebuffer, that's why.. > > Also, it's upside down > > Il giorno gio 20 dic 2018 alle ore 13:53 Giuseppe Barbieri < > elect86 at gmail.com> ha scritto: > > > I guess I made it, I bypassed the `if(dirty)` in `Scene.pulse()`. > Together > > with the AnimationTimer seems working great > > > > Now I need to figure it out why the depth test appears to be disabled > > althought I explicitely call > > > > glEnable(GL_DEPTH_TEST) > > > > Before my gears rendering.. > > > > > > Il giorno gio 20 dic 2018 alle ore 12:52 Giuseppe Barbieri < > > elect86 at gmail.com> ha scritto: > > > >> It seems it doesnt work, I keep getting updates only when I enter/exit > >> the button on top: https://i.imgur.com/aV9NGqi.png > >> > >> To better clarify: I'd like an animation that would call > >> `ViewPainter.doPaint()` every pulse > >> > >> Any idea how I may achieve this? > >> > >> PS: in case you may want to try it personally, projects are available > at: > >> - https://github.com/elect86/openjdk-jfx.git > >> - https://github.com/jvm-graphics-labs/HelloFX.git (hello gears.kt) > >> > >> Il giorno mer 19 dic 2018 alle ore 13:43 Zsolt K?ti > > >> ha scritto: > >> > >>> Create animation by extending AnimationTimer and call its start() > method > >>> to begin animation. > >>> > >>> On Wed, Dec 19, 2018 at 11:18 AM Giuseppe Barbieri > >>> wrote: > >>> > >>>> Hi, > >>>> > >>>> I'm injecting external rendering code and I'd like to know how I may > >>>> force > >>>> animation without having to declare some dummy objects, such as a > Circle > >>>> combined with a TranslateTransition > >>>> > >>>> I tried to modify the `QuantumToolkit.postPulse()` to force calling > >>>> > >>>> Application.invokeLater(pulseRunnable); > >>>> > >>>> > >>>> but for some reasons it doesnt work > >>>> > >>>> > >>>> Thanks in advance, > >>>> Giuseppe > >>>> > >>> > > > ------------------------------ > > Message: 4 > Date: Thu, 20 Dec 2018 14:13:23 +0100 > From: Tom Schindl > To: openjfx-discuss at openjdk.java.net > Subject: Re: How to force animation > Message-ID: > Content-Type: text/plain; charset=utf-8 > > On 20.12.18 14:09, Giuseppe Barbieri wrote: > > Using *glGetFramebufferAttachmentParameteri* it looks like there is no > > depth attachment on the bound framebuffer, that's why.. > > > > Also, it's upside down > > Right this is what we found out as well when implementing DriftFX - FX > uses a flipped coordinate system. > > Tom > > -- > Tom Schindl, CTO > BestSolution.at EDV Systemhaus GmbH > Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck > > > End of openjfx-discuss Digest, Vol 3, Issue 5 > ********************************************* >