Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Function getPointBlendingState

    • Point-specific blending state: identical to getCompleteBlendingState for every mode EXCEPT normal, where depthWrite is forced off unconditionally.

      Why points diverge from the generic predicate (mirrors the rationale in getGSplatNormalBlendingState): a point normal sprite stamps a single FLAT depth plane across the WHOLE billboard disc — transparent soft fringe included. When the back-to-front sort order is stale (routine for transparent sprites), that fringe depth-rejects the opaque core of an atom genuinely behind it, punching occlusion halos. Sorted transparency never depth-writes, so points opt out of depthWrite in normal at ANY opacity — unlike the generic normalModeDepthWrite predicate (opacity >= 0.99), which lines still use. Trade-off: an opaque normal points layer no longer occludes additive layers behind it (#1002).

      All OTHER modes are returned unchanged from getCompleteBlendingState.

      Parameters

      • mode: BlendingModeName
      • opacity: number = 1.0

        Layer opacity in [0, 1]. Passed through for the non-normal modes; ignored for normal (depthWrite never flips). Default 1.0.

      Returns CompleteBlendingState

      The complete THREE.js material state for a point material.