MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028760Open CASCADE[OCCT] OCCT:Visualizationpublic2017-05-19 11:022018-06-29 21:19
Reporterkgv 
Assigned Tokgv 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.2.0 
Target Version[OCCT] 7.3.0Fixed in Version[OCCT] 7.3.0 
Summary0028760: Visualization, TKOpenGl - avoid excessive frustum culling traverse within extra OIT rendering pass
DescriptionOpenGl_LayerList::renderTransparent() performs rendering of transparent objects by calling OpenGl_Layer::Render(), which implies OpenGl_Layer::traverse() being called twice for each Layer - first within direct rendering of opaque groups (event if there no opaque groups) and then for transparent groups.

The second pass looks redundant.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required
Attached Files

- Relationships
child of 0027925closedbugmaster Open CASCADE Visualization - implement order-independent transparency algorithm within rasterization rendering 

-  Notes
(0072033)
git (administrator)
2017-11-08 10:24

Branch CR28760 has been created by kgv.

SHA-1: b5ab16015c1c5b813bc03acbeb3a1feda23dd97b


Detailed log of new commits:

Author: kgv
Date: Wed Nov 8 09:44:27 2017 +0300

    0028760: Visualization, TKOpenGl - avoid excessive frustum culling traverse within extra OIT rendering pass
    
    Culling traverse is no more called implicitly within OpenGl_Layer::Render().
    Instead, all layers are traversed at onces within OpenGl_View::render() beforehand.
    
    OpenGl_BVHTreeSelector methods have been renamed to better reflect their meaning.
    Non-persistent culling options has been moved to dedicated structure OpenGl_BVHTreeSelector::CullingContext
    so that OpenGl_BVHTreeSelector instance can be used for different Layers without modifying its state.

Author: kgv
Date: Wed Nov 8 00:11:57 2017 +0300

    0029300: Visualization, TKOpenGl - provide depth pre-pass option
    
    OpenGl_LayerList::Render() now handles new option Graphic3d_RenderingParams::ToEnableDepthPrepass
    which prepends additional pass to rendering pipeline filling Depth Buffer in advance.
(0072042)
git (administrator)
2017-11-08 11:19

Branch CR28760 has been updated forcibly by kgv.

SHA-1: b7e9a73d4518271810d4b5538cf6e815fe86b807
(0072043)
kgv (developer)
2017-11-08 11:33
edited on: 2017-11-08 17:47

Patch is ready for review.

http://jenkins-test-10.nnov.opencascade.com/view/CR28760-master-KGV [^]

(0072119)
san (developer)
2017-11-09 14:57

Branch CR28760 reviewed without remarks, ready for testing.
(0072129)
git (administrator)
2017-11-10 07:35

Branch CR28760 has been updated forcibly by kgv.

SHA-1: 2b8832bb0ebd09520819fa2bc574e1a3e112b132
(0072141)
bugmaster (administrator)
2017-11-10 11:04

Combination -
OCCT branch : CR28760 SHA-1: b7e9a73d4518271810d4b5538cf6e815fe86b807
Products branch : master
was compiled on Linux, MacOS and Windows platforms and tested on optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Linux:
OCCT
Total CPU difference: 20630.430000000477 / 20729.730000000465 [-0.48%]
Products
Total CPU difference: 7946.680000000076 / 7934.890000000088 [+0.15%]
Windows:
OCCT
Total CPU difference: 18824.843471298504 / 18506.86663299847 [+1.72%]
Products
Total CPU difference: 7957.06500649995 / 7981.338762099939 [-0.30%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0072791)
git (administrator)
2017-12-07 21:07

Branch CR28760 has been deleted by kgv.

SHA-1: 2b8832bb0ebd09520819fa2bc574e1a3e112b132

- Related Changesets
occt: master 2b8832bb
Timestamp: 2017-11-08 06:44:27
Author: kgv
Details ] Diff ]
0028760: Visualization, TKOpenGl - avoid excessive frustum culling traverse within extra OIT rendering pass

Culling traverse is no more called implicitly within OpenGl_Layer::Render().
Instead, all layers are traversed at onces within OpenGl_View::render() beforehand.

OpenGl_BVHTreeSelector methods have been renamed to better reflect their meaning.
Non-persistent culling options has been moved to dedicated structure OpenGl_BVHTreeSelector::CullingContext
so that OpenGl_BVHTreeSelector instance can be used for different Layers without modifying its state.
mod - src/OpenGl/OpenGl_BVHTreeSelector.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BVHTreeSelector.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Layer.cxx Diff ] File ]
mod - 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_Structure.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2017-05-19 11:02 kgv New Issue
2017-05-19 11:02 kgv Assigned To => kgv
2017-05-19 11:04 kgv Relationship added child of 0027925
2017-08-16 16:03 kgv Target Version 7.2.0 => 7.3.0
2017-11-08 10:17 kgv Relationship added related to 0029300
2017-11-08 10:18 kgv Summary Visualization, TKOpenGl - Avoid excessive frustum culling traverse within extra OIT rendering pass => Visualization, TKOpenGl - avoid excessive frustum culling traverse within extra OIT rendering pass
2017-11-08 10:24 git Note Added: 0072033
2017-11-08 11:19 git Note Added: 0072042
2017-11-08 11:33 kgv Note Added: 0072043
2017-11-08 11:33 kgv Assigned To kgv => san
2017-11-08 11:33 kgv Status new => resolved
2017-11-08 11:33 kgv Target Version 7.3.0 => 7.4.0*
2017-11-08 17:47 kgv Note Edited: 0072043 View Revisions
2017-11-09 14:57 san Note Added: 0072119
2017-11-09 14:57 san Assigned To san => bugmaster
2017-11-09 14:57 san Status resolved => reviewed
2017-11-10 07:35 git Note Added: 0072129
2017-11-10 11:00 bugmaster Test case number => Not required
2017-11-10 11:04 bugmaster Note Added: 0072141
2017-11-10 11:04 bugmaster Status reviewed => tested
2017-11-17 16:10 kgv Changeset attached => occt master 2b8832bb
2017-11-17 16:10 kgv Assigned To bugmaster => kgv
2017-11-17 16:10 kgv Status tested => verified
2017-11-17 16:10 kgv Resolution open => fixed
2017-12-07 21:07 git Note Added: 0072791
2018-02-20 12:58 user533 Target Version 7.4.0* => 7.3.0
2018-06-29 21:15 user533 Fixed in Version => 7.3.0
2018-06-29 21:19 user533 Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker