View Issue Details

IDProjectCategoryView StatusLast Update
0024785Open CASCADEOCCT:Visualizationpublic2021-04-07 13:52
ReporterduvAssigned Toapn  
PriorityhighSeverityfeature 
Status closedResolutionfixed 
Product Version6.7.0 
Target Version6.7.1Fixed in Version6.7.1 
Summary0024785: Visualization - Modifying z-layers concept to gain more control over OpenGl depth buffer.
DescriptionOCCT has a solution for depth-related issues called priority lists (or z-layers). Unfortunately priority lists don’t have enough flexibility to handle majority of possible problems.

With this patch concept of actual layers need to be introduced. Layers still will contain priority lists.

Each layer will be able to:
• Enable / disable depth test for layer.
• Enable / disable depth write for layer.
• Enable / disable depth buffer clearing.
• Enable / disable polygon offset.


Additional information
and documentation updates
To achieve desired functionality following features have been implemented:

1. OpenGL_Layer object associated to each OpenGL_PriorityList. It stores and handles options described above. It encapsulates OpenGL_PriorityList::Render in its own Render method where settings applied.

2. Method SetZLayerOption (LayerId, Graphic3d_ZLayerSettings) added to Graphic3d_GraphicDriver interface. Implementation added to OpenGl_GraphicDriver.

3. Implementation of SetZLayerOption which accesses specified OpenGL_ZLayer of every OpenGL_View added to Visual3d_ViewManager. SetZLayerOption also added to V3d_Viewer.

4. ZLayerOption getter added to Visual3d_ViewManager and V3d_Viewer. It returns Graphic3d_ZLayerSettings cached in Visual3d_ViewManager for given LayerId.
TagsNo tags attached.
Test case numberNot needed

Relationships

parent of 0032274 closedbugmaster Open CASCADE Tests - unstable snapshots from test case v3d/bugs/bug24785 
related to 0024867 closedbugmaster Open CASCADE [Regression] Visualization - polygon offsets look broken 

Activities

duv

2014-04-08 12:22

developer   ~0028730

Dear apl,

Please take a look at current implementation.

apl

2014-04-09 10:22

developer   ~0028747

Dear duv,

The branch is reviewed. Please proceed.

abv

2014-04-09 10:36

manager   ~0028750

Please test as high priority -- the fix is requested for 6.7.1

mkv

2014-04-15 20:26

tester   ~0028854

Dear BugMaster,

Branch CR24785 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: b91aae5411215c331a11d7d19af628d81d035903

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)
MacOS: 413 (413 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 351915368 / 352653700
Total CPU difference: 49382.940000000046 / 67343.38000000024

Testing on Windows:
Total MEMORY difference: 381247368 / 380717640
Total CPU difference: 34287.890625 / 39760.234375

There are no differences in images found by testdiff.

Related Changesets

occt: master c5751993

2014-04-17 11:56:41

duv


Committer: apn Details Diff
0024785: Visualization - Modifying z-layers concept to gain more control over OpenGl depth buffer.

Cosmetic fixes.
glDepthFunc fix.
Affected Issues
0024785
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d.cdl Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cdl Diff File
mod - src/Graphic3d/Graphic3d_StructureManager.cdl Diff File
add - src/Graphic3d/Graphic3d_ZLayerSettings.hxx Diff File
mod - src/OpenGl/FILES Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver_7.cxx Diff File
add - src/OpenGl/OpenGl_Layer.cxx Diff File
add - src/OpenGl/OpenGl_Layer.hxx Diff File
mod - src/OpenGl/OpenGl_LayerList.cxx Diff File
mod - src/OpenGl/OpenGl_LayerList.hxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_2.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace_Raytrace.cxx Diff File
mod - src/V3d/V3d_Viewer.cdl Diff File
mod - src/V3d/V3d_Viewer.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
mod - src/Visual3d/FILES Diff File
mod - src/Visual3d/Visual3d.cdl Diff File
add - src/Visual3d/Visual3d_MapOfZLayerSettings.hxx Diff File
mod - src/Visual3d/Visual3d_View.cdl Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File
mod - src/Visual3d/Visual3d_ViewManager.cdl Diff File
mod - src/Visual3d/Visual3d_ViewManager.cxx Diff File
add - tests/bugs/vis/bug24785 Diff File

Issue History

Date Modified Username Field Change
2014-04-01 17:40 duv New Issue
2014-04-01 17:40 duv Assigned To => duv
2014-04-01 17:40 duv Status new => assigned
2014-04-01 17:40 duv Summary Modifying z-layers concept to gain more control over OpenGl depth buffer. => Visualization - Modifying z-layers concept to gain more control over OpenGl depth buffer.
2014-04-04 17:47 abv Target Version 6.7.1 => 6.8.0
2014-04-08 12:22 duv Note Added: 0028730
2014-04-08 12:22 duv Assigned To duv => apl
2014-04-08 12:22 duv Status assigned => feedback
2014-04-09 10:22 apl Note Added: 0028747
2014-04-09 10:22 apl Assigned To apl => duv
2014-04-09 10:22 apl Status feedback => assigned
2014-04-09 10:28 duv Assigned To duv => apl
2014-04-09 10:28 duv Status assigned => feedback
2014-04-09 10:28 duv Additional Information Updated
2014-04-09 10:36 abv Assigned To apl => bugmaster
2014-04-09 10:36 abv Status feedback => reviewed
2014-04-09 10:36 abv Note Added: 0028750
2014-04-09 10:36 abv Priority normal => high
2014-04-09 10:36 abv Target Version 6.8.0 => 6.7.1
2014-04-09 13:45 apn Assigned To bugmaster => apn
2014-04-09 13:46 duv Additional Information Updated
2014-04-09 13:46 duv Additional Information Updated
2014-04-09 13:48 duv Additional Information Updated
2014-04-09 15:14 duv Assigned To apn => duv
2014-04-09 15:14 duv Status reviewed => assigned
2014-04-09 16:00 duv Assigned To duv => bugmaster
2014-04-09 16:00 duv Status assigned => resolved
2014-04-09 18:32 abv Status resolved => reviewed
2014-04-11 14:38 apn Assigned To bugmaster => apn
2014-04-14 16:24 mkv Assigned To apn => mkv
2014-04-15 20:26 mkv Note Added: 0028854
2014-04-15 20:27 mkv Test case number => Not needed
2014-04-15 20:27 mkv Assigned To mkv => bugmaster
2014-04-15 20:27 mkv Status reviewed => tested
2014-04-18 16:02 apn Changeset attached => occt master c5751993
2014-04-18 16:02 apn Assigned To bugmaster => apn
2014-04-18 16:02 apn Status tested => verified
2014-04-18 16:02 apn Resolution open => fixed
2014-04-23 17:01 san Relationship added related to 0024867
2014-05-05 13:20 bugmaster Status verified => closed
2014-05-05 13:39 aiv Fixed in Version => 6.7.1
2021-04-07 13:52 kgv Relationship added parent of 0032274