Utilities

ImplicitBVH.BVHOptionsType
struct BVHOptions{I<:Integer, M}

Options for building and traversing bounding volume hierarchies, including parallel strategy settings.

An exemplar of an index (e.g. Int32(0)) is used to deduce the types of indices used in the BVH building (ImplicitTree, order) and traversal (IndexPair).

Methods

BVHOptions(;

    # Example index from which to deduce type
    index::Union{I, Type{I}}            = Int32(0),

    # Morton encoding algorithm
    morton::M                           = DefaultMortonAlgorithm(UInt32(0)),

    # CPU threading
    num_threads::Int                    = Threads.nthreads(),
    min_mortons_per_thread::Int         = 100,
    min_sorts_per_thread::Int           = 100,
    min_boundings_per_thread::Int       = 100,
    min_traversals_per_thread::Int      = 100,

    # GPU scheduling
    block_size::Int                     = 256,
) where {I <: Integer, M}

Fields

  • index_exemplar::Integer

  • morton::Any

  • num_threads::Int64

  • min_mortons_per_thread::Int64

  • min_sorts_per_thread::Int64

  • min_boundings_per_thread::Int64

  • min_traversals_per_thread::Int64

  • block_size::Int64

source
ImplicitBVH.get_index_typeFunction

Get index type from options or derived data types.

Methods

get_index_type(::ImplicitTree{I}) where I
get_index_type(bvh::BVH)
get_index_type(options::BVHOptions)
source