Hi there
Regarding the sample program "postfx.cpp":While loading the effects...
// Load all effects
std::map<std::string, sf::PostFX> Effects;
Effects["nothing"].LoadFromFile("datas/post-fx/nothing.sfx");
Effects["blur"].LoadFromFile("datas/post-fx/blur.sfx");
Effects["colorize"].LoadFromFile("datas/post-fx/colorize.sfx");
Effects["fisheye"].LoadFromFile("datas/post-fx/fisheye.sfx");
Effects["wave"].LoadFromFile("datas/post-fx/wave.sfx");
std::map<std::string, sf::PostFX>::iterator CurrentEffect = Effects.find("nothing");
...no return value is checked. For a sample application where you want to know "is that effect working for me?" not a good solution (in my humble opinion).
In addition postfx.exe is no console application and so I initially didn't see any errors because std::cerr gets displayed nowhere. I had to reroute std::cerr into a file so see what is actually happening.
Regarding the effect "fisheye":When running postfx.exe I do get the following message when loading the effect "fisheye":
Failed to compile effect :
ERROR: 0:5: '*' : wrong operand types no operation '*' exists that takes a left-hand operand of type 'float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 0:7: '<' : wrong operand types no operation '<' exists that takes a left-hand operand of type 'float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 2 compilation errors. No code generated.
That seems to be the reason why there is no visual result on the screenshots I posted earlier.
Regarding the effect "blur":It loads and compiles without any problems but then it simply freezes the whole application - and I don't know why.
At the end I don't really care since I am far, far away from using any shaders, but in case you (Laurent) want this resolved before you declare the "RC version" as "stable" I would dig deeper into the problem.
Regarding my GLSL version:With the help of the tool "GPU Caps Viewer v1.4.0" from "oZone3D" (which can be found
here) I figured out that my version of GLSL is...
...none?!? For some weird reason the tool tells me "GLSL Version: Not Supported"
Here's the full info dump (sorry, it's long, but I didn't want to cut off any details that might be important). After reading this anybody has a clue why "fisheye" isn't compiled correctly and why "blur" crashes?
===================================[ OpenGL GPU Capabilities ]
- OpenGL Version: 1.5.4273 Win2000 Release
- GLSL (OpenGL Shading Language) Version: Not Supported
- ARB Texture Units: 8
- Vertex Shader Texture Units: 0
- Pixel Shader Texture Units: 16
- Geometry Shader Texture Units: 0
- Max Texture Size: 2048x2048
- Max Anisotropic Filtering Value: X16.0
- Max Point Sprite Size: 0.0
- Max Dynamic Lights: 8
- Max Viewport Size: 4096x4096
- Max Vertex Uniform Components: 0
- Max Fragment Uniform Components: 0
- Max Varying Float: 0
- Max Vertex Bindable Uniforms: 0
- Max Fragment Bindable Uniforms: 0
- Max Geometry Bindable Uniforms: 0
- Frame Buffer Objects (FBO) Support:[no]
- Multiple Render Targets / Max draw buffers: 4
- Pixel Buffer Objects (PBO) Support:[no]
- S3TC Texture Compression Support:[yes]
- ATI 3Dc Texture Compression Support:[no]
- Texture Rectangle Support:[yes]
- Floating Point Textures Support:[yes]
- MSAA: 2X
- MSAA: 4X
- MSAA: 6X
- OpenGL Extensions: 97 extensions
- GL_ARB_multitexture
- GL_EXT_texture_env_add
- GL_EXT_compiled_vertex_array
- GL_S3_s3tc
- GL_ARB_depth_texture
- GL_ARB_fragment_program
- GL_ARB_multisample
- GL_ARB_occlusion_query
- GL_ARB_point_parameters
- GL_ARB_shadow
- GL_ARB_shadow_ambient
- GL_ARB_texture_border_clamp
- GL_ARB_texture_compression
- GL_ARB_texture_cube_map
- GL_ARB_texture_env_add
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_crossbar
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_transpose_matrix
- GL_ARB_vertex_blend
- GL_ARB_vertex_buffer_object
- GL_ARB_vertex_program
- GL_ARB_window_pos
- GL_ATI_draw_buffers
- GL_ATI_element_array
- GL_ATI_envmap_bumpmap
- GL_ATI_fragment_shader
- GL_ATI_map_object_buffer
- GL_ATI_separate_stencil
- GL_ATI_texture_env_combine3
- GL_ATI_texture_float
- GL_ATI_texture_mirror_once
- GL_ATI_vertex_array_object
- GL_ATI_vertex_attrib_array_object
- GL_ATI_vertex_streams
- GL_ATIX_texture_env_combine3
- GL_ATIX_texture_env_route
- GL_ATIX_vertex_shader_output_point_size
- GL_EXT_abgr
- GL_EXT_bgra
- GL_EXT_blend_color
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_clip_volume_hint
- GL_EXT_draw_range_elements
- GL_EXT_fog_coord
- GL_EXT_multi_draw_arrays
- GL_EXT_packed_pixels
- GL_EXT_point_parameters
- GL_EXT_rescale_normal
- GL_EXT_secondary_color
- GL_EXT_separate_specular_color
- GL_EXT_shadow_funcs
- GL_EXT_stencil_wrap
- GL_EXT_texgen_reflection
- GL_EXT_texture3D
- GL_EXT_texture_compression_s3tc
- GL_EXT_texture_cube_map
- GL_EXT_texture_edge_clamp
- GL_EXT_texture_env_combine
- GL_EXT_texture_env_dot3
- GL_EXT_texture_filter_anisotropic
- GL_EXT_texture_lod_bias
- GL_EXT_texture_mirror_clamp
- GL_EXT_texture_object
- GL_EXT_texture_rectangle
- GL_EXT_vertex_array
- GL_EXT_vertex_shader
- GL_ARB_shading_language_100
- GL_ARB_shader_objects
- GL_ARB_vertex_shader
- GL_ARB_fragment_shader
- GL_HP_occlusion_test
- GL_NV_texgen_reflection
- GL_NV_blend_square
- GL_NV_occlusion_query
- GL_NV_point_sprite
- GL_ARB_point_sprite
- GL_SGI_color_matrix
- GL_SGIS_texture_edge_clamp
- GL_SGIS_texture_border_clamp
- GL_SGIS_texture_lod
- GL_SGIS_generate_mipmap
- GL_SGIS_multitexture
- GL_SUN_multi_draw_arrays
- GL_WIN_swap_hint
- WGL_EXT_extensions_string
- WGL_EXT_swap_control
- WGL_ARB_extensions_string
- WGL_ARB_make_current_read
- WGL_ARB_multisample
- WGL_ARB_pbuffer
- WGL_ARB_pixel_format
- WGL_ARB_render_texture
- WGL_ATI_pixel_format_float