Skip to content

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

@ollelogdahl

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions