Viewer
This class is used to set up the configuration and canvas for RenderEngine. It also contains instance of grid-like ground, background and Coordinate System.
name: string;
get canvasContainer(): HTMLElement;
getScene(): Scene3D;
setScene(scene: Scene3D): void;
get isDestroyed(): boolean;
get enableInstance(): boolean;
set enableInstance(v: boolean): void;
get enableAutoInstanceKey(): boolean;
set enableAutoInstanceKey(v: boolean): void;
get enableMultiMeshMerge(): boolean;
set enableMultiMeshMerge(v: boolean): void;
get enableMeshMerge(): boolean;
set enableMeshMerge(v: boolean): void;
get rendererBackend(): RendererBackend;
get renderInfo(): RenderInfo;
get snapshotRendererV2(): SnapshotRenderer;
get requestRenderHandler(): RequestRenderHandler | undefined;
set requestRenderHandler(v: RequestRenderHandler | undefined): void;
requestRender: () => void;
createViewport(name: string, bound?: Vector4): Viewport;
removeViewport(viewport: Viewport): void;
clearViewport(): void;
waitForRenderOver: (v?: number) => Promise<void>;
getSize(): Size;
resize(size?: Size): void;
pause(): void;
resume(): void;
render(): void;
readRenderResult(resultData: Uint8Array, range: IRange): void;
readRenderResultAsync(
resultData: Uint8Array,
range: IRange,
): Promise<void> | undefined;
readRenderResultDataUrl(type?: string, ...args: any[]): string;
destroy(): void;
getRenderStatistics(): Readonly<RenderStatistics>;
getMemoryInfo(whenGrowFailed?: boolean): Readonly<MemoryInfo>;
downloadSceneData(name?: string): void;
createPicker(): Picker;
freeGPU(): void;
get snapshotRenderer(): SnapshotRenderer;
get config(): ViewerConfig;
get currentBackground(): BackgroundMode;
set currentBackground(v: BackgroundMode): void;
get ground(): Ground;
set ground(v: Ground): void;
coordSysHelper: CoordinateSystemHelper;
get currentRenderMode(): RenderMode;
get basicBackground(): BasicBackground;
set basicBackground(background: BasicBackground): void;
get solidBackground(): SolidColorBackground;
set solidBackground(background: SolidColorBackground): void;
get skyBackground(): SkyBackground;
set skyBackground(background: SkyBackground): void;
get envBackground(): EnvMapBackground;
set envBackground(background: EnvMapBackground): void;
get gradientBackground(): GradientBackground;
set gradientBackground(background: GradientBackground): void;
getContainerElement(): Readonly<HTMLElement>;
updateBackGroundParameter(parameter: BackgroundParameter): void;
setBackGroundMode(type: BackgroundMode): void;
setCamera(camera: Camera3D | ArrayCamera): void;
getCamera(): Camera3D;
setHighlightObjects(objects: HighLightItem[]): void;
setHighlightGroups(groups: HighlightGroup[]): void;
_uuid: string | null;
get uuid(): string;
set uuid(uuid: string): void;
_listeners: Map<Symbol, Listener<never>[]>;
on<T>(type: EventType<T>, listener: Listener<T>): void;
once<T>(type: EventType<T>, listener: Listener<T>): void;
has<T>(type: EventType<T>, listener: Listener<T>): boolean;
off<T>(type: EventType<T>, listener: Listener<T>): void;
emit(type: EventType<never>): void;
emit<T>(type: EventType<T>, payload: T): void;
clearAllListeners(): void;
}
Hierarchy
- EventDispatcher
- Viewer
Properties
name
The name of viewer, which could be empty.
request Render
Request to invoke RenderHandler function if it is not null;
wait For Render Over
Give an asynchronous function to user to block program until passed a period from last render.
coord Sys Helper
An instance of CoordinateSystemHelper which could be turned on by the config.
_ uuid
_ listeners
Inherited from EventDispatcher._listeners
Accessors
canvas Container
- get canvasContainer(): HTMLElement
Returns HTMLElement
is Destroyed
- get isDestroyed(): boolean
Returns boolean
enable Instance
- get enableInstance(): boolean
Returns boolean
- set enableInstance(v: boolean): void
Parameters
- v: boolean
Returns void
enable Auto Instance Key
- get enableAutoInstanceKey(): boolean
Returns boolean
- set enableAutoInstanceKey(v: boolean): void
Parameters
- v: boolean
Returns void
enable Multi Mesh Merge
- get enableMultiMeshMerge(): boolean
Returns boolean
- set enableMultiMeshMerge(v: boolean): void
Parameters
- v: boolean
Returns void
enable Mesh Merge
- get enableMeshMerge(): boolean
Returns boolean
- set enableMeshMerge(v: boolean): void
Parameters
- v: boolean
Returns void
renderer Backend
- get rendererBackend(): RendererBackend
Returns RendererBackend
render Info
- get renderInfo(): RenderInfo
This method provides some information of the engine for users. The instance of RenderInfo can get the number of refreshed times in the Shader program, materials and lights. The frameInfo includes Fps, usage of CPU and so on. The objectInfo includes the number of geometries, textures, drawcall, vertices, faces and so on.
Returns RenderInfo
snapshot Renderer V2
- get snapshotRendererV2(): SnapshotRenderer
Returns SnapshotRenderer
request Render Handler
- get requestRenderHandler(): RequestRenderHandler | undefined
Returns RequestRenderHandler | undefined
- set requestRenderHandler(v: RequestRenderHandler | undefined): void
Parameters
- v: RequestRenderHandler | undefined
Returns void
snapshot Renderer
- get snapshotRenderer(): SnapshotRenderer
config
- get config(): ViewerConfig
current BackgroundBackgroundMode.SkyBackground
The background mode which is shown in current canvas.
Returns BackgroundMode
Parameters
Returns void
ground
- get ground(): Ground
Returns Ground
- set ground(v: Ground): void
Parameters
- v: Ground
Returns void
current Render ModeRenderMode.SHADING
- get currentRenderMode(): RenderMode
basic Background
- get basicBackground(): BasicBackground
- set basicBackground(background: BasicBackground): void
solid Background
- get solidBackground(): SolidColorBackground
- set solidBackground(background: SolidColorBackground): void
sky Background
- get skyBackground(): SkyBackground
- set skyBackground(background: SkyBackground): void
env Background
- get envBackground(): EnvMapBackground
- set envBackground(background: EnvMapBackground): void
gradient Background
- get gradientBackground(): GradientBackground
- set gradientBackground(background: GradientBackground): void
uuid
- get uuid(): string
Returns string
Inherited from EventDispatcher.uuid
- set uuid(uuid: string): void
Parameters
- uuid: string
Returns void
Inherited from EventDispatcher.uuid
Methods
get Scene
Get the instance of 3D scene in current viewer.
Returns Scene3D
set Scene
If some users hopes to replace or update the 3d scene, they need to use the function, which has been invoked in constructor to initialize the root.
Parameters
- scene: Scene3D
A Scene3D object of current scene.
Returns void
- scene: Scene3D
create Viewport
remove Viewport
Parameters
- viewport: Viewport
Returns void
clear Viewport
Returns void
get Size
Get real size of drawing area from engine's width and height. The size normally is same as canvas.
Returns Size
resize
Change the size of rendering area, if the size is not given then it will automatically adapt to the canvas.
Parameters
- size: Size
Optional parameter.
Returns void
- size: Size
pause
Returns void
resume
Returns void
render
read Render Result
Get render result to a TypedArray from the Framebuffer. The result is a rectangular area from left-bottom beginning to right-top ending pixel.
Parameters
- resultData: Uint8Array
All color will be store in this array, which color' format is RGBA within 0-255,
- range: IRange
Returns void
- resultData: Uint8Array
read Render Result Async
Get render result to a TypedArray from the Framebuffer. The result is a rectangular area from left-bottom beginning to right-top ending pixel.
Parameters
- resultData: Uint8Array
All color will be store in this array, which color' format is RGBA within 0-255,
- range: IRange
Returns Promise<void> | undefined
- resultData: Uint8Array
read Render Result Data Url
destroy
stop the listening events, reset scene graph and camera, release the resource of engine and remove bounded canvas.
Returns void
get Render Statistics
Statistics data not only include the content of RenderInfo, also provide the size of geometryBuffer, textureByte and Framebuffer and so on.
Returns Readonly<RenderStatistics>
Remarks
See renderInfo for more details.
get Memory Info
Parameters
- whenGrowFailed: boolean
Returns Readonly<MemoryInfo>
download Scene Data
Download a file which store the data of current scene from browser.
Parameters
- name: string
The name of downloaded file. Default name is debug.
Returns void
- name: string
create Picker
If user needs picking feature, this method will offer a Picker's instance with two APIS: pick and pickFirst.
Returns Picker
free GPU
free gpu memory by context lost, restore gpu memory when next draw
Returns void
get Container Element
update Back Ground Parameter
set Back Ground Mode
Change the mode of background, and the parameters of the background will be set to default values;
Parameters
- type: BackgroundMode
A constant of BackgroundMode.
Returns void
- type: BackgroundMode
set Camera
Apply user's camera to renderer. This only works for 3D scene.
ArrayCamerais not supported in this function, use Viewport instead.Parameters
- camera: Camera3D | ArrayCamera
An instance belongs or extents form Camera.
Returns void
- camera: Camera3D | ArrayCamera
get Camera
Get the camera instance of current viewer. This only works for 3D scene.
Returns Camera3D
set Highlight Objects
This method will add highlight effect to all objects in the array.
Parameters
- objects: HighLightItem[]
HighLightItem is an interface which requires a Drawable object and an optional group index of geometry.
Returns void
- objects: HighLightItem[]
set Highlight Groups
Parameters
- groups: HighlightGroup[]
Returns void
on
once
has
off
emit
Active the event and call the registered listener.
Parameters
- type: EventType<never>
Returns void
Inherited from EventDispatcher.emit
clear All Listeners
Removes all listeners from listening list.
Returns void
Inherited from EventDispatcher.clearAllListeners
This class is used to set up the configuration and canvas for RenderEngine. It also contains instance of grid-like ground, background and Coordinate System.