1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

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.
This commit is contained in:
vpa
2014-06-20 11:26:14 +04:00
committed by apn
parent c1c1aefa71
commit b7cd4ba795
53 changed files with 1885 additions and 538 deletions

View File

@@ -16,6 +16,7 @@
#define InterfaceGraphic_Graphic3dHeader
#include <InterfaceGraphic_telem.hxx>
#include <Graphic3d_BndBox4f.hxx>
#include <Standard_Transient.hxx>
/* COULEUR */
@@ -34,18 +35,6 @@ typedef struct {
} CALL_DEF_POINT;
/* BOITE ENGLOBANTE */
typedef struct {
CALL_DEF_COLOR Color;
CALL_DEF_POINT Pmin;
CALL_DEF_POINT Pmax;
} CALL_DEF_BOUNDBOX;
/* MATERIAL */
typedef struct {
@@ -85,26 +74,12 @@ typedef struct
CALL_DEF_POINT Point;
} CALL_DEF_TRANSFORM_PERSISTENCE;
/* BOUNDING BOX */
typedef struct {
float XMin;
float YMin;
float ZMin;
float XMax;
float YMax;
float ZMax;
} CALL_DEF_BOUNDS;
/* USERDRAW DATA */
typedef struct {
void *Data;
CALL_DEF_BOUNDS *Bounds;
Graphic3d_BndBox4f *Bounds;
} CALL_DEF_USERDRAW;