MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024785Open CASCADE[OCCT] OCCT:Visualizationpublic2014-04-01 17:402014-10-20 20:10
Reporterduv 
Assigned Toapn 
PriorityhighSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 6.7.1Fixed in Version[OCCT] 6.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
Attached Files

- Relationships
related to 0024867closedbugmaster Open CASCADE [Regression] Visualization - polygon offsets look broken 

-  Notes
(0028730)
duv (developer)
2014-04-08 12:22

Dear apl,

Please take a look at current implementation.
(0028747)
apl (developer)
2014-04-09 10:22

Dear duv,

The branch is reviewed. Please proceed.
(0028750)
abv (manager)
2014-04-09 10:36

Please test as high priority -- the fix is requested for 6.7.1
(0028854)
mkv (tester)
2014-04-15 20:26

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
Timestamp: 2014-04-17 11:56:41
Author: duv
Committer: apn
Details ] Diff ]
0024785: Visualization - Modifying z-layers concept to gain more control over OpenGl depth buffer.

Cosmetic fixes.
glDepthFunc fix.
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 View Revisions
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 View Revisions
2014-04-09 13:46 duv Additional Information Updated View Revisions
2014-04-09 13:48 duv Additional Information Updated View Revisions
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
2014-10-20 20:10 san Relationship added related to 0025400


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker