Skip to content

Questions about the implementation of BVH for 3DGRT #221

@12hyhy12

Description

@12hyhy12

Hi,

I'm a beginner in this field, and I apologize for my naive questions.

In optixTracer.cpp, the function buildBVH, from my understanding, creates a traversable handle ias which is built on a gaussian primitive and then creates gNum gaussian instances that reference that ias. At last, a gas is built based on those instances.

From my understanding, in Optix, ias is top-level and gas is bottom-level. However, in 3DGRT tracer, it looks like the handle ias becomes the bottom-level acceleration structure. Is there anything that I misunderstood?

Besides, I wonder why a very large gas is built on millions of instances and each instance only represent one gaussian primitive. What's the benefit?

Thank you in advance!

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