ofLight/ofMaterial with ProgrammableRender (VisualStudio OF0.9.8)


#1

Hello to everyone,

I’m having a problem with OF (0.9.8) ofLight/ofMaterial and the programmable render.

Whenever I try to run an application/example using a programmable render the ofLights and the ofMaterials are not displayed properly (see the attached picture taken from 3DPrimitivesExample)

To enable the programmable render my main() function calls:
ofGLWindowSettings settings;
settings.setGLVersion(3, 2);
ofCreateWindow(settings);
return ofRunApp(new ofApp);

However, everythings work fine if I do not enable the programmable render by launching the application with:
ofSetupOpenGL(1024, 768, OF_WINDOW);
ofRunApp(new ofApp());

Is this a known bug/limitation? Does anyone have any idea on what could be the issue?

Thank you,
Andrea


#2

I did some additional investigation. It seems like the problem is related to my laptop graphic card (Intel HD Graphics 4400). I tried to run the same example on another machine (graphic card Intel HD Graphics 4000) and it works fine with the programmable render enabled.

I tried to run the glInfo example on both machines but I can not really tell what is missing on my laptop graphic card.


opengl info

version=4.3.0 - Build 20.19.15.4549
vendor=Intel
renderer=Intel® HD Graphics 4400

opengl limits

OpenGL limits:
GL_MAX_ATTRIB_STACK_DEPTH = 16
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 16
GL_MAX_CLIP_PLANES = 8
GL_MAX_COLOR_MATRIX_STACK_DEPTH = 2
GL_MAX_ELEMENTS_VERTICES = 1048576
GL_MAX_ELEMENTS_INDICES = 1048576
GL_MAX_EVAL_ORDER = 32
GL_MAX_LIGHTS = 8
GL_MAX_LIST_NESTING = 64
GL_MAX_MODELVIEW_STACK_DEPTH = 32
GL_MAX_NAME_STACK_DEPTH = 128
GL_MAX_PIXEL_MAP_TABLE = 65536
GL_MAX_PROJECTION_STACK_DEPTH = 4
GL_MAX_TEXTURE_STACK_DEPTH = 10
GL_MAX_TEXTURE_SIZE = 16384
GL_MAX_3D_TEXTURE_SIZE = 2048
GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 16384
GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 16384
GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 20
GL_MAX_TEXTURE_UNITS_ARB = 8
GL_MAX_TEXTURE_LOD_BIAS_EXT = 15
GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 16
GL_MAX_VIEWPORT_DIMS = 16384, 16384
GL_ALIASED_LINE_WIDTH_RANGE = 1, 7
GL_SMOOTH_LINE_WIDTH_RANGE = 0, 7
GL_ALIASED_POINT_SIZE_RANGE = 1, 255
GL_SMOOTH_POINT_SIZE_RANGE = 1, 20

shader limits

Shader limits:
GL_MAX_VERTEX_ATTRIBS = 16
GL_MAX_VERTEX_UNIFORM_COMPONENTS = 4096
GL_MAX_VARYING_FLOATS = 64
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 32
GL_MAX_TEXTURE_IMAGE_UNITS = 32

available extensions

GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_blend_color, 
GL_EXT_abgr, GL_EXT_texture3D, GL_EXT_clip_volume_hint, 
GL_EXT_compiled_vertex_array, GL_SGIS_texture_edge_clamp, 
GL_SGIS_generate_mipmap, GL_EXT_draw_range_elements, GL_SGIS_texture_lod, 
GL_EXT_rescale_normal, GL_EXT_packed_pixels, GL_EXT_texture_edge_clamp, 
GL_EXT_separate_specular_color, GL_ARB_multitexture, 
GL_ARB_map_buffer_alignment, GL_ARB_conservative_depth, 
GL_EXT_texture_env_combine, GL_EXT_bgra, GL_EXT_blend_func_separate, 
GL_EXT_secondary_color, GL_EXT_fog_coord, GL_EXT_texture_env_add, 
GL_ARB_texture_cube_map, GL_ARB_transpose_matrix, 
GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
GL_ARB_texture_env_add, GL_IBM_texture_mirrored_repeat, 
GL_ARB_texture_mirrored_repeat, GL_EXT_multi_draw_arrays, 
GL_SUN_multi_draw_arrays, GL_NV_blend_square, GL_ARB_texture_compression, 
GL_3DFX_texture_compression_FXT1, GL_EXT_texture_filter_anisotropic, 
GL_ARB_texture_border_clamp, GL_ARB_point_parameters, 
GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, 
GL_ARB_texture_env_crossbar, GL_EXT_texture_compression_s3tc, 
GL_ARB_shadow, GL_ARB_window_pos, GL_EXT_shadow_funcs, 
GL_EXT_stencil_wrap, GL_ARB_vertex_program, GL_EXT_texture_rectangle, 
GL_ARB_fragment_program, GL_EXT_stencil_two_side, GL_ATI_separate_stencil, 
GL_ARB_vertex_buffer_object, GL_EXT_texture_lod_bias, 
GL_ARB_occlusion_query, GL_ARB_fragment_shader, GL_ARB_shader_objects, 
GL_ARB_shading_language_100, GL_ARB_texture_non_power_of_two, 
GL_ARB_vertex_shader, GL_NV_texgen_reflection, GL_ARB_point_sprite, 
GL_ARB_fragment_program_shadow, GL_EXT_blend_equation_separate, 
GL_ARB_depth_texture, GL_ARB_texture_rectangle, GL_ARB_draw_buffers, 
GL_ARB_color_buffer_float, GL_ARB_half_float_pixel, GL_ARB_texture_float, 
GL_ARB_pixel_buffer_object, GL_ARB_texture_barrier, 
GL_EXT_framebuffer_object, GL_ARB_draw_instanced, 
GL_ARB_half_float_vertex, GL_ARB_occlusion_query2, GL_EXT_draw_buffers2, 
GL_WIN_swap_hint, GL_EXT_texture_sRGB, GL_ARB_multisample, 
GL_EXT_packed_float, GL_EXT_texture_shared_exponent, GL_ARB_texture_rg, 
GL_ARB_texture_compression_rgtc, GL_NV_conditional_render, 
GL_ARB_texture_swizzle, GL_EXT_texture_swizzle, GL_ARB_texture_gather, 
GL_ARB_sync, GL_ARB_cl_event, GL_ARB_framebuffer_sRGB, 
GL_EXT_packed_depth_stencil, GL_ARB_depth_buffer_float, 
GL_EXT_transform_feedback, GL_ARB_transform_feedback2, 
GL_ARB_draw_indirect, GL_EXT_framebuffer_blit, 
GL_EXT_framebuffer_multisample, GL_ARB_framebuffer_object, 
GL_ARB_framebuffer_no_attachments, GL_EXT_texture_array, 
GL_EXT_texture_integer, GL_ARB_map_buffer_range, 
GL_ARB_texture_buffer_range, GL_EXT_texture_snorm, 
GL_ARB_blend_func_extended, GL_INTEL_performance_query, 
GL_ARB_copy_buffer, GL_ARB_sampler_objects, GL_NV_primitive_restart, 
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
GL_ARB_uniform_buffer_object, GL_ARB_depth_clamp, 
GL_ARB_vertex_array_bgra, GL_ARB_shader_bit_encoding, 
GL_ARB_draw_buffers_blend, GL_ARB_geometry_shader4, 
GL_EXT_geometry_shader4, GL_ARB_texture_query_lod, 
GL_ARB_explicit_attrib_location, GL_ARB_draw_elements_base_vertex, 
GL_EXT_shader_integer_mix, GL_ARB_instanced_arrays, GL_ARB_base_instance, 
GL_ARB_fragment_coord_conventions, GL_EXT_gpu_program_parameters, 
GL_ARB_texture_buffer_object_rgb32, GL_ARB_compatibility, 
GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_multisample, 
GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_vertex_type_10f_11f_11f_rev, 
GL_ARB_timer_query, GL_EXT_timer_query, GL_ARB_tessellation_shader, 
GL_ARB_vertex_array_object, GL_ARB_provoking_vertex, 
GL_ARB_sample_shading, GL_ARB_texture_cube_map_array, GL_EXT_gpu_shader4, 
GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, 
GL_INTEL_fragment_shader_ordering, GL_ARB_fragment_shader_interlock, 
GL_ARB_clip_control, GL_ARB_shader_subroutine, GL_ARB_transform_feedback3, 
GL_ARB_get_program_binary, GL_ARB_separate_shader_objects, 
GL_ARB_shader_precision, GL_ARB_vertex_attrib_64bit, 
GL_ARB_viewport_array, GL_ARB_transform_feedback_instanced, 
GL_ARB_compressed_texture_pixel_storage, GL_ARB_shader_atomic_counters, 
GL_ARB_shading_language_packing, GL_ARB_shader_image_load_store, 
GL_ARB_shading_language_420pack, GL_ARB_texture_storage, 
GL_EXT_texture_storage, GL_ARB_compute_shader, 
GL_ARB_vertex_attrib_binding, GL_ARB_texture_view, 
GL_ARB_fragment_layer_viewport, GL_ARB_multi_draw_indirect, 
GL_ARB_program_interface_query, GL_ARB_shader_image_size, 
GL_ARB_shader_storage_buffer_object, GL_ARB_texture_storage_multisample, 
GL_ARB_buffer_storage, GL_AMD_vertex_shader_layer, 
GL_AMD_vertex_shader_viewport_index, GL_ARB_query_buffer_object, 
GL_EXT_polygon_offset_clamp, GL_ARB_clear_texture, 
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_debug_output, 
GL_ARB_enhanced_layouts, GL_KHR_debug, GL_ARB_arrays_of_arrays, 
GL_ARB_texture_query_levels, GL_ARB_invalidate_subdata, 
GL_ARB_clear_buffer_object, GL_INTEL_map_texture, 
GL_ARB_texture_compression_bptc, GL_ARB_ES2_compatibility, 
GL_ARB_ES3_compatibility, GL_ARB_robustness, 
GL_ARB_robust_buffer_access_behavior, GL_EXT_texture_sRGB_decode, 
GL_ARB_copy_image, GL_KHR_blend_equation_advanced, 
GL_EXT_direct_state_access, GL_ARB_stencil_texturing, 
GL_ARB_texture_stencil8, GL_ARB_explicit_uniform_location, 
GL_ARB_multi_bind, GL_ARB_indirect_parameters

opengl calls available

GL_VERSION_1_1: OK

GL_VERSION_1_2: OK

glCopyTexSubImage3D: OK
glDrawRangeElements: OK
glTexImage3D: OK
glTexSubImage3D: OK

GL_VERSION_1_2_1: OK

GL_VERSION_1_3: OK

glActiveTexture: OK
glClientActiveTexture: OK
glCompressedTexImage1D: OK
glCompressedTexImage2D: OK
glCompressedTexImage3D: OK
glCompressedTexSubImage1D: OK
glCompressedTexSubImage2D: OK
glCompressedTexSubImage3D: OK
glGetCompressedTexImage: OK
glLoadTransposeMatrixd: OK
glLoadTransposeMatrixf: OK
glMultTransposeMatrixd: OK
glMultTransposeMatrixf: OK
glMultiTexCoord1d: OK
glMultiTexCoord1dv: OK
glMultiTexCoord1f: OK
glMultiTexCoord1fv: OK
glMultiTexCoord1i: OK
glMultiTexCoord1iv: OK
glMultiTexCoord1s: OK
glMultiTexCoord1sv: OK
glMultiTexCoord2d: OK
glMultiTexCoord2dv: OK
glMultiTexCoord2f: OK
glMultiTexCoord2fv: OK
glMultiTexCoord2i: OK
glMultiTexCoord2iv: OK
glMultiTexCoord2s: OK
glMultiTexCoord2sv: OK
glMultiTexCoord3d: OK
glMultiTexCoord3dv: OK
glMultiTexCoord3f: OK
glMultiTexCoord3fv: OK
glMultiTexCoord3i: OK
glMultiTexCoord3iv: OK
glMultiTexCoord3s: OK
glMultiTexCoord3sv: OK
glMultiTexCoord4d: OK
glMultiTexCoord4dv: OK
glMultiTexCoord4f: OK
glMultiTexCoord4fv: OK
glMultiTexCoord4i: OK
glMultiTexCoord4iv: OK
glMultiTexCoord4s: OK
glMultiTexCoord4sv: OK
glSampleCoverage: OK

GL_VERSION_1_4: OK

glBlendColor: OK
glBlendEquation: OK
glBlendFuncSeparate: OK
glFogCoordPointer: OK
glFogCoordd: OK
glFogCoorddv: OK
glFogCoordf: OK
glFogCoordfv: OK
glMultiDrawArrays: OK
glMultiDrawElements: OK
glPointParameterf: OK
glPointParameterfv: OK
glPointParameteri: OK
glPointParameteriv: OK
glSecondaryColor3b: OK
glSecondaryColor3bv: OK
glSecondaryColor3d: OK
glSecondaryColor3dv: OK
glSecondaryColor3f: OK
glSecondaryColor3fv: OK
glSecondaryColor3i: OK
glSecondaryColor3iv: OK
glSecondaryColor3s: OK
glSecondaryColor3sv: OK
glSecondaryColor3ub: OK
glSecondaryColor3ubv: OK
glSecondaryColor3ui: OK
glSecondaryColor3uiv: OK
glSecondaryColor3us: OK
glSecondaryColor3usv: OK
glSecondaryColorPointer: OK
glWindowPos2d: OK
glWindowPos2dv: OK
glWindowPos2f: OK
glWindowPos2fv: OK
glWindowPos2i: OK
glWindowPos2iv: OK
glWindowPos2s: OK
glWindowPos2sv: OK
glWindowPos3d: OK
glWindowPos3dv: OK
glWindowPos3f: OK
glWindowPos3fv: OK
glWindowPos3i: OK
glWindowPos3iv: OK
glWindowPos3s: OK
glWindowPos3sv: OK

GL_VERSION_1_5: OK

glBeginQuery: OK
glBindBuffer: OK
glBufferData: OK
glBufferSubData: OK
glDeleteBuffers: OK
glDeleteQueries: OK
glEndQuery: OK
glGenBuffers: OK
glGenQueries: OK
glGetBufferParameteriv: OK
glGetBufferPointerv: OK
glGetBufferSubData: OK
glGetQueryObjectiv: OK
glGetQueryObjectuiv: OK
glGetQueryiv: OK
glIsBuffer: OK
glIsQuery: OK
glMapBuffer: OK
glUnmapBuffer: OK

GL_VERSION_2_0: OK

glAttachShader: OK
glBindAttribLocation: OK
glBlendEquationSeparate: OK
glCompileShader: OK
glCreateProgram: OK
glCreateShader: OK
glDeleteProgram: OK
glDeleteShader: OK
glDetachShader: OK
glDisableVertexAttribArray: OK
glDrawBuffers: OK
glEnableVertexAttribArray: OK
glGetActiveAttrib: OK
glGetActiveUniform: OK
glGetAttachedShaders: OK
glGetAttribLocation: OK
glGetProgramInfoLog: OK
glGetProgramiv: OK
glGetShaderInfoLog: OK
glGetShaderSource: OK
glGetShaderiv: OK
glGetUniformLocation: OK
glGetUniformfv: OK
glGetUniformiv: OK
glGetVertexAttribPointerv: OK
glGetVertexAttribdv: OK
glGetVertexAttribfv: OK
glGetVertexAttribiv: OK
glIsProgram: OK
glIsShader: OK
glLinkProgram: OK
glShaderSource: OK
glStencilFuncSeparate: OK
glStencilMaskSeparate: OK
glStencilOpSeparate: OK
glUniform1f: OK
glUniform1fv: OK
glUniform1i: OK
glUniform1iv: OK
glUniform2f: OK
glUniform2fv: OK
glUniform2i: OK
glUniform2iv: OK
glUniform3f: OK
glUniform3fv: OK
glUniform3i: OK
glUniform3iv: OK
glUniform4f: OK
glUniform4fv: OK
glUniform4i: OK
glUniform4iv: OK
glUniformMatrix2fv: OK
glUniformMatrix3fv: OK
glUniformMatrix4fv: OK
glUseProgram: OK
glValidateProgram: OK
glVertexAttrib1d: OK
glVertexAttrib1dv: OK
glVertexAttrib1f: OK
glVertexAttrib1fv: OK
glVertexAttrib1s: OK
glVertexAttrib1sv: OK
glVertexAttrib2d: OK
glVertexAttrib2dv: OK
glVertexAttrib2f: OK
glVertexAttrib2fv: OK
glVertexAttrib2s: OK
glVertexAttrib2sv: OK
glVertexAttrib3d: OK
glVertexAttrib3dv: OK
glVertexAttrib3f: OK
glVertexAttrib3fv: OK
glVertexAttrib3s: OK
glVertexAttrib3sv: OK
glVertexAttrib4Nbv: OK
glVertexAttrib4Niv: OK
glVertexAttrib4Nsv: OK
glVertexAttrib4Nub: OK
glVertexAttrib4Nubv: OK
glVertexAttrib4Nuiv: OK
glVertexAttrib4Nusv: OK
glVertexAttrib4bv: OK
glVertexAttrib4d: OK
glVertexAttrib4dv: OK
glVertexAttrib4f: OK
glVertexAttrib4fv: OK
glVertexAttrib4iv: OK
glVertexAttrib4s: OK
glVertexAttrib4sv: OK
glVertexAttrib4ubv: OK
glVertexAttrib4uiv: OK
glVertexAttrib4usv: OK
glVertexAttribPointer: OK

GL_VERSION_2_1: OK

glUniformMatrix2x3fv: OK
glUniformMatrix2x4fv: OK
glUniformMatrix3x2fv: OK
glUniformMatrix3x4fv: OK
glUniformMatrix4x2fv: OK
glUniformMatrix4x3fv: OK

GL_VERSION_3_0: OK

glBeginConditionalRender: OK
glBeginTransformFeedback: OK
glBindFragDataLocation: OK
glClampColor: OK
glClearBufferfi: OK
glClearBufferfv: OK
glClearBufferiv: OK
glClearBufferuiv: OK
glColorMaski: OK
glDisablei: OK
glEnablei: OK
glEndConditionalRender: OK
glEndTransformFeedback: OK
glGetBooleani_v: OK
glGetFragDataLocation: OK
glGetStringi: OK
glGetTexParameterIiv: OK
glGetTexParameterIuiv: OK
glGetTransformFeedbackVarying: OK
glGetUniformuiv: OK
glGetVertexAttribIiv: OK
glGetVertexAttribIuiv: OK
glIsEnabledi: OK
glTexParameterIiv: OK
glTexParameterIuiv: OK
glTransformFeedbackVaryings: OK
glUniform1ui: OK
glUniform1uiv: OK
glUniform2ui: OK
glUniform2uiv: OK
glUniform3ui: OK
glUniform3uiv: OK
glUniform4ui: OK
glUniform4uiv: OK
glVertexAttribI1i: OK
glVertexAttribI1iv: OK
glVertexAttribI1ui: OK
glVertexAttribI1uiv: OK
glVertexAttribI2i: OK
glVertexAttribI2iv: OK
glVertexAttribI2ui: OK
glVertexAttribI2uiv: OK
glVertexAttribI3i: OK
glVertexAttribI3iv: OK
glVertexAttribI3ui: OK
glVertexAttribI3uiv: OK
glVertexAttribI4bv: OK
glVertexAttribI4i: OK
glVertexAttribI4iv: OK
glVertexAttribI4sv: OK
glVertexAttribI4ubv: OK
glVertexAttribI4ui: OK
glVertexAttribI4uiv: OK
glVertexAttribI4usv: OK
glVertexAttribIPointer: OK

GL_VERSION_3_1: OK

glDrawArraysInstanced: OK
glDrawElementsInstanced: OK
glPrimitiveRestartIndex: OK
glTexBuffer: OK

GL_VERSION_3_2: OK

glFramebufferTexture: OK
glGetBufferParameteri64v: OK
glGetInteger64i_v: OK

GL_VERSION_3_3: OK

glVertexAttribDivisor: OK

GL_VERSION_4_0: OK

glBlendEquationSeparatei: OK
glBlendEquationi: OK
glBlendFuncSeparatei: OK
glBlendFunci: OK
glMinSampleShading: OK

GL_VERSION_4_1: OK

GL_VERSION_4_2: OK


#3

opengl info

version=4.0.0 - Build 10.18.10.4061
vendor=Intel
renderer=Intel® HD Graphics 4000

opengl limits

OpenGL limits:
GL_MAX_ATTRIB_STACK_DEPTH = 16
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 16
GL_MAX_CLIP_PLANES = 8
GL_MAX_COLOR_MATRIX_STACK_DEPTH = 2
GL_MAX_ELEMENTS_VERTICES = 1048576
GL_MAX_ELEMENTS_INDICES = 1048576
GL_MAX_EVAL_ORDER = 32
GL_MAX_LIGHTS = 8
GL_MAX_LIST_NESTING = 64
GL_MAX_MODELVIEW_STACK_DEPTH = 32
GL_MAX_NAME_STACK_DEPTH = 128
GL_MAX_PIXEL_MAP_TABLE = 65536
GL_MAX_PROJECTION_STACK_DEPTH = 4
GL_MAX_TEXTURE_STACK_DEPTH = 10
GL_MAX_TEXTURE_SIZE = 16384
GL_MAX_3D_TEXTURE_SIZE = 2048
GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 16384
GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 16384
GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 20
GL_MAX_TEXTURE_UNITS_ARB = 8
GL_MAX_TEXTURE_LOD_BIAS_EXT = 15
GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 16
GL_MAX_VIEWPORT_DIMS = 16384, 16384
GL_ALIASED_LINE_WIDTH_RANGE = 1, 7
GL_SMOOTH_LINE_WIDTH_RANGE = 0, 7
GL_ALIASED_POINT_SIZE_RANGE = 1, 255
GL_SMOOTH_POINT_SIZE_RANGE = 1, 20

shader limits

Shader limits:
GL_MAX_VERTEX_ATTRIBS = 16
GL_MAX_VERTEX_UNIFORM_COMPONENTS = 4096
GL_MAX_VARYING_FLOATS = 64
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 16
GL_MAX_TEXTURE_IMAGE_UNITS = 16

available extensions

GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_blend_color, 
GL_EXT_abgr, GL_EXT_texture3D, GL_EXT_clip_volume_hint, 
GL_EXT_compiled_vertex_array, GL_SGIS_texture_edge_clamp, 
GL_SGIS_generate_mipmap, GL_EXT_draw_range_elements, GL_SGIS_texture_lod, 
GL_EXT_rescale_normal, GL_EXT_packed_pixels, GL_EXT_texture_edge_clamp, 
GL_EXT_separate_specular_color, GL_ARB_multitexture, 
GL_ARB_map_buffer_alignment, GL_ARB_conservative_depth, 
GL_EXT_texture_env_combine, GL_EXT_bgra, GL_EXT_blend_func_separate, 
GL_EXT_secondary_color, GL_EXT_fog_coord, GL_EXT_texture_env_add, 
GL_ARB_texture_cube_map, GL_ARB_transpose_matrix, 
GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
GL_ARB_texture_env_add, GL_IBM_texture_mirrored_repeat, 
GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_NV_blend_square, 
GL_ARB_texture_compression, GL_3DFX_texture_compression_FXT1, 
GL_EXT_texture_filter_anisotropic, GL_ARB_texture_border_clamp, 
GL_ARB_point_parameters, GL_ARB_texture_env_combine, 
GL_ARB_texture_env_dot3, GL_ARB_texture_env_crossbar, 
GL_EXT_texture_compression_s3tc, GL_ARB_shadow, GL_ARB_window_pos, 
GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, GL_ARB_vertex_program, 
GL_EXT_texture_rectangle, GL_ARB_fragment_program, 
GL_EXT_stencil_two_side, GL_ATI_separate_stencil, 
GL_ARB_vertex_buffer_object, GL_EXT_texture_lod_bias, 
GL_ARB_occlusion_query, GL_ARB_fragment_shader, GL_ARB_shader_objects, 
GL_ARB_shading_language_100, GL_ARB_texture_non_power_of_two, 
GL_ARB_vertex_shader, GL_NV_texgen_reflection, GL_ARB_point_sprite, 
GL_ARB_fragment_program_shadow, GL_EXT_blend_equation_separate, 
GL_ARB_depth_texture, GL_ARB_texture_rectangle, GL_ARB_draw_buffers, 
GL_ARB_color_buffer_float, GL_ARB_half_float_pixel, GL_ARB_texture_float, 
GL_ARB_pixel_buffer_object, GL_EXT_framebuffer_object, 
GL_ARB_draw_instanced, GL_ARB_half_float_vertex, GL_ARB_occlusion_query2, 
GL_EXT_draw_buffers2, GL_WIN_swap_hint, GL_EXT_texture_sRGB, 
GL_ARB_multisample, GL_EXT_packed_float, GL_EXT_texture_shared_exponent, 
GL_ARB_texture_rg, GL_ARB_texture_compression_rgtc, 
GL_NV_conditional_render, GL_ARB_texture_swizzle, GL_EXT_texture_swizzle, 
GL_ARB_texture_gather, GL_ARB_sync, GL_ARB_framebuffer_sRGB, 
GL_EXT_packed_depth_stencil, GL_ARB_depth_buffer_float, 
GL_EXT_transform_feedback, GL_ARB_transform_feedback2, 
GL_ARB_draw_indirect, GL_EXT_framebuffer_blit, 
GL_EXT_framebuffer_multisample, GL_ARB_framebuffer_object, 
GL_ARB_framebuffer_no_attachments, GL_EXT_texture_array, 
GL_EXT_texture_integer, GL_ARB_map_buffer_range, 
GL_ARB_texture_buffer_range, GL_EXT_texture_buffer, GL_EXT_texture_snorm, 
GL_ARB_blend_func_extended, GL_INTEL_performance_queries, 
GL_INTEL_performance_query, GL_ARB_copy_buffer, GL_ARB_sampler_objects, 
GL_NV_primitive_restart, GL_ARB_seamless_cube_map, 
GL_ARB_uniform_buffer_object, GL_ARB_depth_clamp, 
GL_ARB_vertex_array_bgra, GL_ARB_shader_bit_encoding, 
GL_ARB_draw_buffers_blend, GL_ARB_geometry_shader4, 
GL_EXT_geometry_shader4, GL_ARB_texture_query_lod, 
GL_ARB_explicit_attrib_location, GL_ARB_draw_elements_base_vertex, 
GL_ARB_instanced_arrays, GL_ARB_base_instance, 
GL_ARB_fragment_coord_conventions, GL_EXT_gpu_program_parameters, 
GL_ARB_texture_buffer_object_rgb32, GL_ARB_compatibility, 
GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_multisample, 
GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_timer_query, 
GL_ARB_tessellation_shader, GL_ARB_vertex_array_object, 
GL_ARB_provoking_vertex, GL_ARB_sample_shading, 
GL_ARB_texture_cube_map_array, GL_EXT_gpu_shader4, GL_ARB_gpu_shader5, 
GL_ARB_gpu_shader_fp64, GL_ARB_shader_subroutine, 
GL_ARB_transform_feedback3, GL_ARB_get_program_binary, 
GL_ARB_separate_shader_objects, GL_ARB_shader_precision, 
GL_ARB_vertex_attrib_64bit, GL_ARB_viewport_array, 
GL_ARB_transform_feedback_instanced, 
GL_ARB_compressed_texture_pixel_storage, GL_ARB_shader_atomic_counters, 
GL_ARB_shading_language_packing, GL_ARB_shading_language_420pack, 
GL_ARB_texture_storage, GL_EXT_texture_storage, 
GL_ARB_vertex_attrib_binding, GL_ARB_multi_draw_indirect, 
GL_ARB_program_interface_query, GL_ARB_texture_storage_multisample, 
GL_ARB_buffer_storage, GL_ARB_debug_output, GL_KHR_debug, 
GL_ARB_arrays_of_arrays, GL_INTEL_map_texture, 
GL_ARB_texture_compression_bptc, GL_ARB_ES2_compatibility, 
GL_ARB_ES3_compatibility, GL_ARB_robustness, GL_EXT_texture_sRGB_decode, 
GL_KHR_blend_equation_advanced, GL_EXT_shader_integer_mix, 
GL_ARB_stencil_texturing

opengl calls available

GL_VERSION_1_1: OK

GL_VERSION_1_2: OK

glCopyTexSubImage3D: OK
glDrawRangeElements: OK
glTexImage3D: OK
glTexSubImage3D: OK

GL_VERSION_1_2_1: OK

GL_VERSION_1_3: OK

glActiveTexture: OK
glClientActiveTexture: OK
glCompressedTexImage1D: OK
glCompressedTexImage2D: OK
glCompressedTexImage3D: OK
glCompressedTexSubImage1D: OK
glCompressedTexSubImage2D: OK
glCompressedTexSubImage3D: OK
glGetCompressedTexImage: OK
glLoadTransposeMatrixd: OK
glLoadTransposeMatrixf: OK
glMultTransposeMatrixd: OK
glMultTransposeMatrixf: OK
glMultiTexCoord1d: OK
glMultiTexCoord1dv: OK
glMultiTexCoord1f: OK
glMultiTexCoord1fv: OK
glMultiTexCoord1i: OK
glMultiTexCoord1iv: OK
glMultiTexCoord1s: OK
glMultiTexCoord1sv: OK
glMultiTexCoord2d: OK
glMultiTexCoord2dv: OK
glMultiTexCoord2f: OK
glMultiTexCoord2fv: OK
glMultiTexCoord2i: OK
glMultiTexCoord2iv: OK
glMultiTexCoord2s: OK
glMultiTexCoord2sv: OK
glMultiTexCoord3d: OK
glMultiTexCoord3dv: OK
glMultiTexCoord3f: OK
glMultiTexCoord3fv: OK
glMultiTexCoord3i: OK
glMultiTexCoord3iv: OK
glMultiTexCoord3s: OK
glMultiTexCoord3sv: OK
glMultiTexCoord4d: OK
glMultiTexCoord4dv: OK
glMultiTexCoord4f: OK
glMultiTexCoord4fv: OK
glMultiTexCoord4i: OK
glMultiTexCoord4iv: OK
glMultiTexCoord4s: OK
glMultiTexCoord4sv: OK
glSampleCoverage: OK

GL_VERSION_1_4: OK

glBlendColor: OK
glBlendEquation: OK
glBlendFuncSeparate: OK
glFogCoordPointer: OK
glFogCoordd: OK
glFogCoorddv: OK
glFogCoordf: OK
glFogCoordfv: OK
glMultiDrawArrays: OK
glMultiDrawElements: OK
glPointParameterf: OK
glPointParameterfv: OK
glPointParameteri: OK
glPointParameteriv: OK
glSecondaryColor3b: OK
glSecondaryColor3bv: OK
glSecondaryColor3d: OK
glSecondaryColor3dv: OK
glSecondaryColor3f: OK
glSecondaryColor3fv: OK
glSecondaryColor3i: OK
glSecondaryColor3iv: OK
glSecondaryColor3s: OK
glSecondaryColor3sv: OK
glSecondaryColor3ub: OK
glSecondaryColor3ubv: OK
glSecondaryColor3ui: OK
glSecondaryColor3uiv: OK
glSecondaryColor3us: OK
glSecondaryColor3usv: OK
glSecondaryColorPointer: OK
glWindowPos2d: OK
glWindowPos2dv: OK
glWindowPos2f: OK
glWindowPos2fv: OK
glWindowPos2i: OK
glWindowPos2iv: OK
glWindowPos2s: OK
glWindowPos2sv: OK
glWindowPos3d: OK
glWindowPos3dv: OK
glWindowPos3f: OK
glWindowPos3fv: OK
glWindowPos3i: OK
glWindowPos3iv: OK
glWindowPos3s: OK
glWindowPos3sv: OK

GL_VERSION_1_5: OK

glBeginQuery: OK
glBindBuffer: OK
glBufferData: OK
glBufferSubData: OK
glDeleteBuffers: OK
glDeleteQueries: OK
glEndQuery: OK
glGenBuffers: OK
glGenQueries: OK
glGetBufferParameteriv: OK
glGetBufferPointerv: OK
glGetBufferSubData: OK
glGetQueryObjectiv: OK
glGetQueryObjectuiv: OK
glGetQueryiv: OK
glIsBuffer: OK
glIsQuery: OK
glMapBuffer: OK
glUnmapBuffer: OK

GL_VERSION_2_0: OK

glAttachShader: OK
glBindAttribLocation: OK
glBlendEquationSeparate: OK
glCompileShader: OK
glCreateProgram: OK
glCreateShader: OK
glDeleteProgram: OK
glDeleteShader: OK
glDetachShader: OK
glDisableVertexAttribArray: OK
glDrawBuffers: OK
glEnableVertexAttribArray: OK
glGetActiveAttrib: OK
glGetActiveUniform: OK
glGetAttachedShaders: OK
glGetAttribLocation: OK
glGetProgramInfoLog: OK
glGetProgramiv: OK
glGetShaderInfoLog: OK
glGetShaderSource: OK
glGetShaderiv: OK
glGetUniformLocation: OK
glGetUniformfv: OK
glGetUniformiv: OK
glGetVertexAttribPointerv: OK
glGetVertexAttribdv: OK
glGetVertexAttribfv: OK
glGetVertexAttribiv: OK
glIsProgram: OK
glIsShader: OK
glLinkProgram: OK
glShaderSource: OK
glStencilFuncSeparate: OK
glStencilMaskSeparate: OK
glStencilOpSeparate: OK
glUniform1f: OK
glUniform1fv: OK
glUniform1i: OK
glUniform1iv: OK
glUniform2f: OK
glUniform2fv: OK
glUniform2i: OK
glUniform2iv: OK
glUniform3f: OK
glUniform3fv: OK
glUniform3i: OK
glUniform3iv: OK
glUniform4f: OK
glUniform4fv: OK
glUniform4i: OK
glUniform4iv: OK
glUniformMatrix2fv: OK
glUniformMatrix3fv: OK
glUniformMatrix4fv: OK
glUseProgram: OK
glValidateProgram: OK
glVertexAttrib1d: OK
glVertexAttrib1dv: OK
glVertexAttrib1f: OK
glVertexAttrib1fv: OK
glVertexAttrib1s: OK
glVertexAttrib1sv: OK
glVertexAttrib2d: OK
glVertexAttrib2dv: OK
glVertexAttrib2f: OK
glVertexAttrib2fv: OK
glVertexAttrib2s: OK
glVertexAttrib2sv: OK
glVertexAttrib3d: OK
glVertexAttrib3dv: OK
glVertexAttrib3f: OK
glVertexAttrib3fv: OK
glVertexAttrib3s: OK
glVertexAttrib3sv: OK
glVertexAttrib4Nbv: OK
glVertexAttrib4Niv: OK
glVertexAttrib4Nsv: OK
glVertexAttrib4Nub: OK
glVertexAttrib4Nubv: OK
glVertexAttrib4Nuiv: OK
glVertexAttrib4Nusv: OK
glVertexAttrib4bv: OK
glVertexAttrib4d: OK
glVertexAttrib4dv: OK
glVertexAttrib4f: OK
glVertexAttrib4fv: OK
glVertexAttrib4iv: OK
glVertexAttrib4s: OK
glVertexAttrib4sv: OK
glVertexAttrib4ubv: OK
glVertexAttrib4uiv: OK
glVertexAttrib4usv: OK
glVertexAttribPointer: OK

GL_VERSION_2_1: OK

glUniformMatrix2x3fv: OK
glUniformMatrix2x4fv: OK
glUniformMatrix3x2fv: OK
glUniformMatrix3x4fv: OK
glUniformMatrix4x2fv: OK
glUniformMatrix4x3fv: OK

GL_VERSION_3_0: OK

glBeginConditionalRender: OK
glBeginTransformFeedback: OK
glBindFragDataLocation: OK
glClampColor: OK
glClearBufferfi: OK
glClearBufferfv: OK
glClearBufferiv: OK
glClearBufferuiv: OK
glColorMaski: OK
glDisablei: OK
glEnablei: OK
glEndConditionalRender: OK
glEndTransformFeedback: OK
glGetBooleani_v: OK
glGetFragDataLocation: OK
glGetStringi: OK
glGetTexParameterIiv: OK
glGetTexParameterIuiv: OK
glGetTransformFeedbackVarying: OK
glGetUniformuiv: OK
glGetVertexAttribIiv: OK
glGetVertexAttribIuiv: OK
glIsEnabledi: OK
glTexParameterIiv: OK
glTexParameterIuiv: OK
glTransformFeedbackVaryings: OK
glUniform1ui: OK
glUniform1uiv: OK
glUniform2ui: OK
glUniform2uiv: OK
glUniform3ui: OK
glUniform3uiv: OK
glUniform4ui: OK
glUniform4uiv: OK
glVertexAttribI1i: OK
glVertexAttribI1iv: OK
glVertexAttribI1ui: OK
glVertexAttribI1uiv: OK
glVertexAttribI2i: OK
glVertexAttribI2iv: OK
glVertexAttribI2ui: OK
glVertexAttribI2uiv: OK
glVertexAttribI3i: OK
glVertexAttribI3iv: OK
glVertexAttribI3ui: OK
glVertexAttribI3uiv: OK
glVertexAttribI4bv: OK
glVertexAttribI4i: OK
glVertexAttribI4iv: OK
glVertexAttribI4sv: OK
glVertexAttribI4ubv: OK
glVertexAttribI4ui: OK
glVertexAttribI4uiv: OK
glVertexAttribI4usv: OK
glVertexAttribIPointer: OK

GL_VERSION_3_1: OK

glDrawArraysInstanced: OK
glDrawElementsInstanced: OK
glPrimitiveRestartIndex: OK
glTexBuffer: OK

GL_VERSION_3_2: OK

glFramebufferTexture: OK
glGetBufferParameteri64v: OK
glGetInteger64i_v: OK

GL_VERSION_3_3: OK

glVertexAttribDivisor: OK

GL_VERSION_4_0: OK

glBlendEquationSeparatei: OK
glBlendEquationi: OK
glBlendFuncSeparatei: OK
glBlendFunci: OK
glMinSampleShading: OK

GL_VERSION_4_1: MISSING

GL_VERSION_4_2: MISSING


#4

this is sometimes produced by a bug in certain drivers while detecting an opengl extension, can you edit “libs/openframeworks/gl/ofBufferObject.cpp” and replace this line:

with if(false){


#5

Thank you for the feedback. I changed the ofBufferObject as suggested but the result is the same on my laptop.


#6

no idea what might be going on then, have you tried updating the graphics drivers?


#7

I just downloaded and installed the latest graphic card driver but the result is the same on my laptop.
Do you have any suggestion on how could I try to debug this issue? (e.g. do you think that using a GL debugger like gDebugger could be useful?)


#8

Yes that could give you some clues


#9

Hello, for information, I got the same issue : no light when i’m in programmable renderer ( settings.setGLVersion(3, 2);
).

I work with OF 9.8, and i’m on Osx / Mac book pro / Intel Iris Graphics 6100. Do you find any clue since your last message ?


#10

Hello, I did not have much time to look into the issue. I’ll post here as soon as I’m able to fix it/find a workaround.


#11

After some test, i figured out that I was wrong, the light works if I setup a material too. The light don’t work only if I don’t use de material : looking the openframeworks core it seems a normal behavior.


#12

hey sorry i originally understood that the geometry wasn’t visible at all which is why i thought it was a driver problem. in 0.9.8 as you’ve found out the lights wont’ work properly without using materials. in the nightlies there’s now a default material when using the programable renderer so this should work without explicitly binding a material