Spaces:
Running
Running
File size: 1,431 Bytes
2b7aae2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | import { Object3D } from './../../core/Object3D';
import { Material } from './../../materials/Material';
import { WebGLProgram } from './WebGLProgram';
import { Group } from './../../objects/Group';
import { Scene } from './../../scenes/Scene';
import { Camera } from './../../cameras/Camera';
import { BufferGeometry } from '../../core/BufferGeometry';
import { WebGLProperties } from './WebGLProperties';
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;
}
|