JavaFX 2 + with LWJGL ( OpenGL )
Exo Verse
toraktu at gmail.com
Mon Apr 7 20:08:08 UTC 2014
OK, update from my previous post. I did finally figure out how to drag my
window around. It's not perfect, but I updated all my code. I still have
the problem of it jumping around the screen when I click and drag, but at
least it is draggable now.
Main.java
http://pastebin.com/raw.php?i=he5RGK75
MainController.java
http://pastebin.com/raw.php?i=VFH4AkLP
Main.fxml
http://pastebin.com/raw.php?i=w7KHTkXy
Again, you will need to add your own background transparent Image for this
code to work 100%. The Main.fxml shows you the path of where it goes.
Torak
On Mon, Apr 7, 2014 at 12:52 PM, Exo Verse <toraktu at gmail.com> wrote:
>
> Ahh yes, the lwjglfx solution. Yes it is ingenious what they guy did. I
> would have to draw to an image anyhow with other GUI designs, so this is no
> different. And with a buffer, you would only need to update it IF the GUI
> has changed. If no change, then you just use the buffer in OpenGL to paste
> the GUI image back to the screen in a 3D space instead of worrying about
> 2D. No need to worry about FPS dropping either. His approach needs work,
> but the point of his exercise is to prove its doable.
>
> I am at another loss though. I am trying to make my window in JavaFX
> CLICKHOLD and DRAGGABLE.. not a control within it.. The actual window
> itself. Ideas ? My whole source code in a previous post is there if you
> want to see what I have so far. Although you will need to make a 800x600
> image to get it to work. ( NOTE : Any image for testing purposes would
> work. )
>
> Torak
>
>
> On Mon, Apr 7, 2014 at 12:47 PM, Stephen F Northover <
> steve.x.northover at oracle.com> wrote:
>
>> The lwjglfx solution.
>>
>> Steve
>>
>>
>> On 2014-04-07 12:45 PM, Exo Verse wrote:
>>
>>> @ Steve
>>> Which approach are you referring too ? The lwjglfx solution or this
>>> transparency background solution ?
>>>
>>> The lwjglfx I am assuming here since its drawing out to an image and back
>>> in again. But if your speaking about my transparency issue I solved, I
>>> didn't realize it was sending out to an image and back again. Could you
>>> please elaborate as to which solution your speaking about ?
>>>
>>> Torak
>>>
>>>
>>> On Mon, Apr 7, 2014 at 12:33 PM, Stephen F Northover <
>>> steve.x.northover at oracle.com> wrote:
>>>
>>> This solution is cool, but it draws to an image, sucks out the bits and
>>>> then converts that to an FX image. This is a good approach because it
>>>> uses
>>>> API and does not rely on any internals of FX. Hopefully it is fast
>>>> enough
>>>> for you.
>>>>
>>>> Steve
>>>>
>>>>
>>>> On 2014-04-06 12:41 PM, Exo Verse wrote:
>>>>
>>>> Yea the OpenGL comes with your graphics drivers for your video card. So
>>>>> your correct that it doesn't ship with JavaFX. What I have been going
>>>>> on
>>>>> about is trying to find a way to use JavaFX with LWJGL. In case you are
>>>>> unaware, LWJGL just means "Light Weight Java OpenGL" and its a wrapper
>>>>> for
>>>>> the OpenGL API. It's an alternative to JOGL.
>>>>>
>>>>> On another note, as I did a search, Thanks to Tom showing me that link
>>>>> I
>>>>> examined that code and I found something of interest in the JOGL code
>>>>> interface.. well it lead me to a google search, and viola.. LWJGL
>>>>> with
>>>>> JavaFX. :)
>>>>>
>>>>> LINK :
>>>>> https://github.com/Spasi/LWJGL-FX
>>>>>
>>>>> So just wanted to post the link here and say thanks for all of your
>>>>> help.
>>>>> :)
>>>>>
>>>>> Cheers,
>>>>> Torak
>>>>>
>>>>>
>>>>> On Sun, Apr 6, 2014 at 12:35 PM, Tom Schindl <
>>>>> tom.schindl at bestsolution.at
>>>>>
>>>>>> wrote:
>>>>>>
>>>>> JavaFX does not ship OpenGL binaries on windows you have to build it
>>>>> your
>>>>>
>>>>>> own.
>>>>>>
>>>>>> Please note:
>>>>>> a) if there are people who manage to write a prism pipeline on jogl
>>>>>> why
>>>>>> should you not be able to do the same with lwjgl?
>>>>>> b) the talk i mentionned from felipe and steve show how to get access
>>>>>> to
>>>>>> the native OpenGL context and there from you can use any API you like
>>>>>> can't
>>>>>> remember which one they used
>>>>>>
>>>>>> Tom
>>>>>>
>>>>>> Von meinem iPhone gesendet
>>>>>>
>>>>>> Am 06.04.2014 um 18:18 schrieb Exo Verse <toraktu at gmail.com>:
>>>>>>
>>>>>>> Thanks, but as I mentioned in my original post, I don't like JOGL. It
>>>>>>> doesn't work with my setup. I use LWJGL because its only about the
>>>>>>> OpenGL
>>>>>>> and not other libraries, and its an easy API wrapper to use. There
>>>>>>> are
>>>>>>>
>>>>>>> many
>>>>>>
>>>>>> many reason I hate JOGL.. but this thread is not about hating on
>>>>>>> JOGL,
>>>>>>>
>>>>>>> its
>>>>>>
>>>>>> about finding a way to use LWJGL with JavaFX2+.
>>>>>>>
>>>>>>> Also, Win32 API calls can use both DirectX and OpenGL APIs. And it
>>>>>>>
>>>>>>> doesn't
>>>>>>
>>>>>> matter what Windows OS you're using. I have tested this out from
>>>>>>> Windows
>>>>>>>
>>>>>>> XP
>>>>>>
>>>>>> all the way to Windows 7 - 32/64 Bit with no problem.
>>>>>>>
>>>>>>> Cheers
>>>>>>> Torak
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Apr 6, 2014 at 11:52 AM, Tom Schindl <
>>>>>>>
>>>>>>> tom.schindl at bestsolution.at>wrote:
>>>>>>
>>>>>> There is a talk from Felipe and Steve at J1 last year how to embed
>>>>>>> OpenGL
>>>>>>> into FX using *internal* API!
>>>>>>>
>>>>>>>> Search for it on parleys - this does not help you on Win32 which
>>>>>>>> uses
>>>>>>>> directx instead of javafx. BTW there are people doing a JOGL
>>>>>>>> pipeline
>>>>>>>> https://bitbucket.org/dejayberlin/joglfxpipeline/src!
>>>>>>>>
>>>>>>>> Tom
>>>>>>>> Von meinem iPhone gesendet
>>>>>>>>
>>>>>>>> Am 06.04.2014 um 17:25 schrieb Exo Verse <toraktu at gmail.com>:
>>>>>>>>
>>>>>>>>> Yea its a shame that using JavaFX as an option along with OpenGL
>>>>>>>>> wasn't
>>>>>>>>> even thought of to begin with. I don't understand why they limit
>>>>>>>>> you
>>>>>>>>>
>>>>>>>>> like
>>>>>>>>
>>>>>>> they do. Them trying to recreate the wheel and make their own version
>>>>>>>
>>>>>>>> of
>>>>>>>>
>>>>>>> a
>>>>>>>
>>>>>>>> 3D interface is just plain stupid if it can't run low level. I can
>>>>>>>>> see
>>>>>>>>>
>>>>>>>>> 2D
>>>>>>>>
>>>>>>> games and applications with a LOT of usage for JavaFX and its 2D
>>>>>>>
>>>>>>>> graphics
>>>>>>>>
>>>>>>> API. But True 3D needs low level other wise its a waste of time.
>>>>>>>
>>>>>>>> Well, thanks for the replies. Guess I'll have to stick with using
>>>>>>>>> other
>>>>>>>>> sources for my GUI. It's just that I like JavaFX version of its GUI
>>>>>>>>>
>>>>>>>>> because
>>>>>>>>
>>>>>>>> it is so simple to use. But not worth it if you can't use it for
>>>>>>>>> the
>>>>>>>>>
>>>>>>>>> reason
>>>>>>>>
>>>>>>>> that we the people need it for. Like in my case, game dev.
>>>>>>>>>
>>>>>>>>> Cheers.
>>>>>>>>> Torak
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sun, Apr 6, 2014 at 10:48 AM, Philipp Dörfler <
>>>>>>>>> phdoerfler at gmail.com
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> It is not possible to combine JavaFX and OpenGL as it is right
>>>>>>>>> now.
>>>>>>>>> This
>>>>>>>>>
>>>>>>>> was discussed on this mailing list some time before as a _possible_
>>>>>>>
>>>>>>>> future
>>>>>>>>> addition, but I'd be very surprised if Oracle actually chose to
>>>>>>>>> implement
>>>>>>>>> this.
>>>>>>>>>
>>>>>>>>>> Starting with JavaFX 8 there is indeed some kind of "3D support"
>>>>>>>>>> but
>>>>>>>>>>
>>>>>>>>>> the
>>>>>>>>>
>>>>>>>> 3D API allows only for the most basic operations. It is still
>>>>>>>
>>>>>>>> completely
>>>>>>>>>
>>>>>>>> scene graph based and you have to live with all restrictions that
>>>>>>>
>>>>>>>> JavaFX
>>>>>>>>>
>>>>>>>> imposes on you. Not wanting to say that the 3D API is completely
>>>>>>>
>>>>>>>> useless,
>>>>>>>>> but I'm afraid that even WPF is more flexible when it comes to 3D
>>>>>>>>> than
>>>>>>>>>
>>>>>>>>>> JavaFX is. For example: As far as I know you can not even change
>>>>>>>>>> the
>>>>>>>>>> shading model from GL_SMOOTH to GL_FLAT. You could work around
>>>>>>>>>> that
>>>>>>>>>> by
>>>>>>>>>> setting the normals yourself though (Same for WPF). Also render
>>>>>>>>>>
>>>>>>>>>> quality
>>>>>>>>>
>>>>>>>> is
>>>>>>>
>>>>>>>> bad when you render an instance of Text in 3D and scale it down for
>>>>>>>>>
>>>>>>>>>> example. At least it was when I tried that last time (few months
>>>>>>>>>> ago).
>>>>>>>>>>
>>>>>>>>>> Again, not to say that one can't work with JavaFX's 3D API, but
>>>>>>>>>> it's
>>>>>>>>>>
>>>>>>>>>> not
>>>>>>>>>
>>>>>>>> raw OpenGL either. As far as I know the JavaFX team wants to be able
>>>>>>>
>>>>>>>> to
>>>>>>>>>
>>>>>>>> let
>>>>>>>
>>>>>>>> the user use his own OpenGL context and let JavaFX render on top of
>>>>>>>>> that or
>>>>>>>>> add the possibility to ask JavaFX for the underlying context and
>>>>>>>>> mess
>>>>>>>>> with
>>>>>>>>> that but this is not even officially planned or included on any
>>>>>>>>> roadmap
>>>>>>>>>
>>>>>>>> (AFAIK) so we can only keep our fingers crossed for that to happen.
>>>>>>>
>>>>>>>> Like
>>>>>>>>>
>>>>>>>> you I would absolutely LOVE to use JavaFX as a GUI on top of my
>>>>>>> OpenGL
>>>>>>>
>>>>>>>> games.
>>>>>>>>>>
>>>>>>>>>> Cheers
>>>>>>>>>> Philipp Dörfler
>>>>>>>>>>
>>>>>>>>>> Am 06.04.2014 um 16:31 schrieb Exo Verse <toraktu at gmail.com>:
>>>>>>>>>>
>>>>>>>>>>> Can you please explain what True 3D means in terms of Low Level
>>>>>>>>>>> API
>>>>>>>>>>> ?
>>>>>>>>>>> Because with LWJGL I can use Low Level API to talk directly to my
>>>>>>>>>>>
>>>>>>>>>>> Video
>>>>>>>>>>
>>>>>>>>> Card. As a game dev, I need every ounce of umph from the card I can
>>>>>>>
>>>>>>>> get,
>>>>>>>>>>
>>>>>>>>> and using a browser or any other kind of wrapper hasn't proven very
>>>>>>>>>
>>>>>>>>>> efficient. I love LWJGL because of its simplicity. Anything extra
>>>>>>>>>>> I
>>>>>>>>>>>
>>>>>>>>>>> need, I
>>>>>>>>>>
>>>>>>>>>> am allowed to make on my own. Example, my own Game Engine.
>>>>>>>>>>>
>>>>>>>>>>> And that is where I am at. So if your speaking about Nodes, I am
>>>>>>>>>>>
>>>>>>>>>>> aware
>>>>>>>>>>
>>>>>>>>> there is a hierarchy to the JavaFX2 when setting up the GUI, but
>>>>>>> that
>>>>>>>
>>>>>>>> is
>>>>>>>>>>
>>>>>>>>> the only thing I knew existed. Could you please elaborate what
>>>>>>>>> makes
>>>>>>>>>
>>>>>>>>>> JavaFX8 a True 3D Low Level interface API ? Because from the
>>>>>>>>>>>
>>>>>>>>>>> presentation,
>>>>>>>>>>
>>>>>>>>>> you have to go through two layers before you have to get to the
>>>>>>>>>>>
>>>>>>>>>>> OpenGL
>>>>>>>>>>
>>>>>>>>> layer. Where as if I can use LWJGL, I can skip a level.
>>>>>>>
>>>>>>>> If I am misinformed on something, please, explain. Because I am new
>>>>>>>>>>>
>>>>>>>>>>> to
>>>>>>>>>>
>>>>>>>>> JavaFX.
>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>>>> Torak
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sun, Apr 6, 2014 at 10:24 AM, Hervé Girod <
>>>>>>>>>>>
>>>>>>>>>>>> herve.girod at gmail.com
>>>>>>>>>>>>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> With Java 8 (JavaFX 8), you now have true 3D Nodes, with
>>>>>>>>>>> camera,
>>>>>>>>>>>
>>>>>>>>>>>> texturing, etc... However it would still be very interesting to
>>>>>>>>>>>> be
>>>>>>>>>>>>
>>>>>>>>>>>> able
>>>>>>>>>>>
>>>>>>>>>> to
>>>>>>>>>
>>>>>>>>>> control the low-level rendering of JavaFX, such as using LWJGL for
>>>>>>>>>>> example.
>>>>>>>>>>> This would allow to render JavaFx content in an external OpenGL
>>>>>>>>>>> context
>>>>>>>>>>>
>>>>>>>>>> for
>>>>>>>>>
>>>>>>>>>> example.
>>>>>>>>>>>
>>>>>>>>>>>> Hervé
>>>>>>>>>>>>
>>>>>>>>>>>> Sent from my iPad
>>>>>>>>>>>>
>>>>>>>>>>>> On 6 avr. 2014, at 14:42, Exo Verse <toraktu at gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello, I have been working with OpenGL and LWJGL for over 5
>>>>>>>>>>>>> years
>>>>>>>>>>>>>
>>>>>>>>>>>>> now.
>>>>>>>>>>>>
>>>>>>>>>>> I
>>>>>>>>>
>>>>>>>>>> want to switch over to using JavaFX 2, because of its GUI
>>>>>>>>>>> abilities
>>>>>>>>>>>
>>>>>>>>>>>> and
>>>>>>>>>>>>
>>>>>>>>>>> still use LWJGL with it. But I can't seem to find a way to do
>>>>>>>>>
>>>>>>>>>> this. I
>>>>>>>>>>>>
>>>>>>>>>>> saw a
>>>>>>>
>>>>>>>> 2 hour video that described the features of JavaFX 2 and it even
>>>>>>>>>>>>>
>>>>>>>>>>>>> shown
>>>>>>>>>>>>
>>>>>>>>>>> the
>>>>>>>>>
>>>>>>>>>> layout.. OpenGL was there at the bottom with D3D with Prism
>>>>>>>>>>>>> above
>>>>>>>>>>>>>
>>>>>>>>>>>>> both
>>>>>>>>>>>>
>>>>>>>>>>> of
>>>>>>>>>
>>>>>>>>>> them in the hierarchy. I have searched the web and I can't find
>>>>>>>>>>>>>
>>>>>>>>>>>>> prism,
>>>>>>>>>>>>
>>>>>>>>>>> I
>>>>>>>>>
>>>>>>>>>> can't find info on how to talk to opengl and I can't find any
>>>>>>>>>>>
>>>>>>>>>>>> tutorials
>>>>>>>>>>>>
>>>>>>>>>>> anywhere. So I am posting here to see what I can find. I do NOT
>>>>>>>>>
>>>>>>>>>> like
>>>>>>>>>>>>
>>>>>>>>>>> JOGL.
>>>>>>>
>>>>>>>> I prefer LWJGL. So far, the only thing related to 3D with regards
>>>>>>>>>>>>>
>>>>>>>>>>>>> to
>>>>>>>>>>>>
>>>>>>>>>>> JavaFX
>>>>>>>
>>>>>>>> is the very resource intensive Canvas3D, which I can't stand. Any
>>>>>>>>>>>>>
>>>>>>>>>>>>> ideas ?
>>>>>>>>>>>>
>>>>>>>>>>> Is it not implemented yet and its on its way ? I'm trying to find
>>>>>>>>>>>
>>>>>>>>>>>> any
>>>>>>>>>>>>
>>>>>>>>>>> info
>>>>>>>
>>>>>>>> I can about this. If there is nothing for LWJGL, then I can't use
>>>>>>>>>>>>>
>>>>>>>>>>>>> JavaFX.
>>>>>>>>>>>>
>>>>>>>>>>> Thanks.
>>>>>>>>>>>
>>>>>>>>>>>> Torak
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>
>
More information about the openjfx-dev
mailing list