View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028760 | Open CASCADE | OCCT:Visualization | public | 2017-05-19 11:02 | 2018-06-29 21:19 |
Reporter | kgv | Assigned To | kgv | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 7.2.0 | ||||
Target Version | 7.3.0 | Fixed in Version | 7.3.0 | ||
Summary | 0028760: Visualization, TKOpenGl - avoid excessive frustum culling traverse within extra OIT rendering pass | ||||
Description | 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. | ||||
Steps To Reproduce | N/A | ||||
Tags | No tags attached. | ||||
Test case number | Not required | ||||
|
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. |
|
Branch CR28760 has been updated forcibly by kgv. SHA-1: b7e9a73d4518271810d4b5538cf6e815fe86b807 |
|
Patch is ready for review. http://jenkins-test-10.nnov.opencascade.com/view/CR28760-master-KGV |
|
Branch CR28760 reviewed without remarks, ready for testing. |
|
Branch CR28760 has been updated forcibly by kgv. SHA-1: 2b8832bb0ebd09520819fa2bc574e1a3e112b132 |
|
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 |
|
Branch CR28760 has been deleted by kgv. SHA-1: 2b8832bb0ebd09520819fa2bc574e1a3e112b132 |
occt: master 2b8832bb 2017-11-08 06:44:27 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. |
Affected Issues 0028760 |
|
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 |
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: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 | |
2017-11-09 14:57 |
|
Note Added: 0072119 | |
2017-11-09 14:57 |
|
Assigned To | san => bugmaster |
2017-11-09 14:57 |
|
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 |
|
Target Version | 7.4.0 => 7.3.0 |
2018-06-29 21:15 |
|
Fixed in Version | => 7.3.0 |
2018-06-29 21:19 |
|
Status | verified => closed |