MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024918Open CASCADE[OCCT] OCCT:Visualizationpublic2014-05-13 17:452018-03-13 15:21
Reportersan 
Assigned Tosan 
PrioritynormalSeverityfeature 
StatusnewResolutionopen 
PlatformOSOS Version
Product Version[OCCT] 6.7.1 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0024918: Visualization, MeshVS - improve rendering of volume mesh
DescriptionCurrently, MeshVS package implements very simple and inefficient way of rendering volume mesh:
- each 3D mesh element is rendered as a complete set of its facets, that results in duplication of facets shared between adjacent 3D mesh elements
- internal facets of 3D mesh elements which are normally invisible are rendered

Two most typical situations that lead to the performance issue in case of a volume mesh:
- for a tetrahedral mesh containing N tetrahedrons 4*N triangles are rendered;
- for a hexahedral mesh containing N hexahedrons 6*N quads (or 12*N triangles) are rendered.

This limits potential usage of MeshVS for visualization of volume meshes even in case of moderate mesh size.

Possible improvements in this area:
1. Pre-compute and draw the 2D skin (or skins) of the volume mesh and ignore the internal facets. This will improve performance dramatically but leads to unexpected visual results when clipping planes are enabled in the view.
Nevertheless, this can become the first step.
Such optimized rendering can be switched off automatically in some cases when internal mesh details should be visible:
- when OpenGL clipping planes are activated
- when shrink display mode is used
- when transparency is set to non-zero

2. Implement advanced mesh clipping algorithm that will draw the cross-section of the volume mesh as a shaded area filled according to the colors of the intersected 3D mesh elements. See the attached image for example (taken from http://authors.library.caltech.edu/28218/1/Museth_Vis04_paper.pdf [^]). The algorithm of building the cross-section is to be chosen, e.g. elements of ray tracing can be considered or specific GLSL shaders or even a geometrical algorithm that builds a planar mesh patch each time when the camera is modified...

3. In addition to advanced volume mesh clipping, the following aspects can be considered:
- semi-transparent volume mesh
- shrink display mode
TagsNo tags attached.
Test case number
Attached Filespng file icon 3d_mesh_clipping.png (107,139 bytes) 2014-05-13 17:46

- Relationships
related to 0027905closedapn Open CASCADE Visualization - randomly directed arrows on test v3d mesh B7 

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2014-05-13 17:45 san New Issue
2014-05-13 17:45 san Assigned To => san
2014-05-13 17:46 san File Added: 3d_mesh_clipping.png
2014-05-13 17:54 san Description Updated View Revisions
2014-05-13 18:00 san Description Updated View Revisions
2014-05-13 18:07 san Description Updated View Revisions
2014-09-12 14:20 abv Target Version => 7.1.0
2014-11-12 08:22 kgv Summary MeshVS: improved rendering of volume mesh => Visualization, MeshVS - improve rendering of volume mesh
2016-09-29 12:31 kgv Relationship added related to 0027905
2016-10-25 09:29 kgv Target Version 7.1.0 => 7.2.0
2017-07-20 10:48 kgv Target Version 7.2.0 => 7.4.0*
2018-03-13 15:21 kgv Relationship added related to 0029439


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker