LWJGL 3; how's it getting along?

How would it deal with the windowing?

Stays the same for me after upgrading. Looks like the font “Fira Sans” is broken on my system. Weird.

Browsers, eh? “Write once, debug everywhere. Then watch in dismay as the browser vendors gradually break everything again slowly over a period of time.”

Cas :slight_smile:

Webfonts are usually a bad idea. You’ll get all kinds of funny errors and fuzzy font rendering especially on older systems. Here at work (still on Windows XP…), the font is readable but looks very fuzzy and ugly in both, Chrome and Firefox. IE 8 (the “best” IE you can get for Windows XP) renders just an exploded mess.

Site looks neat! Web font doesn’t work in FF 33.0.1. http://i.imgur.com/Pe6iKpq.png

We’ve disabled Fira Sans on Windows XP, should fallback to Arial now ( or Helvetica if available ).

We also load webfonts asynchronously now and made sure the entire site renders well with JavaScript disabled.

Site speed remains around the same as the old LWJGL site, despite the use of HTML5 video and more heavy JS/CSS.

Forum speed has improved dramatically, from ~5-10 sec depending on the day, it has dropped to ~1.1 sec.

Checked again with shift+F5, same issue.

What OS are you on?

Do you have Fira Sans installed locally?

Do you have the same problem here? http://www.google.com/fonts/specimen/Fira+Sans#charset

Have you tried upgrading to 33.1?

Windows 7 64-bit. No, I don’t have the Fire Sans font installed. I’m missing glyphs at that link:

Haven’t tried upgrading yet, but IMO fonts are pretty important for a site to be usable, you don’t want it not working for some users. FWIW, we got web fonts working here, see twitter icon in upper right, world icon in bottom left.


$mightBeIE = !$chrome && strpos($ua, 'MSIE') !== false; // Could be Opera.
if ($mightBeIE) {
	?><style>@font-face{ font-family:icons;src:url(/html/fonts/icons/icons0.eot);src:local('☺︎'),url(/html/fonts/icons/icons0.eot?#iefix)format('embedded-opentype'),url(/html/fonts/icons/icons0.woff)format('woff'),url(/html/fonts/icons/icons0.ttf)format('truetype'),url(/html/fonts/icons/icons0.svg#icons)format('svg')}</style><?
} else {
	?><style>@font-face{font-family:icons;src:local('☺︎'),url(/html/fonts/icons/icons0.woff)format('woff'),url(/html/fonts/icons/icons0.ttf)format('truetype'),url(/html/fonts/icons/icons0.svg?#icons)format('svg')}</style><?
}

I’d like to mention that the site is intentionally light on content, for a few reasons:

  • We wanted something simple and professional looking, a simple introduction to the library. All the important stuff for developers are links to off-site content (Github repo + wiki, downloads, forum, blog, javadoc). The site will be mostly static, which means less work for maintainers.
  • There is nothing special about LWJGL (by design!). If you want to learn how to use OpenGL with LWJGL, you just need to learn OpenGL. Simple as that. It is outside the scope of LWJGL to teach you OpenGL or GLFW or any other API. There are tons of resources available on the internet (some of which we link to).
  • There is some technical information (e.g. implications of using GLFW on OS X) that deserves special mention and visibility on the site. But since details have not been finalized yet, they will be added at a later time.

[quote=“gouessej,post:19,topic:51150”]
Again, this is outside the scope of LWJGL. Novice programmers are welcome to try LWJGL, but if a programmer needs help setting up the classpath in their IDE, they probably shouldn’t be using LWJGL directly in the first place. libGDX/jMonkeyEngine/etc are better places to start with.

[quote=“gouessej,post:19,topic:51150”]
It so happens that no Java 7 APIs are used in the core library, only in tests and the bindings generator. I guess this proves the point that we don’t really need 7 for anything, dropping the languages features is only a minor inconvenience. I’m now considering lowering the minimum required Java version to 6.

[quote=“princec,post:23,topic:51150”]
We get the same deal with GPU drivers, mobile apps, SQL code, etc. We still live in the stone age of software development. :slight_smile:

It seems DirectWrite related. Disabling custom fonts on Windows 7 and lower on all browsers.

I had problems with the font too. (Arch Linux 64-bit, Firefox 33.1)

Except instead of just some characters disappearing, all the characters were gone.

I fixed it by installing Fira-Sans locally on my machine.

Hi, Fantastic new release. Thanks for all of Spasi’s and the LWJGL team’s hard work.
The new window system is great.

By the way I was trying Riven’s excellent tutorial on drawing geometry here (http://www.java-gaming.org/index.php?topic=24272.0) and it all works in LWJGL 3.0 without a hitch except for one line:

ByteBuffer dataBuffer = GL11.glMapBufferARB(GL_ARRAY_BUFFER_ARB, ARBBufferObject.GL_WRITE_ONLY_ARB, (9 + 9) << 2, null);

Which just required ARBBufferObject.GL_WRITE_ONLY_ARB to be replaced with ARBVertexBufferObject.GL_WRITE_ONLY_ARB .

Cheers,
Keith

Now ofcourse somebody in the upper echelon has to decide whether my tutorial should be changed, or LWJGL needs a thorough redesign… :-*

I always just import them as static * these days.

Cas :slight_smile:

[quote=“CommanderKeith,post:33,topic:51150”]
This is one of the few breaking changes/fixes in the LWJGL 3 bindings. ARBBufferObject, ARBProgram and NVProgram were all removed. The problem was that they were not “discoverable” (i.e. there is no ARB_buffer_object extension in OpenGL).

I also assumed everyone would be using the OpenGL 1.5 buffer object API by now (it was released in late 2003) and I don’t know anyone using the other two.

A sensible tweak, IMHO.

Cas :slight_smile:

Considering that 90%+ of OpenGL drivers out there have a version of OpenGL 2.0+ or greater, best thing would be to just update those two bits of the tutorial to use the following two calls instead.

GL15.GL_ARRAY_BUFFER
GL15.GL_WRITE_ONLY

and replacing other corresponding methods by removing the ARB bit and adding GL15 before them.

Plus IMO there is not much point in learning OpenGL using such old OpenGL calls or on a system that doesn’t support at least a basic requirement of OpenGL2+.

More like 99%, but yeah.

Think I’ve found a bug on OS X. The library is spitting an [icode]UnsatisfiedLinkError[/icode] until I explicitly call [icode]Sys.getNativeLibrary()[/icode] method. The natives aren’t loaded until I call that method.