Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 21 additions & 7 deletions jme3-core/src/main/java/com/jme3/system/AppSettings.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,23 @@ public final class AppSettings extends HashMap<String, Object> {
*/
public static final String LWJGL_OPENGL2 = "LWJGL-OpenGL2";

/**
* Use LWJGL as the display system and force using the core OpenGL3.2 renderer.
* <p>
* If the underlying system does not support OpenGL3.2, then the context
* initialization will throw an exception. Note that currently jMonkeyEngine
* does not have any shaders that support OpenGL3.2 therefore this
* option is not useful.
* <p>
* Note: OpenGL 3.2 is used to give 3.x support to Mac users.
*
* @deprecated Previously meant 3.2, use LWJGL_OPENGL32 or LWJGL_OPENGL30
* @see AppSettings#setRenderer(java.lang.String)
*/
@Deprecated
public static final String LWJGL_OPENGL3 = "LWJGL-OpenGL3";


/**
* Use LWJGL as the display system and force using the core OpenGL3.0 renderer.
* <p>
Expand All @@ -84,20 +101,17 @@ public final class AppSettings extends HashMap<String, Object> {
public static final String LWJGL_OPENGL30 = "LWJGL-OpenGL30";

/**
* Use LWJGL as the display system and force using the core OpenGL3.2 renderer.
* Use LWJGL as the display system and force using the core OpenGL3.1 renderer.
* <p>
* If the underlying system does not support OpenGL3.2, then the context
* If the underlying system does not support OpenGL3.1, then the context
* initialization will throw an exception. Note that currently jMonkeyEngine
* does not have any shaders that support OpenGL3.2 therefore this
* does not have any shaders that support OpenGL3.0 therefore this
* option is not useful.
* <p>
* Note: OpenGL 3.2 is used to give 3.x support to Mac users.
*
* @deprecated Previously meant 3.2, use LWJGL_OPENGL32 or LWJGL_OPENGL30
* @see AppSettings#setRenderer(java.lang.String)
*/
@Deprecated
public static final String LWJGL_OPENGL3 = "LWJGL-OpenGL3";
public static final String LWJGL_OPENGL31 = "LWJGL-OpenGL31";

/**
* Use LWJGL as the display system and force using the core OpenGL3.2 renderer.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,10 @@ protected int[] getGLVersion(String renderer) {
maj = 3;
min = 0;
break;
case AppSettings.LWJGL_OPENGL31:
maj = 3;
min = 1;
break;
case AppSettings.LWJGL_OPENGL32:
maj = 3;
min = 2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ public abstract class LwjglContext implements JmeContext {
private static final Set<String> SUPPORTED_RENDERS = new HashSet<>(Arrays.asList(
AppSettings.LWJGL_OPENGL2,
AppSettings.LWJGL_OPENGL30,
AppSettings.LWJGL_OPENGL31,
AppSettings.LWJGL_OPENGL32,
AppSettings.LWJGL_OPENGL33,
AppSettings.LWJGL_OPENGL40,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable {
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
});
RENDER_CONFIGS.put(AppSettings.LWJGL_OPENGL31, () -> {
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
});
RENDER_CONFIGS.put(AppSettings.LWJGL_OPENGL32, () -> {
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
Expand Down