View Issue Details

IDProjectCategoryView StatusLast Update
0029974Open CASCADEOCCT:Visualizationpublic2018-07-28 12:39
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.3.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0029974: Visualization - OpenGl_Layer::Render() produces inconsistent state of Polygon Offset settings
DescriptionOpenGl_Layer::Render() applies Polygon Offset settings directly to OpenGl_Context ignoring FillArea aspect caching logic within OpenGl_Workspace.

This leads to unpredictable Polygon Offset settings being applied while rendering with the same FillArea aspects across multiple Z Layers.

Within application this happened while drawing AIS_Shape with semi-transparent fill area aspect, custom polygon offset settings and enabled Face Boundaries (added into the same Presentation Group with Triangulation, as done by StdPrs_ShadedShape::Add()!).

- Within opaque rendering pass, drawing of Face Boundaries applies custom Polygon Offset settings.
- Then OpenGl_Layer::Render() forces new Polygon Offset settings, default to the Layer.
- Within semitransparent rendering pass, Triangulation is drawn with incorrect Polygon Offset, because OpenGl_Workspace::ApplyAspectFace() is unaware of modifications (applied fill area aspects was not changed).
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Activities

git

2018-07-19 20:35

administrator   ~0077836

Branch CR29974 has been created by kgv.

SHA-1: 5c8d3d25043114ba303de18f4c7a83fcc1b4cf2b


Detailed log of new commits:

Author: kgv
Date: Thu Jul 19 20:32:51 2018 +0300

    0029974: Visualization - OpenGl_Layer::Render() produces inconsistent state of Polygon Offset settings
    
    OpenGl_Layer::Render() now calls OpenGl_Workspace::SetDefaultPolygonOffset()
    for managing default polygon offset settings considering OpenGl_Workspace applied aspect logic.

kgv

2018-07-19 22:05

developer   ~0077837

Patch is ready for review.

http://jenkins-test-11.nnov.opencascade.com/view/CR29974-master-KGV/

san

2018-07-23 17:38

developer   ~0077935

Branch CR29974 reviewed without remarks.

bugmaster

2018-07-23 18:10

administrator   ~0077939

Combination -
OCCT branch : CR29974 SHA - 5c8d3d25043114ba303de18f4c7a83fcc1b4cf2b
Products branch : master SHA - edc03a9d94e87d0141f8dbfdc1c42f755e9765d9
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian70-64:
OCCT
Total CPU difference: 17398.41999999982 / 17080.800000000007 [+1.86%]
Products
Total CPU difference: 7470.200000000039 / 7461.880000000036 [+0.11%]
Windows-64-VC10:
OCCT
Total CPU difference: 16904.112358998627 / 16984.608874998572 [-0.47%]
Products
Total CPU difference: 8238.678011699889 / 8248.209672799876 [-0.12%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-07-28 12:39

administrator   ~0078144

Branch CR29974 has been deleted by inv.

SHA-1: 5c8d3d25043114ba303de18f4c7a83fcc1b4cf2b

Related Changesets

occt: master a6df1715

2018-07-19 17:32:51

kgv


Committer: bugmaster Details Diff
0029974: Visualization - OpenGl_Layer::Render() produces inconsistent state of Polygon Offset settings

OpenGl_Layer::Render() now calls OpenGl_Workspace::SetDefaultPolygonOffset()
for managing default polygon offset settings considering OpenGl_Workspace applied aspect logic.
Affected Issues
0029974
mod - src/Graphic3d/Graphic3d_AspectFillArea3d.hxx Diff File
mod - src/OpenGl/OpenGl_Layer.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File

Issue History

Date Modified Username Field Change
2018-07-19 20:32 kgv New Issue
2018-07-19 20:32 kgv Assigned To => kgv
2018-07-19 20:35 git Note Added: 0077836
2018-07-19 22:05 kgv Note Added: 0077837
2018-07-19 22:05 kgv Assigned To kgv => san
2018-07-19 22:05 kgv Status new => resolved
2018-07-23 17:38 san Note Added: 0077935
2018-07-23 17:38 san Assigned To san => bugmaster
2018-07-23 17:38 san Status resolved => reviewed
2018-07-23 18:10 bugmaster Test case number => Not needed
2018-07-23 18:10 bugmaster Status reviewed => tested
2018-07-23 18:10 bugmaster Note Added: 0077939
2018-07-28 12:26 bugmaster Changeset attached => occt master a6df1715
2018-07-28 12:26 bugmaster Status tested => verified
2018-07-28 12:26 bugmaster Resolution open => fixed
2018-07-28 12:39 git Note Added: 0078144