@pmndrs/bvh
    Preparing search index...

    Interface SceneTreesObject3DSyncOptions

    SceneTreesObject3DSync's options: the scene reader's, plus skinned and morphed meshes.

    interface SceneTreesObject3DSyncOptions {
        createPosePass?: (mesh: Mesh) => BvhPosePassLike;
        deforming?: boolean | ((mesh: Mesh) => boolean);
        deformSlack?: number;
        device?: GPUDevice;
        filter?: (mesh: Mesh) => boolean;
        layers?: boolean;
        material?: (mesh: Mesh, info: BvhThreeMaterialInfo) => number | undefined;
        multiMaterial?: "triangles" | "groups";
        renderer?: unknown;
        static?: boolean | ((object: Mesh, instanceId: number) => boolean);
    }

    Hierarchy (View Summary)

    Index
    createPosePass?: (mesh: Mesh) => BvhPosePassLike

    Makes a mesh's pose pass. Default new BvhPosePass(renderer, mesh).

    deforming?: boolean | ((mesh: Mesh) => boolean)

    Which meshes are posed on the GPU each update. Default: with a renderer, every SkinnedMesh and every mesh with position morph targets (threeDeforms); without one, none. false reads every mesh in its rest pose.

    deformSlack?: number

    Room added on every side of a posed mesh's top-level box, as a fraction of its largest extent, when the pose leaves the box (or the box grows to more than twice the pose's padded size). More room: fewer top-level updates, looser boxes. Default 0.25.

    device?: GPUDevice

    The device for posed meshes' index buffers. Default: the renderer's.

    filter?: (mesh: Mesh) => boolean

    Which meshes to include. Default: every mesh.

    layers?: boolean

    Map three's layers 0-7 to the instance mask (see the file comment). Default true; false: every instance 0xff.

    material?: (mesh: Mesh, info: BvhThreeMaterialInfo) => number | undefined

    The material index (0-65534) of an instance's triangles, reported as BvhHit.material. Default: none.

    multiMaterial?: "triangles" | "groups"

    How a multi-material mesh (an array of materials, with groups) becomes meshes, the same in bvhSceneFromObject3D, SceneTreesObject3DSync and BvhSceneRaycaster. 'triangles' (the default): one mesh and instance holding every group, each triangle with its group's material (triangleMaterials); its source's group and materialIndex are -1 (threeGroupOf and threeMaterialOf give a hit's). An object whose instances give a group different materials falls back to 'groups'. 'groups': one mesh and instance per group, with the group's material on the instance.

    renderer?: unknown

    The WebGPURenderer (initialized, on the SceneTrees' device) that runs the pose passes of skinned and morphed meshes. Without it they are read in their rest pose, as bvhSceneFromObject3D reads them.

    static?: boolean | ((object: Mesh, instanceId: number) => boolean)

    Instances that never move (TraceSceneInstance.static, for mergeStaticInstances). true for all, or a function of the object and instance (-1 for a plain mesh). Default false.