Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (775)
Games in Android Showcase (230)
games submitted by our members
Games in WIP (856)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Is LWJGL 3 stable enough for use?  (Read 9653 times)
0 Members and 1 Guest are viewing this topic.
Offline tinfoilboy
« Posted 2015-01-06 03:41:53 »

Seeing as how the download page on the LWJGL website shows LWJGL 3 downloads. I'm wondering if I should use LWJGL 3 yet, or stick with 2 for the time being?

Offline KudoDEV

JGO Ninja


Medals: 79
Exp: 6 years


Game Dev Hobbyist


« Reply #1 - Posted 2015-01-06 04:03:23 »

I've been using LWJGL 3 for the past month. Working great for me.

Offline matanui159

JGO Coder


Medals: 11
Projects: 1
Exp: 10-12 months


Aww... So cute...


« Reply #2 - Posted 2015-01-06 04:04:49 »

Same, I've been using it for the redo of my game engine

Is it sad that I still get a fright when the computer beeps at me...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kpars
« Reply #3 - Posted 2015-01-06 04:09:40 »

If you go with LWJGL 2.x, expect to find a lot more resources on using it. If you ever run into a problem, you'll probably have better luck with finding solutions for them online.

I don't plan on moving to LWJGL 3 for a long time since I don't think it would speed up development for me.
If you think it'll help you, then go right ahead.

As for stability, there have been a number of reports of it being buggy across different platforms. However, I'm not really in the right position to make a final judgement since I haven't used it that much yet.

Cheers.

- Jev
Offline tinfoilboy
« Reply #4 - Posted 2015-01-06 04:14:29 »

If you go with LWJGL 2.x, expect to find a lot more resources on using it. If you ever run into a problem, you'll probably have better luck with finding solutions for them online.

I don't plan on moving to LWJGL 3 for a long time since I don't think it would speed up development for me.
If you think it'll help you, then go right ahead.

As for stability, there have been a number of reports of it being buggy across different platforms. However, I'm not really in the right position to make a judgement since I haven't used it that much yet.

Cheers.

- Jev

I've seen that the API from LWJGL 3 is VASTLY different from 2, which is ironic because I just got used to the LWJGL 2 API, I'm just wondering if using LWJGL 3 would have any benefits at all, because if not, i don't see the need  to use it.

Offline kpars
« Reply #5 - Posted 2015-01-06 04:17:14 »

I know.
Just because it's different doesn't mean it's better. Wink

The reality is that you'll be perfectly fine if you continue to work with LWJGL 2... nobody is going to care in the end.
Don't waste your time throwing away everything you learned about LWJGL 2 just so you can learn 3. Your players aren't going to care about what framework you use. Tongue

- Jev
Offline KudoDEV

JGO Ninja


Medals: 79
Exp: 6 years


Game Dev Hobbyist


« Reply #6 - Posted 2015-01-06 04:21:11 »

I know.
Just because it's different doesn't mean it's better. Wink

The reality is that you'll be perfectly fine if you continue to work with LWJGL 2... nobody is going to care in the end.
Don't waste your time throwing away everything you learned about LWJGL 2 just so you can learn 3. Your players aren't going to care about what framework you use. Tongue

- Jev

While this is true, development of 2 will be discontinued unless someone picks it up. Right?

Offline tinfoilboy
« Reply #7 - Posted 2015-01-06 04:25:53 »

While this is true, development of 2 will be discontinued unless someone picks it up. Right?

In the long run, it would be smarter to learn 2, seeing as how when an official release of 3 is out, 2 will be ousted. So it would be smarter to learn it, but also they did say something about bringing in the legacy api to 3?        

Offline BurntPizza

« JGO Bitwise Duke »


Medals: 486
Exp: 7 years



« Reply #8 - Posted 2015-01-06 04:27:40 »

While this is true, development of 2 will be discontinued unless someone picks it up. Right?

You missed the sticky!
http://www.java-gaming.org/topics/lwjgl-2-9-2/35234/msg/333224/view.html#msg333224

Quote
LWJGL 2.9.2 has been released today. [...]
This will most likely be the last LWJGL 2 release.
Offline Phased
« Reply #9 - Posted 2015-01-06 04:31:55 »

I did a direct copy and paste of a game pretty much from LWJGL 2 to LWJGL 3.

the only error I had (that I remember) from the copy and paste was my Shader loading class, which was horrible in a way, so I changed it.

for changing the display to GLFW, well I pretty much just followed the LWJGL 3 GUIDE, when I did it there was one mistake in it, but I managed to work that out by just checking out the LWJGL3 wiki.

I think if you have a little bit of experience in LWJGL or just OpenGL in general, it should not be really much of a difference.

SHC has also been writing LWJGL3 tutorials on his website, so you could follow his tutorials to learn how set up GLFW.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline tinfoilboy
« Reply #10 - Posted 2015-01-06 04:34:15 »

I did a direct copy and paste of a game pretty much from LWJGL 2 to LWJGL 3.

the only error I had (that I remember) from the copy and paste was my Shader loading class, which was horrible in a way, so I changed it.

for changing the display to GLFW, well I pretty much just followed the LWJGL 3 GUIDE, when I did it there was one mistake in it, but I managed to work that out by just checking out the LWJGL3 wiki.

I think if you have a little bit of experience in LWJGL or just OpenGL in general, it should not be really much of a difference.

SHC has also been writing LWJGL3 tutorials on his website, so you could follow his tutorials to learn how set up GLFW.

But that brings up 2 questions,

1. Would switching to LWJGL 3 with the new API's be better in the long run?
2. Is LWJGL 3 even stable enough for use?

Offline Phased
« Reply #11 - Posted 2015-01-06 04:37:15 »

Better in the long run?

Yes, LWJGL 3 has a bigger plan then just target desktop. And is going to be adding other stuff such Occulus rift support. Also, LWJGL 2 is no longer being maintained, so any bugs will most likely stay in it for ever, while bugs will be fixed in LWJGL 3.

Stable enough, I think it should be, if it was not stable enough, I do not think they would of started to release builds for use.
Offline KudoDEV

JGO Ninja


Medals: 79
Exp: 6 years


Game Dev Hobbyist


« Reply #12 - Posted 2015-01-06 04:42:02 »


Nah I didn't miss it. I know its over. But Spasi said:
Quote
If anyone is interested in taking over maintenance of the project, send me a PM

Offline KaiHH

JGO Kernel


Medals: 636



« Reply #13 - Posted 2015-01-06 09:57:26 »

Quote
Stable enough...

Everyone is encouraged to use LWJGL 3. Being a community project, which not many developers currently rely/build on, it is vital for the project to be used more widespread. LWJGL 3 does not mature/get stable on its on.
It relies on the community to use it and (honestly) find, report (and possibly fix) bugs.

The current stability only results from early developers already using it and parts of it (namely GLFW) and detecting bugs in them.

For me, one of the very great things about the LWJGL's authors is that they are really eager to take care of any issues found within it.
They simply do not have the time to thoroughy test LWJGL, so they are more than happy to hear about any issues you report and are very eager to fix them!

Regards,
Kai
Offline Spasi
« Reply #14 - Posted 2015-01-06 12:47:40 »

You can think of LWJGL 2 as two parts; the bindings to native libraries and the cross-platform window/context/input/controller API.

The bindings in LWJGL 2 are a very thin layer on top of the native libraries they expose. The bindings in LWJGL 3 are just as thin (thinner actually) and are very compatible with LWJGL 2. They are not 100% compatible because of some bug fixes here and there and the OpenCL bindings redesign. They are much nicer though; you get unsafe bindings (direct access to the JNI functions), more convenient overloads and, best of all, inline documentation.

The rest of LWJGL 2 is (relatively) a lot of code, written in both Java and C/ObjC. It is what it is, does the job for which is was designed well, but has the known problems and limitations. LWJGL 3 on the other hand, does not have anything like that. There are some classes, like the GLContext and the ContextCapabilities, but that's it. There is nothing there to be stable or not. Everything related to windows, monitors, contexts, keyboard, mouse and controllers is being done with GLFW. Which is yet another library binding in LWJGL 3. So, the real question is if GLFW is mature enough. Well, it's a library almost as old as the original LWJGL, but has been rewritten in version 3.0, just like LWJGL. We're currently close to the 3.1 release and I'll quote its developer:

Quote
GLFW 3.1 has closed more issues than every previous release combined since GLFW moved to its current home on GitHub. Two issues remaining.

Other than, I'll just say you're going to have to try it and judge for yourselves. Disclaimer: GLFW does everything (much) better than LWJGL 2. There is only one feature missing and that's setting window icons programmatically. It will be added in GLFW 3.2.

With that said, I'll repeat here that LWJGL 3.0 has not been released yet. There's not even an official "alpha" build available. There are many users trying the nightly builds though and many platform/environment-specific issues have been resolved. I'm pretty confident that the first official release (scheduled for when GLFW 3.1 is out) will be stable enough for everyone to enjoy. Of course, it would be irresponsible to say right now that you should start porting your applications to LWJGL 3. The bindings are incomplete (e.g. many OpenGL extensions and OpenGL ES are missing, OpenAL needs work) and we'd like to be open to feedback for the rest of the API right until the final 3.0 release (the API will freeze then). The non-binding API is so small though, that any breaking changes will have minimal impact to early-adopters.

My unofficial/personal/humble opinion is: If you don't need AWT/applet interop, there is no reason whatsoever to stick with LWJGL 2. Smiley
Offline basil_

« JGO Bitwise Duke »


Medals: 418
Exp: 13 years



« Reply #15 - Posted 2015-01-06 13:01:36 »

thanks for the heads up.

only reason why i did not dig into 3.0 yet is the missing swing-interop. opengl is not only used for games, so it is a bit of show-stopper in certain projects.

once you "release" 3.0 i'd dig into swing/awt interop and see if it's possible to mimic 2.x behaviour without too much hassle. i did not catch the full info on the LWJGLX features but afaik swing is not planned, right ?
Offline MrPizzaCake

Senior Devvie


Medals: 8
Exp: 3 years


Hello, another wonderful human being :)


« Reply #16 - Posted 2015-01-06 13:17:39 »

thanks for the heads up.

only reason why i did not dig into 3.0 yet is the missing swing-interop. opengl is not only used for games, so it is a bit of show-stopper in certain projects.

once you "release" 3.0 i'd dig into swing/awt interop and see if it's possible to mimic 2.x behaviour without too much hassle. i did not catch the full info on the LWJGLX features but afaik swing is not planned, right ?

Well, the Swing/AWT/JavaFX/(insert other Java window managing systems that I don't know of) isn't necessary, you can still use GLFW for other things than games. Yes, you do have to write or find a GUI system, but it's not that hard. GLFW is kinda like Swing/AWT without Component classes combined with OpenGL. Well, not really, but it's pretty similar to OpenGL.

How am I? Tough question, since emotions are confusing as heck Tongue
Offline SHC
« Reply #17 - Posted 2015-01-06 13:35:02 »

I have been using LWJGL3 since a month, and I haven't stumbled upon a single bug, it is really really stable. As of now, AWT will only work with LWJGL (yes, but only a certain part of it) in headless mode. You have to add this to your class to get access to Fonts, ImageIO and BufferedImage classes.

1  
2  
3  
4  
static
{
    System.setProperty("java.awt.headless", "true");
}

The reason for this behaviour is that both GLFW and AWT needs to start on the first thread to gain access to windowing stuff on OS X. Also, you need to run your application with
-XstartOnFirstThread
JVM option if you want it to run on Mac OS X.

Other than those, it is pretty stable. The best proof on the stability is my SilenceEngine, it runs on LWJGL3. In my opinion, you should really consider moving to LWJGL3 if you haven't still. And, coming to GUIs, I think you have to implement it on your own for now.

Offline Spasi
« Reply #18 - Posted 2015-01-06 13:38:14 »

i did not catch the full info on the LWJGLX features but afaik swing is not planned, right ?

Correct, it is not planned for 3.0. If there's enough free time after 3.0, I'm still interested in exploring interop solutions, especially for JavaFX. Obviously, I'll be glad to help if you need assistance.

Note that LWJGL 3 exposes all platform-specific context management functions and you can even call anything missing using libFFI. There will also soon be bindings to the Objective C Runtime (for interacting with Cocoa).
Offline boxsmith
« Reply #19 - Posted 2015-01-06 19:26:53 »

I'm still interested in exploring interop solutions, especially for JavaFX.

Incidentally, has there been any movement on that front since your lwjgl/jfx integration demo? Or are you going to wait and see what happens with the interop feature request?
Offline Spasi
« Reply #20 - Posted 2015-01-06 21:26:23 »

Incidentally, has there been any movement on that front since your lwjgl/jfx integration demo? Or are you going to wait and see what happens with the interop feature request?

I think that request will be very low priority for the JavaFX team. Also, it's only about embedding OpenGL into JavaFX; though technically possible, it will be limited to non-gaming applications imho. The other way around, rendering JavaFX content inside a native window, is much more interesting (to me at least) and should be easier to implement.

I haven't had any more time to work on the LWJGL integration demo. But I'm hoping that there's somehow a way to get inside the JavaFX runtime, such that GPU-to-GPU copies are made possible. It will probably end up being very hacky and platform-specific, but if we could build a decent demo, the JavaFX engineers might get interested.
Offline boxsmith
« Reply #21 - Posted 2015-01-06 22:13:41 »

Also, it's only about embedding OpenGL into JavaFX; though technically possible, it will be limited to non-gaming applications imho.

Non-gaming is, in a sense, what I'm after: JavaFX has served my toolset very well so far.

I think that request will be very low priority for the JavaFX team. Also, it's only about embedding OpenGL into JavaFX; though technically possible, it will be limited to non-gaming applications imho. The other way around, rendering JavaFX content inside a native window, is much more interesting (to me at least) and should be easier to implement.

Considering the sort of stuff you see done with scaleform, for instance, I would argue that JavaFX is a pretty bad fit for game GUIs. But this isn't the thread for that discussion. Smiley

Thanks for the reply, Spasi.
Pages: [1]
  ignore  |  Print  
 
 

 
EgonOlsen (1869 views)
2018-06-10 19:43:48

EgonOlsen (1901 views)
2018-06-10 19:43:44

EgonOlsen (1258 views)
2018-06-10 19:43:20

DesertCoockie (1703 views)
2018-05-13 18:23:11

nelsongames (1389 views)
2018-04-24 18:15:36

nelsongames (2003 views)
2018-04-24 18:14:32

ivj94 (2753 views)
2018-03-24 14:47:39

ivj94 (1955 views)
2018-03-24 14:46:31

ivj94 (3045 views)
2018-03-24 14:43:53

Solater (1090 views)
2018-03-17 05:04:08
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!