View Issue Details

IDProjectCategoryView StatusLast Update
0024918Open CASCADEOCCT:Visualizationpublic2023-08-01 15:09
ReportersanAssigned Tosan 
PrioritynormalSeverityfeature 
Status newResolutionopen 
Product Version6.7.1 
Target VersionUnscheduled 
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 Files

  • 3d_mesh_clipping.png (107,139 bytes)

Relationships

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

Activities

san

2014-05-13 17:46

developer  

3d_mesh_clipping.png (107,139 bytes)

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
2014-05-13 18:00 san Description Updated
2014-05-13 18:07 san Description Updated
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
2019-09-04 15:36 abv Target Version 7.4.0 => 7.5.0
2020-09-21 17:20 kgv Target Version 7.5.0 => 7.6.0
2021-08-24 14:21 kgv Target Version 7.6.0 => 7.7.0
2022-08-17 11:57 kgv Target Version 7.7.0 => 7.8.0
2023-08-01 15:09 dpasukhi Target Version 7.8.0 => Unscheduled