Recently I've been working on a rendering engine in LWJGL and I've come across numerous issues with versions. So I am after advice on what would be the correct versions to use with this new project.
Firstly, LWJGL 2 or LWJGL 3? Version 2 is still current but version 3 is a complete rewrite and is still missing some utility classes; such as GLU.gluPerspective(...);
After using LWJGL 2 for the compatibility, I have then come across more issues;
As I want to stick with modern OpenGL, I am using VBOs to render my faces. However when using GLSL to do some basic lighting, I have had to use GLSL 140 to ensure compatibility with the functions like normalise()
and transform()
. Then i had to enable GL_ARB_compatibility
to let me access gl_Normal
, gl_Vertex
and gl_Color
, Like so:
#version 140
#extension GL_ARB_compatibility : require
Basically all I'm asking is for some current advice, all the tutorials on the internet are different and outdated.
So, to my questions:
1) What LWJGL version would you recommend? is 3 complete enough to use in production?
2) What GLSL version should I use?
3) What are the replacements for the data I am using the compatibility layer to access?
4) Are there any nice up to date resources or tutorials for Modern OpenGL?
Thanks in advance for clarifying this for me. It's a steep learning curve
EDIT: The reason I am asking this is because of some errors I am receiving the following error when trying to use the GL_ARB_compatibility
function on some computers other than mine.
**ERROR** "#extension" : "GL_ARB_compatibility" is not supported