UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

67 lines (58 loc) 1.65 kB
import { Camera } from "../../cameras/Camera.js"; import { BufferGeometry } from "../../core/BufferGeometry.js"; import { Object3D } from "../../core/Object3D.js"; import { Material } from "../../materials/Material.js"; import { Group } from "../../objects/Group.js"; import { Scene } from "../../scenes/Scene.js"; import { WebGLProgram } from "./WebGLProgram.js"; import { WebGLProperties } from "./WebGLProperties.js"; export interface RenderItem { id: number; object: Object3D; geometry: BufferGeometry | null; material: Material; program: WebGLProgram; groupOrder: number; renderOrder: number; z: number; group: Group | null; } export class WebGLRenderList { constructor(properties: WebGLProperties); /** * @default [] */ opaque: RenderItem[]; /** * @default [] */ transparent: RenderItem[]; /** * @default [] */ transmissive: RenderItem[]; init(): void; push( object: Object3D, geometry: BufferGeometry | null, material: Material, groupOrder: number, z: number, group: Group | null, ): void; unshift( object: Object3D, geometry: BufferGeometry | null, material: Material, groupOrder: number, z: number, group: Group | null, ): void; sort(opaqueSort: (a: any, b: any) => number, transparentSort: (a: any, b: any) => number): void; finish(): void; } export class WebGLRenderLists { constructor(properties: WebGLProperties); dispose(): void; get(scene: Scene, renderCallDepth: number): WebGLRenderList; }