View Issue Details

IDProjectCategoryView StatusLast Update
0024307Open CASCADEOCCT:Visualizationpublic2020-01-31 23:31
ReportersanAssigned Toapn  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
PlatformAOSL 
Product Version6.7.0 
Target Version6.8.0Fixed in Version6.8.0 
Summary0024307: TKOpenGl - efficient culling of large number of presentations
DescriptionIt is necessary to optimize TKOpenGl library for rendering of large number of presentations (up to 100K or even more).

One of ways to decrease the load on the graphic card is to apply viewing volume culling at the application level, at the beginning of frame redrawing process, and do not pass the structures outside of the volume to OpenGL.

An efficient algorithm of spatial search should be chosen: time needed for TKOpenGl to redraw a scene when the frustum culling algorithm is applied should be significantly less than time needed for TKOpenGl to redraw a scene without it for 100K structures (presentations). The result should be confirmed by corresponding time measurements.

Bounding spheres might give better results for early occlusion on CPU.
Hardware occlusion queries might be investigated as further improvement.

Notice that optimization of selection services should be also considered within the patch.
Steps To Reproduce
pload MODELING VISUALIZATION
vinit View1
vclear
vaxo
vsetdispmode 0
set aMem [vmemgpu f]
chrono t reset
chrono t start
set dim 20
for {set x 1} {$x < $dim} {incr x} { for {set y 1} {$y < $dim} {incr y} { for {set z 1} {$z < $dim} {incr z} { box b${x}_${y}_${z} $x $y $z 0.5 0.3 0.2 } } }
chrono t stop
chrono t show
set aSysMem [meminfo heap]
chrono t reset
chrono t start
for {set x 1} {$x < $dim} {incr x} { for {set y 1} {$y < $dim} {incr y} { for {set z 1} {$z < $dim} {incr z} { vdisplay  -noredraw b${x}_${y}_${z} } } }
chrono t stop
chrono t show
vfit
set aMem    [expr $aMem - [vmemgpu f]]
set aSysMem [expr [meminfo heap] - $aSysMem]
puts "GPU memory: $aMem"
puts "CPU memory: $aSysMem"
vfps
vzoom 2
vfps
vzoom 2
vfps
TagsNo tags attached.
Test case numberbugs vis(004) bug24307_1, bug24307_2

Attached Files

  • performance_test_results.xls (15,872 bytes)
  • BVH_clipping_performance_optimized.xls (42,496 bytes)
  • BVH_clipping_performance_with_priorities.xls (42,496 bytes)

Relationships

related to 0024473 closedbugmaster Open CASCADE TKMath, BVH - introduce template-based package for Bounding volume hierarchy structures and tools 
parent of 0029823 closedbugmaster Open CASCADE Visualization, TKOpenGl - highlighting by Bounding Box mistreats Local Transformation 
parent of 0030223 closedapn Open CASCADE Visualization, TKOpenGl - frustum culling does not clip objects within perspective camera 
parent of 0030434 closedbugmaster Open CASCADE Visualization, TKV3d - add "NoUpdate" state of frustum culling optimization 
parent of 0031341 closedbugmaster Community Visualization - Graphic3d_Layer::UpdateCulling() ignores Presentation range 
related to 0024704 closedbugmaster Open CASCADE Visualization - inherit OpenGl_Structure from Graphic3d_CStructure 
related to 0024705 closedbugmaster Open CASCADE Draw Harness - add -noupdate option to vdisplay command 
related to 0023519 closedbugmaster Community Mixing wireframe and shaded visualization impacts performance 
related to 0024837 closedbugmaster Open CASCADE Visualization - revise design and implementation of connected Interactive Objects 
related to 0024873 closedbugmaster Open CASCADE Draw Harness, ViewerTest - add command vbounding to show presentation bounding box 
related to 0025063 closedbugmaster Open CASCADE Visualization - 2D objects are not displayed at some camera positions 
related to 0024723 closedbugmaster Open CASCADE Not implemented methods in Visual3d and V3d 
related to 0025675 closedbugmaster Open CASCADE Visualization - Fix problems and inefficiencies with frustum culling 
related to 0026650 closedbugmaster Open CASCADE Coding rules - fix misprint in NCollection_Vec3::operator/() 
related to 0028093 closedapn Open CASCADE Visualization - access violation on removal of dynamic highlighting after device loss 
related to 0030412 closedbugmaster Open CASCADE Visualization, TKV3d - add presentation of camera frustum 
related to 0030516 closedbugmaster Community Visualization - Pointer to an OpenGl_Structure is deleted and accessed later after PrsMgr_Presentation::Highlight() 

Activities

san

2013-11-11 20:41

developer   ~0026552

Last edited: 2013-11-11 22:09

OpenGl_Structure.cxx: please, consider using NCollection_Mat4 and NCollection_Vec4 classes rather than implementing matrix operations anew.

PrsMgr_PresentationManager3d class: what is the logic of InitBoundingBox() method? How it is supposed to be used?

Graphic3d_CStructure.hxx: there is already BoundBox field, why it cannot be re-used for clipping purposes? Is ClippingBoundBox field really necessary?

Graphic3d_Structure class: is new method CalculateBoundBox() really needed? What is the purpose? MinMaxValues() is already called by existing logic, is not it possible just to store its result somewhere?

ViewerTest.cxx, PrsMgr_Presentation3d.cxx, Graphic3d_Structure.cxx, OpenGl_GraphicDriver.cxx: bad indentation.

kgv

2013-11-18 11:07

developer   ~0026686

Dear vpa,

please implement new option "update=0" to vdisplay command to (optionally) eliminate delay during displaying big number of presentation objects.
vdisplay update=0 anObj1 anObj2
or
vdisplay redraw=0 anObj1 anObj2

vpa

2013-11-18 16:56

developer   ~0026711

Dear kgv,

the branch was updated according to your remark. Please, review.

kgv

2013-11-18 17:30

developer   ~0026713

Dear vpa,

please consider following remarks.

- New vdisplay argument should be documented within "help vdisplay" output.
- Patch should be squashed and re-based against current master before review.
- When patch is ready it should be switched to "resolved" state and assigned to reviewer.
- Push performance tests results to mantis.

+  if(argc >= 3)

Please process new argument within general loop through the arguments.
Use UpperCase() to make argument case insensitive and auxiliary function splitParameter (see VDefaults() as reference).

+wait 3

What for wait within the test script?

+unset aFpsInfo
+set aFpsInfo [vfps]
+puts "All boxes were displayed. FPS Info:"
+puts $aFpsInfo
+puts ""

These set/unset tricks look meaningless. Please just call vfps.

+puts "TEST CASE 2: 2/3 of boxes is out of the viewing area"

Please move out dedicated test cases into dedicated files.

+    set aCurrName "test_box"

Please consider 2-spaces indentation in tcl scripts

 void OpenGl_Structure::SetBoundingBox(CALL_DEF_BOUNDBOX theBoundBox)

CALL_DEF_BOUNDBOX is a structure, consider usage of const reference instead of redundant copies when possible.

+   //! Enables/disables objects clipping.
+  int IsClippingEnabled;

drunk indentation.

+  Standard_Real aMaxX = 0, aMaxY = 0, aMaxZ = 0;

Implicit casts.

vpa

2013-11-22 16:33

developer  

performance_test_results.xls (15,872 bytes)

vpa

2013-11-22 16:37

developer   ~0026856

Last edited: 2013-11-22 16:42

Dear kgv,

results of performance tests were attached to issue. The source code was corrected according to your remarks, patch is located at branch CR24307_1. Please, review.

kgv

2013-11-25 09:06

developer   ~0026864

Current test case is insufficient for testing new functionality - there should be cases with high polygonal objects. And current implementation shows not good results.

vpa

2014-02-20 16:16

developer   ~0027984

Dear dbp,

the code changes are ready for review in branch CR24307_4.

vpa

2014-02-21 17:22

developer   ~0027999

Added performance test results for solid spheres, see in attachments.

kgv

2014-02-22 10:38

developer   ~0028003

Dear vpa,

all source files should contain copyright header - please see other files as example. Also functions in *.cxx files should be marked with === blocks - please read OCCT coding rules.

@@ -421,6 +421,22 @@ void OpenGl_View::Render (const Handle(OpenGl_PrinterContext)& thePrintContext,
     }
   }
 
+  Standard_Boolean isMtrUpdateNeeded = Standard_False;
+  static Standard_Size aProjectionState = 0;
+  static Standard_Size anOrientationState = 0;

Please don't forget about these temporary variables.

+  const OpenGl_AABB GetBoundingBox() const { return *myBoundingBox; }

Here and in other places - please return reference when returning class fields.

+void OpenGl_BVHTreeSelector::SetClipPlanes(const NCollection_Mat4<Standard_ShortReal> &theProjection, const NCollection_Mat4<Standard_ShortReal> &theModelView)
+{

Please fix all occurrences of broken style.

vpa

2014-02-24 18:11

developer  

BVH_clipping_performance_optimized.xls (42,496 bytes)

vpa

2014-02-24 18:12

developer   ~0028016

Updated performance tests results, now they contain information about performance both on solid spheres and wired boxes.

vpa

2014-03-05 17:02

developer   ~0028153

Dear kgv,

the patch is ready in branch CR24307_5. Please, review.

kgv

2014-03-05 19:24

developer   ~0028157

Dear vpa,

the minor corrections have been pushed to the same branch.
Please proceed the following remarks:

inline Standard_ShortReal RealToShortReal (const Standard_Real theVal)

Documentation is missing for new function.

Graphic3d_Structure::CalculateBoundBox ( me	: mutable )

Documentation is missing for new method.

static Standard_Boolean isLeftChildQueuedFirst = Standard_True;

Global variable within OpenGl_PriorityList::renderTraverse()!

  Standard_EXPORT void BoundaryBox (const Graphic3d_CStructure& ACStructure, const Standard_Boolean Create, const Standard_Boolean Highlight = Standard_True);

The method name is ambiguous for both - new and old functionality.
Please create two new methods with meaningful name and remove old one (from Graphic3d_GraphicDriver and OpenGl_GraphicDriver).

OpenGl_Structure::SetBoundingBox (const CALL_DEF_BOUNDBOX& theBoundBox)
{
  myBoundingBox = new OpenGl_AABB (aMinPt, aMaxPt);

Bounding box should be always part of the structure and not dynamically allocated, isn't it?

OpenGl_BVHTreeSelector* OpenGl_View::myBVHSelector;

What for dynamic allocation (especially without destruction)?

+    IsClippingEnabled (0)

Shouldn't be clipping enabled by default in Graphic3d_CView?
According to tests it should be beneficial in some cases and almost harmless in others.

vpa

2014-03-06 19:19

developer   ~0028172

Dear kgv,

the branch was updated according to your remarks. Please, review.

abv

2014-03-06 19:32

manager   ~0028173

Last edited: 2014-03-06 19:33

Minor remark on commit message: the first line should contain issue ID without subscript, followed by issue description in Mantis; in this case "_4" corresponding to current branch name is redundant, and description is not the same as in the issue:

> 0024307_4: Implementation of objects clipping algorithm using BVH trees

On the other side, it is good practice to mention branch name in Mantis Note when issue is switched to Resolved

kgv

2014-03-06 20:28

developer   ~0028174

Dear vpa,

please do not use forced update in case of complex patches.
It is common practice to keep history as new commits in previously reviewed branch and create new one with squashed changes.

+        Standard_Integer aIdx = aBVHTree->BegPrimitive (aNode);
+        myBVHPrimitives.GetStructureById (aIdx)->Render (theWorkspace);

It seems that structure priority is completely ignored here.
Moreover structures are duplicated within OpenGl_PriorityList::myBVHPrimitives::myStructs and OpenGl_PriorityList::myArray without purpose.

+  OpenGl_BndBoxPrs (const CALL_DEF_BOUNDBOX& theBndBox)
+  {

Implementation should be moved to OpenGl_BndBoxPrs.cxx

kgv

2014-03-11 15:48

developer   ~0028198

Dear vpa,

please re-base patch on 0024704 (when it will be tested) to avoid bounding box info duplication.

+void OpenGl_BVHTreeSelector::SetViewVolume (const OpenGl_Mat4& theProjection,
+                                            const OpenGl_Mat4& theModelView)
+{
+  myIsProjectionParallel = (theProjection.GetValue (3, 3) == 1.0f);

please use Graphic3d_Camera::IsOrthographic() instead.

+  theCommands.Add("vsetortho", "vsetortho: left right bottom top near far",
+    __FILE__,VSetOrtho,group);

please move this command into dedicated patch (register new issue).
0024705 is intended for -noredraw flag.

vpa

2014-03-14 19:03

developer  

BVH_clipping_performance_with_priorities.xls (42,496 bytes)

vpa

2014-03-14 19:06

developer   ~0028292

Dear kgv,

the branch CR24307_5 was updated according to your remarks (see branch CR24307_6 for rebased and squashed patch).

Also performance tests considering structures priorities were updated, see file BVH_clipping_performance_with_priorities.xls in attachments.

kgv

2014-03-17 19:02

developer   ~0028314

Last edited: 2014-03-18 08:53

Dear vpa,

the branch CR24307_6 has been updated with several minor changes.

pload MODELING VISUALIZATION
vinit View1
vclear
vsetdispmode 1
for {set x 1} {$x < 1000} {incr x} { box b$x $x 0 0 1 3 2}
for {set x 1} {$x < 1000} {incr x} { vdisplay -noredraw b$x }
vfit

1) with clipping turned on nothing is displayed.
2) with clipping turned on interactive highlighting is extremely slow. Visual3d_View::ChangeDisplayPriority() method might be optimized to move structure across priorities without affecting BVH tree (when Z layer is unchanged).

It is also noticed that DRAWEXE randomly exits during highlighting without reason.

+void Graphic3d_Structure::CalculateBoundBox()
+{
+  Standard_Real aMaxX, aMaxY, aMaxZ;
+  Standard_Real aMinX, aMinY, aMinZ;
+  MinMaxValues (aMinX, aMinY, aMinZ, aMaxX, aMaxY, aMaxZ);

It seems MinMaxCoordWithDescendants() should be used instead and re-computed within Connect()/Disconnect(). Graphic3d_Structure::GraphicHighlight() should not modify bounding box.

@@ -2335,6 +2358,8 @@ void Graphic3d_Structure::UpdateStructure (const Handle(Graphic3d_AspectLine3d)&
   myCStructure->ContextFillArea.PolygonOffsetMode   = aPolyMode;
   myCStructure->ContextFillArea.PolygonOffsetFactor = aPolyFactor;
   myCStructure->ContextFillArea.PolygonOffsetUnits  = aPolyUnits;
+
+  myCStructure->BoundBox.Add (Graphic3d_Vec4 (0.0f));
 }

It doesn't look correct. What is intension for this call?

vpa

2014-04-11 16:27

developer   ~0028801

Dear kgv,

the branch CR24307_6 was updated according to your remarks. See branch CR24307_7 for re-based and squashed patch. Please, review.

kgv

2014-04-15 13:12

developer   ~0028839

Last edited: 2014-04-15 13:12

Remarks have been pushed to the branch CR24307_7.
Please test the patch.

mkv

2014-04-16 18:51

tester   ~0028903

Dear BugMaster,

Branch CR2424307_7 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 5ae0069a60cbc2e6818704183bfc319837fcfacf

Number of compiler warnings:

occt component :
Linux: 28 (18 on master)
Windows: 0 (0 on master)
MacOS: 419 (413 on master)

There are new additional compilation warnings on Linux platform:
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/job/mnt-CR24307_7-master_build_occt_linux/1/warnings16Result/?
OpenGl_Structure.hxx:226, GNU C Compiler 4 (gcc), Priority: Normal
‘Standard_Boolean OpenGl_Structure::myIsCulled’

OpenGl_Structure.hxx:230, GNU C Compiler 4 (gcc), Priority: Normal
‘OpenGl_Structure::myModificationState’ will be initialized after

OpenGl_Workspace.hxx:550, GNU C Compiler 4 (gcc), Priority: Normal
‘Standard_Boolean OpenGl_Workspace::myIsCullingEnabled’

OpenGl_Workspace.hxx:574, GNU C Compiler 4 (gcc), Priority: Normal
‘OpenGl_Workspace::PolygonOffset_applied’ will be initialized after

OpenGl_PriorityList.cxx:203, GNU C Compiler 4 (gcc), Priority: Normal
array subscript has type ‘char’

OpenGl_PriorityList.cxx:218, GNU C Compiler 4 (gcc), Priority: Normal
array subscript has type ‘char’

OpenGl_PriorityList.cxx:234, GNU C Compiler 4 (gcc), Priority: Normal
array subscript has type ‘char’

OpenGl_Structure.cxx:50, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here

OpenGl_Workspace.cxx:140, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here

ViewerTest.cxx:2380, GNU C Compiler 4 (gcc), Priority: Normal
comparison between signed and unsigned integer expressions

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
http://occt-tests/CR24307-7-master-occt/Debian60-64/summary.html
http://occt-tests/CR24307-7-master-occt/Windows-32-VC9/summary.html

Testing cases:
Not needed

There are following differences in images found by testdiff:
http://occt-tests/CR24307-7-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24307-7-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html

vpa

2014-04-28 19:16

developer   ~0029113

Dear kgv,

corresponding fixes were pushed into the branch CR24307_7, which was rebased on current master. Squashed patch is in the branch CR24307_8. Please, review.

kgv

2014-05-08 15:54

developer   ~0029257

Please test updated patch in branch CR24307_9 (based on current IR).

apn

2014-05-14 15:07

administrator   ~0029321

Last edited: 2014-05-14 17:55

Branch CR24307_9 (and products from GIT master) was compiled on Linux, Windows and MacOS platforms and tested.
SHA-1: 47d573d073c9bba633419169adeeeb46f819ca76

Number of compiler warnings:

occt component :
Linux: 17 (17 on master)
Windows: 0 (0 on master)
MacOS: 206 - 1 new warning
OpenGl_BVHClipPrimitiveSet.hxx:42, Clang (LLVM based), Priority: Normal
'OpenGl_BVHClipPrimitiveSet::Box' hides overloaded virtual function

products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions

Testing cases:
bugs modalg_5 bug24307_1 - OK (BAD image on WNT)
http://occt-tests/CR24307-9-master-occt/Debian60-64/bugs/vis/bug24307_1.html
http://occt-tests/CR24307-9-master-occt/Windows-32-VC9/bugs/vis/bug24307_1.html

bugs modalg_5 bug24307_2 - OK (BAD image on WNT)
http://occt-tests/CR24307-9-master-occt/Debian60-64/bugs/vis/bug24307_2.html
http://occt-tests/CR24307-9-master-occt/Windows-32-VC9/bugs/vis/bug24307_2.html

Testing on Linux:
Total MEMORY difference: 354739820 / 354629132
Total CPU difference: 56117.78 / 51092.58999999978
Testing on Windows:
Total MEMORY difference: 380109672 / 380248492
Total CPU difference: 39936.625 / 35796.078125

There are differences in images found by testdiff:
http://occt-tests/CR24307-9-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24307-9-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
v3d edge_solid L5 ...
bugs vis bug281_8 bug281_9 ...

vpa

2014-06-19 14:03

developer   ~0029830

Dear kgv,

updates were pushed into branch CR24307_9, it was re-based on current master. For squashed patch see branch CR24307_10. Please, review.

kgv

2014-06-19 14:43

developer   ~0029831

Dear bugmaster,

please test branch CR24307_10.

mkv

2014-06-19 17:35

tester   ~0029833

Dear BugMaster,

Branch CR24307_10 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: d75a38b186ef11321f893bdf26da9d53a163767e

There are compilation errors:

http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24307_10/job/mnt-CR24307_10-master_build_occt_linux/1/parsed_console/
In file included from ../../../../src/OpenGl/OpenGl_BVHClipPrimitiveSet.cxx:16:
../../../../inc/BVH_Set.hxx:46: error: ‘BVH_Box<T, N> BVH_Set<T, N>::Box(Standard_Integer) const [with T = float, int N = 4]’ is inaccessible
../../../../inc/OpenGl_BVHClipPrimitiveSet.hxx:32: error: within this context
make[2]: *** [OpenGl_BVHClipPrimitiveSet.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../../../../src/OpenGl/OpenGl_BVHTreeSelector.cxx:17:
../../../../inc/BVH_Set.hxx:46: error: ‘BVH_Box<T, N> BVH_Set<T, N>::Box(Standard_Integer) const [with T = float, int N = 4]’ is inaccessible
../../../../inc/OpenGl_BVHClipPrimitiveSet.hxx:32: error: within this context
make[2]: *** [OpenGl_BVHTreeSelector.lo] Error 1

http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24307_10/job/mnt-CR24307_10-master_prepare_build_occt_MacOS/1/parsed_console/
In file included from /Users/mnt/tools/WOK671/wok_entities/LOC/dev/CR24307-10-master-occt/src/OpenGl/OpenGl_BVHClipPrimitiveSet.cxx:16:
/Users/mnt/tools/WOK671/wok_entities/LOC/dev/CR24307-10-master-occt/inc/OpenGl_BVHClipPrimitiveSet.hxx:35:50: error: 'Box' is a private member of 'BVH_PrimitiveSet<float, 4>'
using BVH_PrimitiveSet<Standard_ShortReal, 4>::Box;

vpa

2014-06-20 11:40

developer   ~0029846

Dear mkv,

please test the updated branch CR24307_10.

mkv

2014-06-23 19:11

tester   ~0029864

Dear BugMaster,

Branch CR24307_10 (and products from GIT master) was compiled on Linux, MacOS platforms and tested.
SHA-1: ab489599c391a3f7cbbb95364ffb93b27d6942bf

Number of compiler warnings:

occt component :
Linux: 16 (16 on master)
MacOS: 200 (203 on master)

products component :
Linux: 11 (11 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24307-10-master-occt/Debian60-64/bugs/vis/bug24307_1.html
bugs vis(004) bug24307_1: OK

http://occt-tests/CR24307-10-master-occt/Debian60-64/bugs/vis/bug24307_2.html
bugs vis(004) bug24307_2: OK

Testing on Linux:
Total MEMORY difference: 348521024 / 348647320
Total CPU difference: 50585.80999999994 / 51365.40000000003

There are no differences in images found by testdiff.

mkv

2014-06-24 16:13

tester   ~0029872

Dear BugMaster,

Branch CR24307_10 (and products from GIT master) was compiled on Windows platform and tested.
SHA-1: ab489599c391a3f7cbbb95364ffb93b27d6942bf

Number of compiler warnings:

occt component :
Windows: 0 (0 on master)

products component :
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24307-10-master-occt/Windows-32-VC9/bugs/vis/bug24307_1.html
bugs vis(004) bug24307_1: OK

http://occt-tests/CR24307-10-master-occt/Windows-32-VC9/bugs/vis/bug24307_2.html
bugs vis(004) bug24307_2: OK

Testing on Windows:
Total MEMORY difference: 376572356 / 376858724
Total CPU difference: 38902.125 / 38774.578125

There are no differences in images found by testdiff.

Related Changesets

occt: master b7cd4ba7

2014-06-20 07:26:14

vpa


Committer: apn Details Diff
0024307: TKOpenGl - efficient culling of large number of presentations

Implement SAT intersection tests and frustum culling algorithm using BVH trees.

New Draw command vfrustumculling to manage frustum culling.
Add test cases bugs/vis/bug24307_1 and bugs/vis/bug24307_2.
Remove CALL_DEF_BOUNDBOX and CALL_DEF_BOUNDS.
Affected Issues
0024307
mod - src/BVH/BVH_PrimitiveSet.hxx Diff File
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d.cdl Diff File
add - src/Graphic3d/Graphic3d_BndBox4d.hxx Diff File
add - src/Graphic3d/Graphic3d_BndBox4f.hxx Diff File
rm - src/Graphic3d/Graphic3d_CBounds.hxx Diff File
mod - src/Graphic3d/Graphic3d_CStructure.cxx Diff File
mod - src/Graphic3d/Graphic3d_CStructure.hxx Diff File
mod - src/Graphic3d/Graphic3d_CView.hxx Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cdl Diff File
mod - src/Graphic3d/Graphic3d_Group.cdl Diff File
mod - src/Graphic3d/Graphic3d_Group.cxx Diff File
mod - src/Graphic3d/Graphic3d_Structure.cdl Diff File
mod - src/Graphic3d/Graphic3d_Structure.cxx Diff File
mod - src/InterfaceGraphic/InterfaceGraphic_Graphic3d.hxx Diff File
mod - src/NCollection/NCollection_Vec4.hxx Diff File
mod - src/OpenGl/FILES Diff File
add - src/OpenGl/OpenGl_BVHClipPrimitiveSet.cxx Diff File
add - src/OpenGl/OpenGl_BVHClipPrimitiveSet.hxx Diff File
add - src/OpenGl/OpenGl_BVHTreeSelector.cxx Diff File
add - src/OpenGl/OpenGl_BVHTreeSelector.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver_4.cxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver_7.cxx Diff File
mod - src/OpenGl/OpenGl_LayerList.cxx Diff File
mod - src/OpenGl/OpenGl_LayerList.hxx Diff File
mod - src/OpenGl/OpenGl_PriorityList.cxx Diff File
mod - src/OpenGl/OpenGl_PriorityList.hxx Diff File
mod - src/OpenGl/OpenGl_SceneGeometry.cxx Diff File
mod - src/OpenGl/OpenGl_SceneGeometry.hxx Diff File
mod - src/OpenGl/OpenGl_Structure.cxx Diff File
mod - src/OpenGl/OpenGl_Structure.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.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File
mod - src/OpenGl/OpenGl_Workspace_Raytrace.cxx Diff File
mod - src/Prs3d/Prs3d_Presentation.cdl Diff File
mod - src/Prs3d/Prs3d_Presentation.cxx Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.cdl Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.cxx Diff File
mod - src/PrsMgr/PrsMgr_Presentation.cxx Diff File
mod - src/Standard/Standard_Real.hxx Diff File
mod - src/V3d/V3d_View.cdl Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff File
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
mod - src/Visual3d/Visual3d_View.cdl Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File
add - tests/bugs/vis/bug24307_1 Diff File
add - tests/bugs/vis/bug24307_2 Diff File

Issue History

Date Modified Username Field Change
2013-11-01 15:54 san New Issue
2013-11-01 15:54 san Assigned To => vpa
2013-11-01 15:54 san Status new => assigned
2013-11-01 16:23 san Description Updated
2013-11-01 16:24 san Description Updated
2013-11-05 17:47 kgv Reproducibility have not tried => N/A
2013-11-05 17:47 kgv Target Version => 6.7.1
2013-11-11 20:41 san Note Added: 0026552
2013-11-11 22:09 san Note Edited: 0026552
2013-11-18 11:07 kgv Note Added: 0026686
2013-11-18 16:56 vpa Note Added: 0026711
2013-11-18 17:30 kgv Note Added: 0026713
2013-11-22 16:33 vpa File Added: performance_test_results.xls
2013-11-22 16:37 vpa Note Added: 0026856
2013-11-22 16:40 vpa Assigned To vpa => kgv
2013-11-22 16:40 vpa Status assigned => resolved
2013-11-22 16:42 vpa Note Edited: 0026856
2013-11-22 20:54 san Assigned To kgv => vpa
2013-11-22 20:54 san Status resolved => assigned
2013-11-25 09:06 kgv Note Added: 0026864
2013-11-25 09:06 kgv Summary Efficient clipping of large number of presentations => TKOpenGl - efficient clipping of large number of presentations
2013-11-25 09:06 kgv Description Updated
2013-12-06 08:27 kgv Description Updated
2014-01-17 20:43 kgv Relationship added related to 0024473
2014-02-20 16:16 vpa Assigned To vpa => dbp
2014-02-20 16:16 vpa Status assigned => feedback
2014-02-20 16:16 vpa Note Added: 0027984
2014-02-21 17:20 vpa File Added: BVH_clipping_performance_solid_sphere_tests.xls
2014-02-21 17:22 vpa Note Added: 0027999
2014-02-22 10:38 kgv Note Added: 0028003
2014-02-24 18:09 vpa File Deleted: BVH_clipping_performance_solid_sphere_tests.xls
2014-02-24 18:11 vpa File Added: BVH_clipping_performance_optimized.xls
2014-02-24 18:12 vpa Note Added: 0028016
2014-02-27 15:04 dbp Assigned To dbp => vpa
2014-02-27 15:04 dbp Status feedback => assigned
2014-03-05 17:01 vpa Assigned To vpa => kgv
2014-03-05 17:02 vpa Note Added: 0028153
2014-03-05 17:02 vpa Status assigned => resolved
2014-03-05 19:24 kgv Note Added: 0028157
2014-03-05 19:24 kgv Assigned To kgv => vpa
2014-03-05 19:24 kgv Status resolved => assigned
2014-03-06 19:19 vpa Note Added: 0028172
2014-03-06 19:19 vpa Assigned To vpa => kgv
2014-03-06 19:19 vpa Status assigned => resolved
2014-03-06 19:32 abv Note Added: 0028173
2014-03-06 19:33 abv Note Edited: 0028173
2014-03-06 20:28 kgv Note Added: 0028174
2014-03-06 20:28 kgv Assigned To kgv => vpa
2014-03-06 20:28 kgv Status resolved => assigned
2014-03-08 21:01 kgv Relationship added related to 0024704
2014-03-08 23:19 kgv Relationship added related to 0024705
2014-03-11 15:48 kgv Note Added: 0028198
2014-03-14 19:03 vpa File Added: BVH_clipping_performance_with_priorities.xls
2014-03-14 19:03 vpa Assigned To vpa => kgv
2014-03-14 19:06 vpa Note Added: 0028292
2014-03-14 19:06 vpa Status assigned => resolved
2014-03-17 19:02 kgv Note Added: 0028314
2014-03-17 19:02 kgv Assigned To kgv => vpa
2014-03-17 19:02 kgv Status resolved => assigned
2014-03-17 19:02 kgv Note Edited: 0028314
2014-03-18 08:53 kgv Note Edited: 0028314
2014-04-04 18:09 abv Target Version 6.7.1 => 6.8.0
2014-04-11 09:32 kgv Relationship added related to 0023519
2014-04-11 16:27 vpa Note Added: 0028801
2014-04-11 16:27 vpa Assigned To vpa => kgv
2014-04-11 16:27 vpa Status assigned => resolved
2014-04-15 13:12 kgv Note Added: 0028839
2014-04-15 13:12 kgv Assigned To kgv => bugmaster
2014-04-15 13:12 kgv Status resolved => reviewed
2014-04-15 13:12 kgv Note Edited: 0028839
2014-04-15 14:59 mkv Assigned To bugmaster => mkv
2014-04-16 12:03 kgv Relationship added related to 0024837
2014-04-16 18:51 mkv Note Added: 0028903
2014-04-16 18:52 mkv Test case number => Not needed
2014-04-16 18:52 mkv Assigned To mkv => vpa
2014-04-16 18:52 mkv Status reviewed => assigned
2014-04-25 22:14 kgv Relationship added related to 0024873
2014-04-28 19:16 vpa Note Added: 0029113
2014-04-28 19:16 vpa Assigned To vpa => kgv
2014-04-28 19:16 vpa Status assigned => resolved
2014-05-07 11:10 kgv Summary TKOpenGl - efficient clipping of large number of presentations => TKOpenGl - efficient culling of large number of presentations
2014-05-07 11:10 kgv Description Updated
2014-05-08 15:50 kgv Steps to Reproduce Updated
2014-05-08 15:54 kgv Note Added: 0029257
2014-05-08 15:54 kgv Assigned To kgv => bugmaster
2014-05-08 15:54 kgv Status resolved => reviewed
2014-05-08 18:50 mkv Assigned To bugmaster => apn
2014-05-14 15:07 apn Note Added: 0029321
2014-05-14 15:08 apn Test case number Not needed => bugs modalg_5 bug24307_1 bug24307_2
2014-05-14 15:08 apn Assigned To apn => vpa
2014-05-14 15:08 apn Status reviewed => assigned
2014-05-14 17:52 apn Note Edited: 0029321
2014-05-14 17:52 apn Note Edited: 0029321
2014-05-14 17:53 apn Note Edited: 0029321
2014-05-14 17:53 apn Note Edited: 0029321
2014-05-14 17:54 apn Note Edited: 0029321
2014-05-14 17:55 apn Note Edited: 0029321
2014-05-14 17:55 apn Note Edited: 0029321
2014-06-19 14:03 vpa Note Added: 0029830
2014-06-19 14:03 vpa Assigned To vpa => kgv
2014-06-19 14:03 vpa Status assigned => resolved
2014-06-19 14:43 kgv Note Added: 0029831
2014-06-19 14:43 kgv Assigned To kgv => bugmaster
2014-06-19 14:43 kgv Status resolved => reviewed
2014-06-19 16:18 mkv Assigned To bugmaster => mkv
2014-06-19 17:35 mkv Note Added: 0029833
2014-06-19 17:36 mkv Assigned To mkv => vpa
2014-06-19 17:36 mkv Status reviewed => assigned
2014-06-20 11:39 vpa Status assigned => resolved
2014-06-20 11:40 vpa Note Added: 0029846
2014-06-20 11:40 vpa Status resolved => reviewed
2014-06-20 11:47 kgv Assigned To vpa => bugmaster
2014-06-20 11:47 vpa Assigned To bugmaster => mkv
2014-06-23 19:11 mkv Note Added: 0029864
2014-06-23 19:11 mkv Test case number bugs modalg_5 bug24307_1 bug24307_2 => bugs vis(004) bug24307_1, bug24307_2
2014-06-24 16:13 mkv Note Added: 0029872
2014-06-24 16:14 mkv Assigned To mkv => bugmaster
2014-06-24 16:14 mkv Status reviewed => tested
2014-06-27 16:27 apn Changeset attached => occt master b7cd4ba7
2014-06-27 16:27 apn Assigned To bugmaster => apn
2014-06-27 16:27 apn Status tested => verified
2014-06-27 16:27 apn Resolution open => fixed
2014-07-09 13:43 kgv Relationship added related to 0025063
2014-09-11 09:54 abv Relationship added related to 0024723
2014-11-11 12:43 aiv Fixed in Version => 6.8.0
2014-11-11 13:02 aiv Status verified => closed
2014-12-29 16:12 kgv Relationship added related to 0025675
2015-09-07 09:37 kgv Relationship added related to 0026650
2016-11-11 17:01 kgv Relationship added related to 0028093
2018-05-29 10:36 kgv Relationship added parent of 0029823
2018-10-09 16:42 kgv Relationship added parent of 0030223
2018-12-13 10:46 kgv Relationship added related to 0030412
2019-01-10 12:17 kgv Relationship added parent of 0030434
2019-02-23 13:37 kgv Relationship added related to 0030516
2020-01-31 23:31 kgv Relationship added parent of 0031341