3.1-beta1 BloomFilter error

七月 19, 2016 12:14:25 下午 java.util.prefs.WindowsPreferences
警告: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(…) returned error code 5.
七月 19, 2016 12:14:29 下午 com.jme3.system.JmeDesktopSystem initialize
信息: Running on jMonkeyEngine 3.1-beta1

  • Branch: HEAD
  • Git Hash: 310f4db
  • Build Date: 2016-04-25
    七月 19, 2016 12:14:30 下午 com.jme3.system.lwjgl.LwjglContext getNumSamplesToUse
    警告: Couldn’t satisfy antialiasing samples requirement: x16. Video hardware only supports: x8
    七月 19, 2016 12:14:30 下午 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
    信息: LWJGL 2.9.3 context running on thread jME3 Main
  • Graphics Adapter: igdumd64
  • Driver Version: 9.17.10.2932
  • Scaling Factor: 1
    七月 19, 2016 12:14:30 下午 com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
    信息: OpenGL Renderer Information
  • Vendor: Intel
  • Renderer: Intel® HD Graphics
  • OpenGL Version: 3.2.0 - Build 9.17.10.2932
  • GLSL Version: 1.50 - Build 9.17.10.2932
  • Profile: Core
    七月 19, 2016 12:14:31 下午 com.jme3.audio.openal.ALAudioRenderer initOpenAL
    信息: 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
    七月 19, 2016 12:14:31 下午 com.jme3.audio.openal.ALAudioRenderer initOpenAL
    警告: Pausing audio device not supported.
    七月 19, 2016 12:14:31 下午 com.jme3.audio.openal.ALAudioRenderer initOpenAL
    信息: Audio effect extension version: 1.0
    七月 19, 2016 12:14:31 下午 com.jme3.audio.openal.ALAudioRenderer initOpenAL
    信息: Audio max auxiliary sends: 4
    七月 19, 2016 12:14:37 下午 com.jme3.renderer.opengl.GLRenderer updateShaderSourceData
    警告: Bad compile of:
    1 #version 150 core
    2 #define FRAGMENT_SHADER 1
    3 #define HAS_GLOWMAP 1
    4 // – begin import Common/ShaderLib/MultiSample.glsllib –
    5 #extension GL_ARB_texture_multisample : enable
    6
    7 uniform int m_NumSamples;
    8 uniform int m_NumSamplesDepth;
    9
    10 #ifdef RESOLVE_MS
    11 #define COLORTEXTURE sampler2DMS
    12 #else
    13 #define COLORTEXTURE sampler2D
    14 #endif
    15
    16 #ifdef RESOLVE_DEPTH_MS
    17 #define DEPTHTEXTURE sampler2DMS
    18 #else
    19 #define DEPTHTEXTURE sampler2D
    20 #endif
    21
    22 #if VERSION >= 150
    23 #define TEXTURE texture
    24 #else
    25 #define TEXTURE texture2D
    26 #endif
    27
    28 // NOTE: Only define multisample functions if multisample is available
    29 #if defined(GL_ARB_texture_multisample)
    30 vec4 textureFetch(in sampler2DMS tex,in vec2 texC, in int numSamples){
    31 ivec2 iTexC = ivec2(texC * vec2(textureSize(tex)));
    32 vec4 color = vec4(0.0);
    33 for (int i = 0; i < numSamples; i++){
    34 color += texelFetch(tex, iTexC, i);
    35 }
    36 return color / float(numSamples);
    37 }
    38
    39 vec4 fetchTextureSample(in sampler2DMS tex,in vec2 texC,in int sample){
    40 ivec2 iTexC = ivec2(texC * vec2(textureSize(tex)));
    41 return texelFetch(tex, iTexC, sample);
    42 }
    43
    44 vec4 getColor(in sampler2DMS tex, in vec2 texC){
    45 return textureFetch(tex, texC, m_NumSamples);
    46 }
    47
    48 vec4 getColorSingle(in sampler2DMS tex, in vec2 texC){
    49 ivec2 iTexC = ivec2(texC * vec2(textureSize(tex)));
    50 return texelFetch(tex, iTexC, 0);
    51 }
    52
    53 vec4 getDepth(in sampler2DMS tex,in vec2 texC){
    54 return textureFetch(tex,texC,m_NumSamplesDepth);
    55 }
    56
    57 #endif
    58
    59 vec4 fetchTextureSample(in sampler2D tex,in vec2 texC,in int sample){
    60 return TEXTURE(tex,texC);
    61 }
    62
    63 vec4 getColor(in sampler2D tex, in vec2 texC){
    64 return TEXTURE(tex,texC);
    65 }
    66
    67 vec4 getColorSingle(in sampler2D tex, in vec2 texC){
    68 return TEXTURE(tex, texC);
    69 }
    70
    71 vec4 getDepth(in sampler2D tex,in vec2 texC){
    72 return TEXTURE(tex,texC);
    73 }
    74
    75 // – end import Common/ShaderLib/MultiSample.glsllib –
    76
    77 uniform COLORTEXTURE m_Texture;
    78
    79 uniform float m_ExposurePow;
    80 uniform float m_ExposureCutoff;
    81
    82 in vec2 texCoord;
    83 out vec4 outFragColor;
    84
    85 #ifdef HAS_GLOWMAP
    86 uniform sampler2D m_GlowMap;
    87 #endif
    88
    89 void main(){
    90 vec4 color = vec4(0.0);
    91 #ifdef DO_EXTRACT
    92 color = getColorSingle(m_Texture, texCoord);
    93 if ( (color.r + color.g + color.b) / 3.0 >= m_ExposureCutoff ) {
    94 color = pow(color, vec4(m_ExposurePow));
    95 }else{
    96 color = vec4(0.0);
    97 }
    98 #endif
    99
    100 #ifdef HAS_GLOWMAP
    101 vec4 glowColor = texture2D( m_GlowMap, texCoord );
    102 glowColor = pow(glowColor, vec4(m_ExposurePow));
    103 color += glowColor;
    104 #endif
    105
    106 outFragColor = color;
    107 }

七月 19, 2016 12:14:37 下午 com.jme3.app.LegacyApplication handleError
严重: Uncaught exception thrown in Thread[jME3 Main,5,main]
com.jme3.renderer.RendererException: compile error in: ShaderSource[name=Common/MatDefs/Post/bloomExtract15.frag, defines, type=Fragment, language=GLSL150]
WARNING: 0:? : ‘’ : Version number deprecated in OGL 3.0 forward compatible context driver
ERROR: 0:101: ‘texture2D’ : function is removed in Forward Compatibile context
ERROR: 0:101: ‘texture2D’ : no matching overloaded function found (using implicit conversion)
ERROR: 0:101: ‘=’ : cannot convert from ‘const float’ to ‘4-component vector of float’

at com.jme3.renderer.opengl.GLRenderer.updateShaderSourceData(GLRenderer.java:1200)
at com.jme3.renderer.opengl.GLRenderer.updateShaderData(GLRenderer.java:1227)
at com.jme3.renderer.opengl.GLRenderer.setShader(GLRenderer.java:1291)
at com.jme3.material.logic.DefaultTechniqueDefLogic.render(DefaultTechniqueDefLogic.java:94)
at com.jme3.material.Technique.render(Technique.java:167)
at com.jme3.material.Material.render(Material.java:966)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:616)
at com.jme3.post.FilterPostProcessor.renderProcessing(FilterPostProcessor.java:218)
at com.jme3.post.FilterPostProcessor.renderFilterChain(FilterPostProcessor.java:269)
at com.jme3.post.FilterPostProcessor.postFrame(FilterPostProcessor.java:320)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1102)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1145)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:253)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:193)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:232)
at java.lang.Thread.run(Thread.java:745)

The issue is that the shader is for GLSL150 but texture2D is deprecated in such version and some drivers complain about it.

This should solve:

2 Likes

That’s a pretty chaotic report,isn’t it? :smile:

merged on both master and 3.1
Thanks @RiccardoBlb :wink:

1 Like

Thank you for your attention!