Engine API Reference - v2.23.0-beta.17
    Preparing search index...

    Class RenderHandler

    Resource handler for the render asset type. A render asset has no file of its own: it takes the meshes of one glTF mesh from the container asset named in its data and exposes them as a Render.

    Hierarchy (View Summary)

    Index
    _app: AppBase

    The running app instance.

    handlerType: string = ''

    Type of the resource the handler handles.

    • get maxRetries(): number

      Gets the number of times to retry a failed request for the resource.

      Returns number

    • set maxRetries(value: number): void

      Sets the number of times to retry a failed request for the resource.

      Parameters

      • value: number

      Returns void

    • Registers a ResourceParser for this handler. Parsers are consulted newest-first: the most recently added parser whose ResourceParser#canParse returns true is selected. This lets a later registration override a built-in parser for the same format.

      Register parsers before starting loads for this handler's type - selection runs for both the load and open phases, so changing the registry while loads are in flight can route them inconsistently. Note that handlers that implement their own loading without consulting registered parsers (for example cubemap or font) ignore registered parsers.

      Parameters

      • parser: ResourceParser

        The parser to register. Must implement canParse(context).

      • Optionaldecider: any

        Removed. Previously a (url, data) => boolean selector; implement canParse(context) on the parser instead. If passed, it is ignored and logs a warning.

      Returns void

      app.loader.getHandler('model').addParser(new ObjModelParser(app.graphicsDevice));
      
    • Fetches a resource's raw data using this handler's retry settings, reusing pre-fetched asset.file.contents when available. A convenience for a ResourceParser's load method, so parsers don't reimplement the fetch boilerplate.

      Parameters

      • url: string | { load: string; original: string }

        The resource URL, or a load/original structure.

      • responseType: string

        The Http response type to fetch as (for example Http.ResponseType.ARRAY_BUFFER for a binary format, or Http.ResponseType.TEXT).

      • callback: ResourceHandlerCallback

        Called with (err, data) when the fetch completes.

      • Optionalasset: Asset<string>

        The asset being loaded, used to reuse already-fetched contents.

      Returns void

    • Waits for a render asset's container to supply its meshes. Without an asset, completes with no render data.

      Parameters

      • url: string | { load: string; original: string }

        The resource URL. Not used for container-backed render assets.

      • callback: ResourceHandlerCallback

        Called with the container's render data or an error.

      • Optionalasset: Asset<string>

        The render asset whose container dependency should be loaded.

      Returns void

    • The open function is passed the raw resource data. The handler can then process the data into a format that can be used at runtime. When parsers are registered, the matching parser's open is used (if it implements one); otherwise the base implementation simply returns the data.

      Parameters

      • url: any

        The URL of the resource to open.

      • data: any

        The raw resource data passed by callback from load.

      Returns Render

      The parsed resource data.

    • The patch function performs any operations on a resource that requires a dependency on its asset data or any other asset data. The base implementation does nothing.

      Parameters

      • asset: any

        The asset to patch.

      • registry: any

      Returns void