1 | import { Object3D } from './../../core/Object3D';
|
2 | import { Material } from './../../materials/Material';
|
3 | import { WebGLProgram } from './WebGLProgram';
|
4 | import { Group } from './../../objects/Group';
|
5 | import { Scene } from './../../scenes/Scene';
|
6 | import { Camera } from './../../cameras/Camera';
|
7 | import { BufferGeometry } from '../../core/BufferGeometry';
|
8 | import { WebGLProperties } from './WebGLProperties';
|
9 |
|
10 |
|
11 | export interface RenderTarget {}
|
12 |
|
13 | export interface RenderItem {
|
14 | id: number;
|
15 | object: Object3D;
|
16 | geometry: BufferGeometry | null;
|
17 | material: Material;
|
18 | program: WebGLProgram;
|
19 | groupOrder: number;
|
20 | renderOrder: number;
|
21 | z: number;
|
22 | group: Group | null;
|
23 | }
|
24 |
|
25 | export class WebGLRenderList {
|
26 | constructor(properties: WebGLProperties);
|
27 |
|
28 | /**
|
29 | * @default []
|
30 | */
|
31 | opaque: RenderItem[];
|
32 |
|
33 | /**
|
34 | * @default []
|
35 | */
|
36 | transparent: RenderItem[];
|
37 |
|
38 | /**
|
39 | * @default []
|
40 | */
|
41 | transmissive: RenderItem[];
|
42 |
|
43 | init(): void;
|
44 | push(
|
45 | object: Object3D,
|
46 | geometry: BufferGeometry | null,
|
47 | material: Material,
|
48 | groupOrder: number,
|
49 | z: number,
|
50 | group: Group | null,
|
51 | ): void;
|
52 | unshift(
|
53 | object: Object3D,
|
54 | geometry: BufferGeometry | null,
|
55 | material: Material,
|
56 | groupOrder: number,
|
57 | z: number,
|
58 | group: Group | null,
|
59 | ): void;
|
60 | sort(opaqueSort: (a: any, b: any) => number, transparentSort: (a: any, b: any) => number): void;
|
61 | finish(): void;
|
62 | }
|
63 |
|
64 | export class WebGLRenderLists {
|
65 | constructor(properties: WebGLProperties);
|
66 |
|
67 | dispose(): void;
|
68 | get(scene: Scene, renderCallDepth: number): WebGLRenderList;
|
69 | }
|