Skip to content

Proposal: Add a lightweight build-option for BVH-construction-only usecases #600

Description

@ollelogdahl

I use Embree for building efficient BVHs that I then convert to a GPU format and RT using my own compute shader (simulating a specific HW ISA). In this scenario, I try to disable most of everything:

EMBREE_TUTORIALS OFF
EMBREE_ZIP_MODE OFF
EMBREE_SYCL_SUPPORT OFF
EMBREE_GEOMETRY_TRIANGLE OFF
EMBREE_GEOMETRY_QUAD OFF
EMBREE_GEOMETRY_CURVE OFF
EMBREE_GEOMETRY_SUBDIVISION OFF
EMBREE_GEOMETRY_USER OFF
EMBREE_GEOMETRY_USER OFF
EMBREE_GEOMETRY_INSTANCE OFF
EMBREE_GEOMETRY_INSTANCE_ARRAY OFF
EMBREE_GEOMETRY_GRID OFF
EMBREE_GEOMETRY_POINT OFF
EMBREE_RAY_PACKETS OFF

I however still see intersection code compiling (bvh_intersector and curve_intersector_virtual_ etc). In my usecase, Embree still takes quite a while to compile. My proposal is to add an option EMBREE_RAY_INTERSECTION_KERNELS=OFF or EMBREE_RAY_DISABLE_INTERSECTION_KERNELS that disables everything related to intersection tests. I'm posting this as a proposal to hear if others use Embree this way, and what the maintainance burden would be. I'm open to publishing a PR if this is of interest.

Best, and thanks for your good software :^)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions