I should probably specify the graphics cards in question.

The working card is a NVidia 7300 LE.  The card that passes the test, but still 
does not work is a NVidia NV37GL [Quadro FX 330/Quadro NVS280] (rev a2)

-Ben

________________________________
From: osg-users-boun...@lists.openscenegraph.org 
[mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Ben Axelrod
Sent: Friday, March 20, 2009 12:42 PM
To: OpenSceneGraph Users
Subject: [osg-users] ShadowMap Required OpenGL Extensions

My application checks for the existence of some OpenGL extensions before 
allowing ShadowMap to be turned on.  So far, I have been using this test:

if (GL_EXT_framebuffer_object &&
   (GL_ARB_fragment_program || GL_EXT_fragment_program) &&
   (GL_ARB_fragment_program_shadow || GL_EXT_fragment_program_shadow))
{
  //enable ShadowMap
}

Note that I am using the 'fixed function fallback' by calling clearShaderList() 
after init() but before first frame.

However, I have come across a graphics card that passes this test, yet does not 
render shadows properly.

This graphics card has these key extensions:
GL_EXT_framebuffer_object
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader

As far as I can tell, the only extensions this card does NOT have, that my 
other card (which renders shadows fine) does is:
GL_ARB_texture_non_power_of_two
GL_ATI_texture_mirror_once
GL_EXT_clip_volume_hint
GL_EXT_texture_mirror_clamp

Does ShadowMap require any of these extensions?

Also, FYI, the graphics card in question has many more extensions that my 
working card does not have:
GL_ARB_fragment_shader
GL_ARB_half_float_pixel
GL_ARB_multisample
GL_ARB_pixel_buffer_object
GL_ARB_shader_objects
GL_ARB_shading_language_100
GL_ARB_texture_rectangle
GL_ARB_transpose_matrix
GL_ARB_vertex_buffer_object
GL_ARB_vertex_shader
GL_S3_s3tc
GL_EXT_compiled_vertex_array
GL_EXT_Cg_shader
GL_EXT_framebuffer_blit
GL_EXT_framebuffer_multisample
GL_EXT_gpu_program_parameters
GL_EXT_packed_depth_stencil
GL_EXT_pixel_buffer_object
GL_EXT_point_parameters
GL_EXT_stencil_two_side
GL_EXT_texture_compression_s3tc
GL_EXT_texture_cube_map
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_sRGB
GL_EXT_timer_query
GL_IBM_rasterpos_clip
GL_KTX_buffer_region
GL_NV_copy_depth_to_color
GL_NV_depth_clamp
GL_NV_fence
GL_NV_float_buffer
GL_NV_fog_distance
GL_NV_fragment_program
GL_NV_fragment_program_option
GL_NV_framebuffer_multisample_coverage
GL_NV_half_float
GL_NV_multisample_filter_hint
GL_NV_occlusion_query
GL_NV_packed_depth_stencil
GL_NV_pixel_data_range
GL_NV_point_sprite
GL_NV_primitive_restart
GL_NV_register_combiners
GL_NV_register_combiners2
GL_NV_texture_compression_vtc
GL_NV_texture_env_combine4
GL_NV_texture_expand_normal
GL_NV_texture_shader
GL_NV_texture_shader2
GL_NV_texture_shader3
GL_NV_vertex_array_range
GL_NV_vertex_array_range2
GL_NV_vertex_program
GL_NV_vertex_program1_1
GL_NV_vertex_program2
GL_NV_vertex_program2_option
GL_SUN_slice_accum


Thanks,
-Ben
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to