File size: 1,168 Bytes
6cd9596
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { Object3D } from './../../core/Object3D';
import { Geometry } from './../../core/Geometry';
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';

export interface RenderTarget {} // not defined in the code, used in LightShadow and WebGRenderer classes

export interface RenderItem {
  id: number;
  object: Object3D;
  geometry: Geometry | BufferGeometry;
  material: Material;
  program: WebGLProgram;
  groupOrder: number;
  renderOrder: number;
  z: number;
  group: Group;
}

export class WebGLRenderList {
  opaque: Array<RenderItem>;
  transparent: Array<any>;
  init(): void;
  push(
    object: Object3D,
    geometry: Geometry | BufferGeometry,
    material: Material,
    z: number,
    group: Group
  ): void;

  sort(): void;
}

export class WebGLRenderLists {
  dispose(): void;
  /**
   *
   * returns {<String> : <WebGLRenderList>}
   */
  get(scene: Scene, camera: Camera): WebGLRenderList;
}