MantisBT - Open CASCADE
View Issue Details
0028760Open CASCADE[OCCT] OCCT:Visualizationpublic2017-05-19 11:022018-06-29 21:19
kgv 
kgv 
normalminor 
closedfixed 
[OCCT] 7.2.0 
[OCCT] 7.3.0[OCCT] 7.3.0 
Not required
0028760: Visualization, TKOpenGl - avoid excessive frustum culling traverse within extra OIT rendering pass
OpenGl_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.
N/A
No tags attached.
child of 0027925closed bugmaster Open CASCADE Visualization - implement order-independent transparency algorithm within rasterization rendering 
Issue History
2017-05-19 11:02kgvNew Issue
2017-05-19 11:02kgvAssigned To => kgv
2017-05-19 11:04kgvRelationship addedchild of 0027925
2017-08-16 16:03kgvTarget Version7.2.0 => 7.3.0
2017-11-08 10:17kgvRelationship addedrelated to 0029300
2017-11-08 10:18kgvSummaryVisualization, 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:24gitNote Added: 0072033
2017-11-08 11:19gitNote Added: 0072042
2017-11-08 11:33kgvNote Added: 0072043
2017-11-08 11:33kgvAssigned Tokgv => san
2017-11-08 11:33kgvStatusnew => resolved
2017-11-08 11:33kgvTarget Version7.3.0 => 7.4.0
2017-11-08 17:47kgvNote Edited: 0072043bug_revision_view_page.php?bugnote_id=72043#r18093
2017-11-09 14:57sanNote Added: 0072119
2017-11-09 14:57sanAssigned Tosan => bugmaster
2017-11-09 14:57sanStatusresolved => reviewed
2017-11-10 07:35gitNote Added: 0072129
2017-11-10 11:00bugmasterTest case number => Not required
2017-11-10 11:04bugmasterNote Added: 0072141
2017-11-10 11:04bugmasterStatusreviewed => tested
2017-11-17 16:10kgvChangeset attached => occt master 2b8832bb
2017-11-17 16:10kgvAssigned Tobugmaster => kgv
2017-11-17 16:10kgvStatustested => verified
2017-11-17 16:10kgvResolutionopen => fixed
2017-12-07 21:07gitNote Added: 0072791
2018-02-20 12:58aivTarget Version7.4.0 => 7.3.0
2018-06-29 21:15aivFixed in Version => 7.3.0
2018-06-29 21:19aivStatusverified => closed

Notes
(0072033)
git   
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   
2017-11-08 11:19   
Branch CR28760 has been updated forcibly by kgv.

SHA-1: b7e9a73d4518271810d4b5538cf6e815fe86b807
(0072043)
kgv   
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   
2017-11-09 14:57   
Branch CR28760 reviewed without remarks, ready for testing.
(0072129)
git   
2017-11-10 07:35   
Branch CR28760 has been updated forcibly by kgv.

SHA-1: 2b8832bb0ebd09520819fa2bc574e1a3e112b132
(0072141)
bugmaster   
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   
2017-12-07 21:07   
Branch CR28760 has been deleted by kgv.

SHA-1: 2b8832bb0ebd09520819fa2bc574e1a3e112b132