DiscussionsIssue archiveOCCT:Visualization

Archived issue #0025234

Implementing LBVH builder

Open CASCADEOCCT:Visualizationclosed26 public notes

Search issues

Description

A fast LBVH builder is necessary for new selection algorithm and other tasks.

Additional information

Linear BVH reduces the problem of BVH building to spatial sort along Morton curve (or Z curve). Sorting itself is implemeted by using radix-sort algorithm with O(N) complexity. Heavy stages of the algorithm were parallelized with Intel TBB. In sum, new builder processes more than 4M triangles per second (on quad core Intel i5-3450).

Public activity

26 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Thu Sep 11 14:26:04 2014 +0400

    Initial.

02Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Fri Sep 12 10:19:10 2014 +0400

    Update.

03Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Sep 12 12:29:51 2014 +0400

    Linear builder fixed.

04Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Fri Sep 12 16:15:16 2014 +0400

    Fix critical bug.

05Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Fri Sep 12 18:42:16 2014 +0400

    Optimize LBVH.

06Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Fri Sep 12 19:30:47 2014 +0400

    Optimize LBVH.

Author: dbp
Date: Fri Sep 12 18:42:16 2014 +0400

    Optimize LBVH.

Author: dbp
Date: Fri Sep 12 16:15:16 2014 +0400

    Fix critical bug.

Author: Author
Date: Fri Sep 12 12:29:51 2014 +0400

    Linear builder fixed.

Author: dbp
Date: Fri Sep 12 10:19:10 2014 +0400

    Update.

Author: dbp
Date: Thu Sep 11 14:26:04 2014 +0400

    Initial.
07Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Mon Sep 15 11:25:57 2014 +0400

    Optimize LBVH builder.

08Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Mon Sep 15 12:19:53 2014 +0400

    Optimize radix sort function.

09Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Mon Sep 15 13:28:26 2014 +0400

    Cosmetics.

10Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Mon Sep 15 14:35:44 2014 +0400

    0025234: Implementing LBVH builder
    Performs fast BVH construction using LBVH building approach. Algorithm uses spatial Morton codes to reduce the BVH construction problem to a sorting problem (radix sort -- O(N) complexity). This Linear Bounding Volume Hierarchy (LBVH) builder produces BVH trees of lower quality compared to SAH-based BVH builders but it is over an order of magnitude faster (up to 3M triangles per second).
11Commenter 11
Dear kgv,

please review the patch in branch CR25234_2.
12Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
13Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Mon Sep 15 15:19:33 2014 +0400

    0025234: Implementing LBVH builder
    Performs fast BVH construction using LBVH building approach. Algorithm uses spatial Morton codes to reduce the BVH construction problem to a sorting problem (radix sort -- O(N) complexity). This Linear Bounding Volume Hierarchy (LBVH) builder produces BVH trees of lower quality compared to SAH-based BVH builders but it is over an order of magnitude faster (up to 3M triangles per second).
14Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Mon Sep 15 15:29:09 2014 +0400

    Add compile-time checking.

15Commenter 15
Dear abv,

please review the patch in branch CR25234_2.
16Commenter 16
I have no remarks on the changes made, however it seems to be not reasonable to test the fix since it is based on patch for #0025227 which is not yet ready. Please rebase this branch on new version of fix for #0025227
17Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Wed Sep 24 19:29:17 2014 +0400

    Parallelizing LBVH builder.

Author: dbp
Date: Mon Sep 15 15:29:09 2014 +0400

    Add compile-time checking.

Author: dbp
Date: Mon Sep 15 15:19:33 2014 +0400

    0025234: Implementing LBVH builder
    Performs fast BVH construction using LBVH building approach. Algorithm uses spatial Morton codes to reduce the BVH construction problem to a sorting problem (radix sort -- O(N) complexity). This Linear Bounding Volume Hierarchy (LBVH) builder produces BVH trees of lower quality compared to SAH-based BVH builders but it is over an order of magnitude faster (up to 3M triangles per second).

Author: dbp
Date: Thu Sep 11 13:37:48 2014 +0400

    Cosmetics.

Author: dbp
Date: Wed Sep 10 12:37:14 2014 +0400

    0025227: Visualization - optimize BVH binned builder
    BVH binned builder is used for different rendering aspects, such as view frustum culling, ray-tracing, and (in future) for selection. It is desirable to improve builder performance. This simple patch decreases BVH building time for 30-35%.
18Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: dbp
Date: Wed Sep 24 19:32:40 2014 +0400

    0025234: Implementing LBVH builder
    
    Performs fast BVH construction using LBVH building approach. Algorithm uses spatial Morton codes to reduce the BVH construction problem to a sorting problem (radix sort -- O(N) complexity). This Linear Bounding Volume Hierarchy (LBVH) builder produces BVH trees of lower quality compared to SAH-based BVH builders but it is over an order of magnitude faster (up to 4M triangles per second).
19Commenter 19
Dear abv,

please review the patch in branch CR25234_4 (was rebased on 25277).
20Commenter 20
Reviewed along with #0025159, to be tested together (CR25159_1)
21Commenter 21
Tested in frame of issue #0025159

22Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
23Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
24Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
25Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
26Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records