Creates a new PixiMultiViewManager instance.
The constructor sets up the basic configuration but does not initialize the renderer. Call init() after construction to start the rendering system.
Optional
options: PixiMultiViewManagerOptionsConfiguration options for the manager
Gets whether this manager instance has been disposed.
When true
, the manager's resources have been cleaned up and it should
no longer be used. All rendering operations will be ignored after disposal.
True if disposed, false otherwise
Gets the managed PixiJS WebGLRenderer instance.
The renderer is created during initialization and used to render all MultiView instances. Returns null if the manager has not been initialized or has been disposed.
The WebGL renderer instance, or null if not available
Disposes of this manager instance and releases all associated resources.
This method performs complete cleanup of the manager including:
Asynchronously initializes the PixiJS renderer and starts the rendering loop.
This method creates a WebGL renderer with multiView capability enabled and starts the ticker-based rendering loop. The renderer is configured with optimal settings for billboard rendering.
Requests rendering for the specified IRenderablePixiView instance.
This method adds the instance to the render queue to be processed on the next ticker frame. Multiple requests for the same instance within a single frame are automatically deduplicated using a Set.
This method is primarily called internally by MultiView billboard classes:
updateContent()
is called on the billboardsetScale()
The renderable instance that needs updating
// Typically called internally by billboard classes:
// - In constructor: this._manager.requestRender(this);
// - In updateContent(): this._manager.requestRender(this);
// - In setScale(): this._manager.requestRender(this);
// Manual usage (if needed):
manager.requestRender(billboard);
// Multiple requests in the same frame are deduplicated
manager.requestRender(billboard);
manager.requestRender(billboard); // Only rendered once
Manages a single PixiJS v8 multiView renderer instance and coordinates rendering requests from multiple IRenderablePixiView instances.
This class serves as the central coordinator for the MultiView billboard system, managing rendering requests from MultiViewPixiBillboard and MultiViewPixiPlaneMesh instances. It leverages PixiJS v8's multiView capability to efficiently render multiple independent canvas elements using a single WebGL renderer.
Architecture Overview
Unlike the SharedStage approach which uses a single shared canvas and texture, the MultiView system specializes in efficiently managing multiple independent canvases and textures. This provides several advantages:
Rendering Queue System
The manager uses a queue-based approach where:
requestRender()
Integration with MultiView Classes
This manager is primarily used with:
MultiViewPixiBillboard
: Sprite-based billboards with independent canvasMultiViewPixiPlaneMesh
: Mesh-based billboards with independent canvasExample