Skip to content

Add stages to Optix Runner #131

@taylorbrown75

Description

@taylorbrown75

The optix runner currently does not support stages, so when SimulationData is set up with stages all elements are put in the same scene.
This can cause inefficient sun sampling for some scenarios, where many more rays are generated than what actually hit elements, increasing simulation time. For instance, if a scene has a single heliostat far from a single receiver, many rays will be generated in between them which won't hit either element.

Possible solution:
Use OptiX's visibility masks to control when a ray can hit an element, similar to the embree implementation.

For embree, each stage is assigned a different mask value that is given to all its internal elements. Initially, rays are all assigned the mask value of the first stage, allowing rays to hit only elements in that stage. Then after the first stage is processed, the rays are assigned the mask value for the next stage, and so on. This ensures that rays only hit elements in the correct stage order.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions