Updated lwjgl3 module to use LWJGL 3.0.0b #35 which is the current stable build.
This commit is contained in:
		
							parent
							
								
									2a1addd2da
								
							
						
					
					
						commit
						5e8f5e6a1f
					
				| @ -144,8 +144,22 @@ public final class NativeLibraryLoader { | |||||||
|         registerNativeLibrary("lwjgl3", Platform.Linux64, "native/linux/liblwjgl.so"); |         registerNativeLibrary("lwjgl3", Platform.Linux64, "native/linux/liblwjgl.so"); | ||||||
|         registerNativeLibrary("lwjgl3", Platform.MacOSX32, "native/macosx/liblwjgl.dylib"); |         registerNativeLibrary("lwjgl3", Platform.MacOSX32, "native/macosx/liblwjgl.dylib"); | ||||||
|         registerNativeLibrary("lwjgl3", Platform.MacOSX64, "native/macosx/liblwjgl.dylib"); |         registerNativeLibrary("lwjgl3", Platform.MacOSX64, "native/macosx/liblwjgl.dylib"); | ||||||
|         //registerNativeLibrary("lwjgl3", Platform.Windows32, "native/windows/jemalloc32.dll");     // These are introduced in LWJGL 3.0.0b | 
 | ||||||
|         //registerNativeLibrary("lwjgl3", Platform.Windows64, "native/windows/jemalloc.dll");       // These are introduced in LWJGL 3.0.0b |         // GLFW for LWJGL 3.x | ||||||
|  |         registerNativeLibrary("glfw-lwjgl3", Platform.Windows32, "native/windows/glfw32.dll"); | ||||||
|  |         registerNativeLibrary("glfw-lwjgl3", Platform.Windows64, "native/windows/glfw.dll"); | ||||||
|  |         registerNativeLibrary("glfw-lwjgl3", Platform.Linux32, "native/linux/libglfw32.so"); | ||||||
|  |         registerNativeLibrary("glfw-lwjgl3", Platform.Linux64, "native/linux/libglfw.dll"); | ||||||
|  |         registerNativeLibrary("glfw-lwjgl3", Platform.MacOSX32, "native/macosx/libglfw.dylib"); | ||||||
|  |         registerNativeLibrary("glfw-lwjgl3", Platform.MacOSX64, "native/macosx/libglfw.dylib"); | ||||||
|  | 
 | ||||||
|  |         // jemalloc for LWJGL 3.x | ||||||
|  |         registerNativeLibrary("jemalloc-lwjgl3", Platform.Windows32, "native/windows/jemalloc32.dll"); | ||||||
|  |         registerNativeLibrary("jemalloc-lwjgl3", Platform.Windows64, "native/windows/jemalloc.dll"); | ||||||
|  |         registerNativeLibrary("jemalloc-lwjgl3", Platform.Linux32, "native/linux/libjemalloc32.so"); | ||||||
|  |         registerNativeLibrary("jemalloc-lwjgl3", Platform.Linux64, "native/linux/libjemalloc.so"); | ||||||
|  |         registerNativeLibrary("jemalloc-lwjgl3", Platform.MacOSX32, "native/macosx/libjemalloc.dylib"); | ||||||
|  |         registerNativeLibrary("jemalloc-lwjgl3", Platform.MacOSX64, "native/macosx/libjemalloc.dylib"); | ||||||
| 
 | 
 | ||||||
|         // OpenAL for LWJGL 3.x |         // OpenAL for LWJGL 3.x | ||||||
|         // For OSX: Need to add lib prefix when extracting |         // For OSX: Need to add lib prefix when extracting | ||||||
| @ -475,7 +489,7 @@ public final class NativeLibraryLoader { | |||||||
|         if (url == null) { |         if (url == null) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|          | 
 | ||||||
|         String loadedAsFileName; |         String loadedAsFileName; | ||||||
|         if (library.getExtractedAsName() != null) { |         if (library.getExtractedAsName() != null) { | ||||||
|             loadedAsFileName = library.getExtractedAsName(); |             loadedAsFileName = library.getExtractedAsName(); | ||||||
| @ -522,7 +536,7 @@ public final class NativeLibraryLoader { | |||||||
|             throw new UnsupportedOperationException("JVM is running under " |             throw new UnsupportedOperationException("JVM is running under " | ||||||
|                     + "reduced permissions. Cannot load native libraries."); |                     + "reduced permissions. Cannot load native libraries."); | ||||||
|         } |         } | ||||||
|          | 
 | ||||||
|         Platform platform = JmeSystem.getPlatform(); |         Platform platform = JmeSystem.getPlatform(); | ||||||
|         NativeLibrary library = nativeLibraryMap.get(new NativeLibrary.Key(name, platform)); |         NativeLibrary library = nativeLibraryMap.get(new NativeLibrary.Key(name, platform)); | ||||||
|          |          | ||||||
| @ -540,27 +554,28 @@ public final class NativeLibraryLoader { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|          |          | ||||||
|         String pathInJar = library.getPathInNativesJar(); |         final String pathInJar = library.getPathInNativesJar(); | ||||||
|          | 
 | ||||||
|         if (pathInJar == null) { |         if (pathInJar == null) { | ||||||
|             // This platform does not require the native library to be loaded. |             // This platform does not require the native library to be loaded. | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|          |          | ||||||
|         String fileNameInJar; |         final String fileNameInJar; | ||||||
|  | 
 | ||||||
|         if (pathInJar.contains("/")) { |         if (pathInJar.contains("/")) { | ||||||
|             fileNameInJar = pathInJar.substring(pathInJar.lastIndexOf("/") + 1); |             fileNameInJar = pathInJar.substring(pathInJar.lastIndexOf("/") + 1); | ||||||
|         } else { |         } else { | ||||||
|             fileNameInJar = pathInJar; |             fileNameInJar = pathInJar; | ||||||
|         } |         } | ||||||
|          | 
 | ||||||
|         URL url = Thread.currentThread().getContextClassLoader().getResource(pathInJar); |         URL url = Thread.currentThread().getContextClassLoader().getResource(pathInJar); | ||||||
|          |          | ||||||
|         if (url == null) { |         if (url == null) { | ||||||
|             // Try the root of the classpath as well. |             // Try the root of the classpath as well. | ||||||
|             url = Thread.currentThread().getContextClassLoader().getResource(fileNameInJar); |             url = Thread.currentThread().getContextClassLoader().getResource(fileNameInJar); | ||||||
|         } |         } | ||||||
|          | 
 | ||||||
|         if (url == null) { |         if (url == null) { | ||||||
|             // Attempt to load it as a system library. |             // Attempt to load it as a system library. | ||||||
|             String unmappedName = unmapLibraryName(fileNameInJar); |             String unmappedName = unmapLibraryName(fileNameInJar); | ||||||
|  | |||||||
| @ -11,8 +11,5 @@ repositories { | |||||||
| dependencies { | dependencies { | ||||||
|     compile project(':jme3-core') |     compile project(':jme3-core') | ||||||
|     compile project(':jme3-desktop') |     compile project(':jme3-desktop') | ||||||
|     compile 'org.lwjgl:lwjgl:3.0.0a' |     compile files('lib/lwjgl-3.0.0b-35.jar', 'lib/lwjgl-3.0.0b-35-natives.jar') | ||||||
|     compile group: 'org.lwjgl', name: 'lwjgl-platform', version: '3.0.0a', classifier: 'natives-windows' |  | ||||||
|     compile group: 'org.lwjgl', name: 'lwjgl-platform', version: '3.0.0a', classifier: 'natives-linux' |  | ||||||
|     compile group: 'org.lwjgl', name: 'lwjgl-platform', version: '3.0.0a', classifier: 'natives-osx' |  | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								jme3-lwjgl3/lib/lwjgl-3.0.0b-35-natives.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jme3-lwjgl3/lib/lwjgl-3.0.0b-35-natives.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								jme3-lwjgl3/lib/lwjgl-3.0.0b-35.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jme3-lwjgl3/lib/lwjgl-3.0.0b-35.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -34,6 +34,7 @@ package com.jme3.audio.lwjgl; | |||||||
| import com.jme3.audio.openal.ALC; | import com.jme3.audio.openal.ALC; | ||||||
| import org.lwjgl.openal.ALC10; | import org.lwjgl.openal.ALC10; | ||||||
| import org.lwjgl.openal.ALContext; | import org.lwjgl.openal.ALContext; | ||||||
|  | import org.lwjgl.openal.ALDevice; | ||||||
| 
 | 
 | ||||||
| import java.nio.IntBuffer; | import java.nio.IntBuffer; | ||||||
| 
 | 
 | ||||||
| @ -42,16 +43,22 @@ import static org.lwjgl.openal.ALC10.alcGetCurrentContext; | |||||||
| 
 | 
 | ||||||
| public class LwjglALC implements ALC { | public class LwjglALC implements ALC { | ||||||
| 
 | 
 | ||||||
|  |     private ALDevice device; | ||||||
|     private ALContext context; |     private ALContext context; | ||||||
| 
 | 
 | ||||||
|     public void createALC() { |     public void createALC() { | ||||||
|         context = ALContext.create(); |         device = ALDevice.create(); | ||||||
|  |         context = ALContext.create(device); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void destroyALC() { |     public void destroyALC() { | ||||||
|         if (context != null) { |         if (context != null) { | ||||||
|             context.destroy(); |             context.destroy(); | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         if (device != null) { | ||||||
|  |             device.destroy(); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public boolean isCreated() { |     public boolean isCreated() { | ||||||
|  | |||||||
| @ -42,11 +42,13 @@ import com.jme3.renderer.lwjgl.LwjglGLExt; | |||||||
| import com.jme3.renderer.lwjgl.LwjglGLFboEXT; | import com.jme3.renderer.lwjgl.LwjglGLFboEXT; | ||||||
| import com.jme3.renderer.lwjgl.LwjglGLFboGL3; | import com.jme3.renderer.lwjgl.LwjglGLFboGL3; | ||||||
| import com.jme3.renderer.opengl.*; | import com.jme3.renderer.opengl.*; | ||||||
| import com.jme3.renderer.opengl.GL; |  | ||||||
| import com.jme3.system.*; | import com.jme3.system.*; | ||||||
| import org.lwjgl.Sys; | import org.lwjgl.Sys; | ||||||
| import org.lwjgl.glfw.GLFW; | import org.lwjgl.glfw.GLFW; | ||||||
| import org.lwjgl.opengl.*; | import org.lwjgl.opengl.ARBDebugOutput; | ||||||
|  | import org.lwjgl.opengl.ARBFramebufferObject; | ||||||
|  | import org.lwjgl.opengl.EXTFramebufferMultisample; | ||||||
|  | import org.lwjgl.opengl.GLCapabilities; | ||||||
| 
 | 
 | ||||||
| import java.util.concurrent.atomic.AtomicBoolean; | import java.util.concurrent.atomic.AtomicBoolean; | ||||||
| import java.util.logging.Level; | import java.util.logging.Level; | ||||||
| @ -111,6 +113,8 @@ public abstract class LwjglContext implements JmeContext { | |||||||
|             NativeLibraryLoader.loadNativeLibrary("bulletjme", true); |             NativeLibraryLoader.loadNativeLibrary("bulletjme", true); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         NativeLibraryLoader.loadNativeLibrary("glfw-lwjgl3", true); | ||||||
|  |         NativeLibraryLoader.loadNativeLibrary("jemalloc-lwjgl3", true); | ||||||
|         NativeLibraryLoader.loadNativeLibrary("lwjgl3", true); |         NativeLibraryLoader.loadNativeLibrary("lwjgl3", true); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -132,8 +136,7 @@ public abstract class LwjglContext implements JmeContext { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     protected void initContextFirstTime() { |     protected void initContextFirstTime() { | ||||||
|         GLContext.createFromCurrent(); |         final GLCapabilities capabilities = createCapabilities(settings.getRenderer().equals(AppSettings.LWJGL_OPENGL3)); | ||||||
|         final ContextCapabilities capabilities = createCapabilities(settings.getRenderer().equals(AppSettings.LWJGL_OPENGL3)); |  | ||||||
| 
 | 
 | ||||||
|         if (!capabilities.OpenGL20) { |         if (!capabilities.OpenGL20) { | ||||||
|             throw new RendererException("OpenGL 2.0 or higher is required for jMonkeyEngine"); |             throw new RendererException("OpenGL 2.0 or higher is required for jMonkeyEngine"); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user