Skip to content

Switching to an instance based system for embree BVHs #129

Description

@Waqar-ukaea

In #57 it became apparent that we may want to move to an instance based system for creating our embree BVHs for shared surfaces. This issue (and subsequent linked PR) should make this change. From my comment in #57 (comment):

I did some reading on the embree API and came across this page on instancing - https://manpages.debian.org/experimental/libembree-dev/RTC_GEOMETRY_TYPE_INSTANCE.3.en.html which suggests that making use of RTCGeometries of RTC_GEOMETRY_TYPE_INSTANCE could be a way to reduce memory overhead because the instanced scene is "only stored one time". It seems like these are designed for situations where you have shared geometry.

This sounds like it would be similar (not entirely sure if its the exact same system) to what I have been doing with GPRT where I create a BLAS and associated gprt::instance for each surface and my volume tree is a TLAS of those instances.

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