@gouessej , and others who can help
I give a try to jogl backend. In my deferred renderer I use shader in GLSL 1.5. But on mac os x (macbook pro) to be able to use OpenGL 3+ we have to force “3.2 core” profile (without compatibility, see OpenGL 3.2 on Mac OS X trouble. jme 3.1 from github).
With LWJGL I used the following line :
settings.setRenderer(AppSettings.LWJGL_OPENGL3)
How to do this with JOGL ?
with
settings.setRenderer("JOGL")
settings.setAudioRenderer("JOAL")
I got the following error (the mac stay on OpenGL 2.1 and doesn’t swith to the OpenGL 4.1 card) :
Oct 30, 2015 9:01:29 AM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.1-5289
* Branch: master
* Git Hash: b34649d
* Build Date: 2015-10-27
Oct 30, 2015 9:01:30 AM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFO: OpenGL Renderer Information
* Vendor: NVIDIA Corporation
* Renderer: NVIDIA GeForce GT 750M OpenGL Engine
* OpenGL Version: 2.1 NVIDIA-10.6.47 310.42.05f01
* GLSL Version: 1.20
* Profile: Compatibility
Oct 30, 2015 9:01:30 AM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFO: OpenGL Renderer Information
* Vendor: NVIDIA Corporation
* Renderer: NVIDIA GeForce GT 750M OpenGL Engine
* OpenGL Version: 2.1 NVIDIA-10.6.47 310.42.05f01
* GLSL Version: 1.20
* Profile: Compatibility
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.MeshLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.SkeletonLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.MaterialLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.SceneLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.fbx.SceneLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.fbx.SceneWithAnimationLoader
Oct 30, 2015 9:01:30 AM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.audio.plugins.OGGLoader
2015-10-30 09:01:30.796 java[14489:231710] 09:01:30.796 WARNING: 140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Oct 30, 2015 9:01:30 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio Renderer Information
* Device: OpenAL Soft
* Vendor: OpenAL Community
* Renderer: OpenAL Soft
* Version: 1.1 ALSOFT 1.15.1
* Supported channels: 64
* ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_loopback
* AL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points AL_SOFT_source_latency
Oct 30, 2015 9:01:30 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
WARNING: Pausing audio device not supported.
Oct 30, 2015 9:01:30 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio effect extension version: 1.0
Oct 30, 2015 9:01:30 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio max auxiliary sends: 4
spotOuterAngle : 0.7853982
Exception in thread "main-AWTAnimator#00" com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: com.jogamp.opengl.GLException: Caught OnErrorNotImplementedException: The explicitly chosen technique 'normals' on material 'debug_gbuffer'
requires caps [GLSL150] which are not supported by the video renderer on thread main-AWTAnimator#00
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:84)
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:451)
at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:198)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.jogamp.opengl.GLException: Caught OnErrorNotImplementedException: The explicitly chosen technique 'normals' on material 'debug_gbuffer'
requires caps [GLSL150] which are not supported by the video renderer on thread main-AWTAnimator#00
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1311)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1131)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:680)
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:77)
... 3 more
Caused by: rx.exceptions.OnErrorNotImplementedException: The explicitly chosen technique 'normals' on material 'debug_gbuffer'
requires caps [GLSL150] which are not supported by the video renderer
at rx.Observable$32.onError(Observable.java:7322)
at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:154)
at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:111)
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:137)
at rx.internal.operators.NotificationLite.accept(NotificationLite.java:150)
at rx.subjects.SubjectSubscriptionManager$SubjectObserver.emitNext(SubjectSubscriptionManager.java:254)
at rx.subjects.BehaviorSubject.onNext(BehaviorSubject.java:159)
at jme3_ext_deferred.SceneProcessor4Deferred.reshape(SceneProcessor4Deferred.java:94)
at jme3_ext_deferred.SceneProcessor4Deferred.initialize(SceneProcessor4Deferred.java:78)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:999)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1078)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:260)
at com.jme3.system.jogl.JoglNewtDisplay.display(JoglNewtDisplay.java:243)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:691)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:673)
at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:442)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1277)
... 6 more
Caused by: java.lang.UnsupportedOperationException: The explicitly chosen technique 'normals' on material 'debug_gbuffer'
requires caps [GLSL150] which are not supported by the video renderer
at com.jme3.material.Material.selectTechnique(Material.java:1013)
at jme3_ext_deferred.AppState4ViewDeferredTexture.getDebugMaterial(AppState4ViewDeferredTexture.java:84)
at jme3_ext_deferred.AppState4ViewDeferredTexture$2.call(AppState4ViewDeferredTexture.java:130)
at jme3_ext_deferred.AppState4ViewDeferredTexture$2.call(AppState4ViewDeferredTexture.java:1)
at rx.Observable$32.onNext(Observable.java:7327)
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:130)
... 19 more
AL lib: (EE) alc_cleanup: 1 device not closed
Thanks.