View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015020 | ParaView | (No Category) | public | 2014-09-30 21:31 | 2015-01-13 22:05 | ||||
Reporter | Alan Scott | ||||||||
Assigned To | Utkarsh Ayachit | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 4.2 | ||||||||
Target Version | 4.3 | Fixed in Version | 4.3 | ||||||
Summary | 0015020: Mesa3d volume rendering incorrectly forces use of floating point frame buffer | ||||||||
Description | There is a mistake in the way ParaView incorrectly forces Mesa3d to use floating point buffer when volume rendering. I can trivially test this, if anyone wants. The problem is in the following code: ../VTK/Rendering/VolumeOpenGL/vtkOpenGLProjectedTetrahedraMapper.cxx. Around line 145 is the following code: if (!this->CanDoFloatingPointFrameBuffer) { vtkWarningMacro( "Missing FBO support. The algorithm may produce visual artifacts."); } This forces ParaView to issue a warning, that is not needed, whenever we are rendering with an old version of Mesa3d (i.e., version 7.10.3). The way I worked around the issue, at Utkarsh's suggestion, was to changed line 98, this->UseFloatingPointFrameBuffer = true; to be this->UseFloatingPointFrameBuffer = false; Please either change the this->UseFloatingPointFrameBuffer to be false in the constructor, or rework the logic of this if() test at line 147. Alan - tested with Linux, local server, NX, disk_out_ref.exo. Just volume render. Error pops up. | ||||||||
Tags | No tags attached. | ||||||||
Project | Sandia | ||||||||
Topic Name | 15020_fix_OpenGL-1.2_issues | ||||||||
Type | incorrect functionality | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0033632) Cory Quammen (developer) 2014-10-13 11:32 |
Hi Alan, Do you have OSMesa enabled with the version of Mesa in question? I'm setting up a build to reproduce this warning and want to make sure I can replicate your Mesa build. Thanks, Cory |
(0033637) Burlen (developer) 2014-10-14 19:24 |
You may not want to see the warning but you definitely want to try to use floating point buffers if they are available. You're seeing that warning because your Mesa build is missing floating point support. Some of the older releases didn't have it, however newer releases do. It's always been a build option that's off by default because of patent issues, so you need to explicitly enable it when compiling mesa (add --enable-texture-float). The intention behind that (in hindsight annoying) warning is to alert you are using an ancient version of mesa and or that you may have not built mesa with floating point support. At the time the warning seemed reasonable to me since without floating point support the projected tets algorithm *could produce precision related artifacts depending on data and rendering parameters and downloading and installing a newer mesa (or simply recompiling your existing mesa build with floating point support enabled) is a relatively easy fix. For me I'd rather know that there's potentially a problem and update mesa, rather than scratch my head about why there are artifacts in my rendering. |
(0033638) Alan Scott (manager) 2014-10-14 19:39 |
But, and this is a huge but, there are many platforms where the system provides a software frame buffer, making it look like we have a graphics card on the machine, and that software frame buffer is an old version of Mesa. An example is NX (google NX, by nomachine). I don't want my users to see the warning, and especially don't want volume rendering to fail! It is OK to put out warnings like this for debug builds, but not release builds. |
(0033639) Alan Scott (manager) 2014-10-14 19:43 |
You won't believe the version that I am having issues with. Here is a glxinfo: libGL error: failed to load driver: swrast libGL error: Try again with LIBGL_DEBUG=verbose for more details. display: :1193 screen: 0 direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose) server glx vendor string: SGI server glx version string: 1.2 server glx extensions: GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig client glx vendor string: Mesa Project and SGI client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB, GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event GLX version: 1.2 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_multithread_makecurrent, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.2 (1.5 Mesa 6.4.1) OpenGL extensions: GL_ARB_depth_texture, GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp, 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_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, GL_ATIX_texture_env_combine3, GL_HP_occlusion_test, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_NV_blend_square, GL_NV_point_sprite, GL_NV_texgen_reflection, GL_NV_texture_rectangle, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays 4 GLX Visuals visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x039 24 tc 0 24 0 r y . 8 8 8 0 . . 0 16 0 0 0 0 0 0 0 None 0x03a 24 tc 0 24 0 r y . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 0x03b 24 tc 0 32 0 r y . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x03c 24 tc 0 32 0 r . . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 4 GLXFBConfigs: visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x039 24 tc 0 24 0 r y . 8 8 8 0 . . 0 16 0 0 0 0 0 0 0 None 0x03a 24 tc 0 24 0 r y . 8 8 8 0 . . 0 16 8 16 16 16 0 0 0 None 0x03b 24 tc 0 32 0 r y . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None 0x03c 24 tc 0 32 0 r . . 8 8 8 8 . . 0 16 8 16 16 16 16 0 0 None As I stated in the previous note, I didn't build it, I don't build it, I would never use a Mesa build that is so old. However, it is what is available to me on that system. And no - building my own version of Mesa is not tivial - since the same version of ParaView is used for this software framebuffer systems and the hardware framebuffer systems. |
(0033640) Burlen (developer) 2014-10-14 21:29 |
> I don't want my users to see the warning, and especially > don't want volume rendering to fail! It is OK to put out > warnings like this for debug builds, but not release builds. The warning is new, but the fact that the algorithm may have issues without floating point support is not. If your OpenGL doesn't have that support your users may have issues. Your solution to only issue the warning in debug builds sounds OK. |
(0033714) Utkarsh Ayachit (administrator) 2014-11-04 14:38 edited on: 2014-11-04 14:39 |
I managed to reproduce the issue with Mesa 7.4. Alan, note that soon we'll stop supporting anything less than Open 2.1 in VTK. So systems where you're getting these volume mapper errors are indeed going to be unusable. Until then, however, here's a fix for this issue: http://review.source.kitware.com/#/c/17878/1 [^] Once reviewed, I'll merge this into ParaView. |
(0033715) Alan Scott (manager) 2014-11-04 14:51 |
Sounds good. We have a process in place here that will be supporting OpenGL 2.1 in the near future. |
(0033725) Utkarsh Ayachit (administrator) 2014-11-05 10:11 |
commit 031f7f63719e3dc34feaa970cf31f8de40fbe316 Author: Utkarsh Ayachit <utkarsh.ayachit@kitware.com> Date: Tue Nov 4 14:33:20 2014 -0500 BUG 0015046, BUG 0015020: Fix issues with OpenGL 1.2. Believe it or not, we have use-cases where people use OpenGL 1.2! Soon we won't support that. But until then, we should continue to support it. Based on discusson on BUG 0015020, making the missing FBO warning to be shown only in debug builds. Also use GL_ARB_multitexture explicitly when GL_VERSION_1_3 is not supported. Change-Id: Id8ec2e902536fb3165e03bc05c6a9bd1fcbc03e8 |
(0033745) Utkarsh Ayachit (administrator) 2014-11-06 08:44 |
Topics merged into master: 14845_reset_color_map 15053_fix_coloring_with_missing_arrays 15085_fix_install_rules_for_catalyst 15107_catalyst_rendering_edition opengl2-backend (VTK) vtk_master_20141105 |
(0033752) Alan Scott (manager) 2014-11-06 16:03 |
Excellent. Tested local server, Linux, NX, disk_out_ref.exo, Master. |
(0034021) Alan Scott (manager) 2015-01-07 16:27 edited on: 2015-01-07 16:27 |
This bug fix has an #ifdef that is reversed. This is making a debug print write in release code, but not debug code. File /VTK/Rendering/VolumeOpenGL/vtkOpenGLProjectedTetrahedraMapper.cxx, line number 146 has a reversed #ifdef. Please fix it. Current: #ifdef NDEBUG if (!this->CanDoFloatingPointFrameBuffer) { vtkWarningMacro( "Missing FBO support. The algorithm may produce visual artifacts."); } #endif Suggested: #ifndef NDEBUG if (!this->CanDoFloatingPointFrameBuffer) { vtkWarningMacro( "Missing FBO support. The algorithm may produce visual artifacts."); } #endif |
(0034035) Utkarsh Ayachit (administrator) 2015-01-09 12:06 |
commit 5fa4f8c363ea599247f5a483c0327ca0744ebb31 Author: Utkarsh Ayachit <utkarsh.ayachit@kitware.com> Date: Fri Jan 9 12:02:33 2015 -0500 Fixed typo in commit 031f7f6371. Incorrect ifdef. We were ending up skipping error in debug mode, not release. Change-Id: I1ce35c6d1bb2c759ab3d4eaf32cbeb612f21dccb |
(0034052) Utkarsh Ayachit (administrator) 2015-01-10 08:20 |
Topics merged into master (v4.3.0-RC1-46-g4b7a696): (VTK) 15020_fix_OpenGL-1.2_issues fix_showinmenu_hints help-15203 visit-gl2 |
(0034080) Alan Scott (manager) 2015-01-13 22:05 |
Tested 4.3.0, Linux, remote server. Volume rendered with NX. Also, tested local server, volume rendering, with NX. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2014-09-30 21:31 | Alan Scott | New Issue | |
2014-09-30 21:32 | Alan Scott | Target Version | => 4.2.1 |
2014-10-13 11:32 | Cory Quammen | Note Added: 0033632 | |
2014-10-14 19:24 | Burlen | Note Added: 0033637 | |
2014-10-14 19:39 | Alan Scott | Note Added: 0033638 | |
2014-10-14 19:43 | Alan Scott | Note Added: 0033639 | |
2014-10-14 21:29 | Burlen | Note Added: 0033640 | |
2014-11-04 09:53 | Utkarsh Ayachit | Target Version | 4.2.1 => bug_fix |
2014-11-04 14:38 | Utkarsh Ayachit | Note Added: 0033714 | |
2014-11-04 14:38 | Utkarsh Ayachit | Assigned To | => Utkarsh Ayachit |
2014-11-04 14:39 | Utkarsh Ayachit | Note Edited: 0033714 | |
2014-11-04 14:51 | Alan Scott | Note Added: 0033715 | |
2014-11-04 15:24 | Utkarsh Ayachit | Relationship added | related to 0015046 |
2014-11-05 10:11 | Utkarsh Ayachit | Note Added: 0033725 | |
2014-11-05 10:12 | Utkarsh Ayachit | Topic Name | => vtk_master_20141105 |
2014-11-05 10:12 | Utkarsh Ayachit | Status | backlog => gatekeeper review |
2014-11-05 10:12 | Utkarsh Ayachit | Fixed in Version | => git-next |
2014-11-05 10:12 | Utkarsh Ayachit | Resolution | open => fixed |
2014-11-06 08:44 | Utkarsh Ayachit | Fixed in Version | git-next => git-master |
2014-11-06 08:44 | Utkarsh Ayachit | Status | gatekeeper review => customer review |
2014-11-06 08:44 | Utkarsh Ayachit | Note Added: 0033745 | |
2014-11-06 16:03 | Alan Scott | Note Added: 0033752 | |
2014-11-06 16:03 | Alan Scott | Status | customer review => closed |
2014-11-14 22:56 | Utkarsh Ayachit | Target Version | bug_fix => 4.3 |
2015-01-02 10:45 | Utkarsh Ayachit | Fixed in Version | git-master => 4.3 |
2015-01-07 16:27 | Alan Scott | Note Added: 0034021 | |
2015-01-07 16:27 | Alan Scott | Status | closed => backlog |
2015-01-07 16:27 | Alan Scott | Resolution | fixed => reopened |
2015-01-07 16:27 | Alan Scott | Note Edited: 0034021 | |
2015-01-09 12:06 | Utkarsh Ayachit | Topic Name | vtk_master_20141105 => 15020_fix_OpenGL-1.2_issues |
2015-01-09 12:06 | Utkarsh Ayachit | Note Added: 0034035 | |
2015-01-09 12:06 | Utkarsh Ayachit | Status | backlog => gatekeeper review |
2015-01-09 12:06 | Utkarsh Ayachit | Resolution | reopened => fixed |
2015-01-09 13:33 | Utkarsh Ayachit | Source_changeset_attached | => VTK master 2bc4c6cc |
2015-01-09 13:34 | Utkarsh Ayachit | Source_changeset_attached | => VTK master b9f40617 |
2015-01-09 13:34 | Utkarsh Ayachit | Source_changeset_attached | => VTK master 031f7f63 |
2015-01-10 08:20 | Utkarsh Ayachit | Note Added: 0034052 | |
2015-01-10 08:20 | Utkarsh Ayachit | Status | gatekeeper review => customer review |
2015-01-13 22:05 | Alan Scott | Note Added: 0034080 | |
2015-01-13 22:05 | Alan Scott | Status | customer review => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |