LWJGL_OPENGL3 problem

Hi,

I found a problem using renderer LWJGL_OPENGL3. It simply does not work in window mode.
When I use canvas mode on my own JFrame everything looks ok.

So, my hardware and drivers supports OpenGL 3.X
I wonder where is the problem…Any suggestion?

It simply does not work in window mode.

So, using OPENGL2 is the only option? Will it affect in any way the final graphics experience? I mean if there should be differences between quality of rendered scene in window mode in GL2 and the same scene rendered on canvas with GL3?

@FrozenShade said: So, using OPENGL2 is the only option? Will it affect in any way the final graphics experience? I mean if there should be differences between quality of rendered scene in window mode in GL2 and the same scene rendered on canvas with GL3?

You misunderstood his response.

You said “does not work”.

He would like to know which of the millions of definitions of “does not work” you might mean. Personally, whenever someone forgets to actually tell us, I always mentally insert “computer melted into a pile of slag” because the internet becomes a much more interesting place.

“it simply does not work” means that I have a black, empty screen without even fps and scene stats.
No lights, no models, no things placed n GUI node. Nothing.

EDIT: no exceptions, no warnings, no suspected logs in console.

@FrozenShade said: "it simply does not work" means that I have a black, empty screen without even fps and scene stats. No lights, no models, no things placed n GUI node. Nothing.

EDIT: no exceptions, no warnings, no suspected logs in console.

Well, now at least we’ve narrowed it down from one of the million different “doesn’t work”. :slight_smile:

Yeah, sorry for using my humor out on the internet :slight_smile: But this image is kinda what first comes to mind when something undefined is stated. (Probably watched to much Doctor Who lately ^^)

Hm how about the usual suspects?
Graficdriver version? Grafic Card vendor (AMD,Nvidia,Intel?)

As this certainly sounds like a driver bug to me.

Card: Nvidia GF 9600GT, driver version 320.xx (2013 year). Afaik OpenGL3.2 is supported from version 191.xx.

Ok, I need to admit that I don’t understand few things… Maybe I’m missing some basic knowledge? Since I’m working as programmer for years (boring business apps), I know very little about 3D graphics. Tbh its my first experience…

Using LWJGL_OPENGL2 inside logs I found:
INFO: OpenGL Version: 3.3.0
INFO: GLSL Ver: 3.30 NVIDIA via Cg compiler

Using LWJGL_OPENGL3:
INFO: OpenGL Version: 3.2.0
INFO: GLSL Ver: 1.50 NVIDIA via Cg compiler

Can you please explain it in simple worlds or at least give me some useful link. Ofc I’m reading JME’s wiki but I found almost nothing about those renderer settings.

Hm Forward Compatible profile is probably the most keyword here. JME should per default use a opengl2 based forward compatible profile.

http://www.opengl.org/wiki/Core_And_Compatibility_in_Contexts

So, using LWJGL_OPENGL2 should I have 3.X+ just when it’s possible? And in practice, with this setting should I <span style=“text-decoration:underline;”>always</span> have things rendered by 3.3 or higher because of modern and fast graphics cards in every computer?

I’m a bit confused. And my confusion rises even more with this:

Ultimately, you should never use the forward compatibility bit. It had a use for GL 3.0, but once 3.1 removed most of the stuff, it stopped having a use.

If you use material specify the exactl glsl version you reqire with them (see the wiki or foum I dont know syntax out of mind)

That way it will either fail or work (mostly)
Then maybe add a fallback for lower tech systems. (Eg leave out special stuff and just render the diffuse or similar)

Since I’m now using standard material definitions (GLSL100 and GLSL120 everywhere) is there a need to worry about that? That 100 means 1.0.0?
And using LWJGL_OPENGL2 should be even better, because it gives me access to higher version of GLSL? I’m curious how it works on different machines…

What do you think, as experienced guy, which are the most ‘safe’ settings for now and future use? Let us assume that the game will require a modern computer (“want to play? upgrade your wooden pc”).

I would stick with the OPENGL2 setting, as you should be able to do all 3 stuff anyway.

1 Like

Thank you for help and for your time :wink: