Browse Source

Merge pull request #19263 from taphos/dev

TS: Fix type declarations of renderer classes.
Mr.doob 5 years ago
parent
commit
80dc0ade37

+ 1 - 1
src/renderers/webgl/WebGLAnimation.d.ts

@@ -6,6 +6,6 @@ export class WebGLAnimation {
 
 	setAnimationLoop( callback: Function ): void;
 
-	setContext( value: WebGLRenderingContext | WebGL2RenderingContext ): void;
+	setContext( value: Window ): void;
 
 }

+ 8 - 7
src/renderers/webgl/WebGLBackground.d.ts

@@ -3,17 +3,18 @@ import { Color } from '../../math/Color';
 import { WebGLRenderer } from '../WebGLRenderer';
 import { WebGLState } from './WebGLState';
 import { WebGLObjects } from './WebGLObjects';
-import { WebGLRenderLists } from './WebGLRenderLists';
+import { WebGLRenderList } from './WebGLRenderLists';
 import { Scene } from '../../scenes/Scene';
+import { Camera } from "../../cameras/Camera";
 
 export class WebGLBackground {
 
-	constructor( renderer: WebGLRenderer, state: WebGLState, objects: WebGLObjects, premultipliedAlpha: any );
+	constructor( renderer: WebGLRenderer, state: WebGLState, objects: WebGLObjects, premultipliedAlpha: boolean );
 
-	getClearColor(): void;
-	setClearColor( color: Color, alpha: any ): void;
-	getClearAlpha(): void;
-	setClearAlpha( alpha: any ): void;
-	render( renderList: WebGLRenderLists, scene: Scene, camera: any, forceClear: any ): void;
+	getClearColor(): Color;
+	setClearColor( color: Color, alpha: number ): void;
+	getClearAlpha(): number;
+	setClearAlpha( alpha: number ): void;
+	render( renderList: WebGLRenderList, scene: Scene, camera: Camera, forceClear: boolean ): void;
 
 }

+ 5 - 1
src/renderers/webgl/WebGLBufferRenderer.d.ts

@@ -1,7 +1,11 @@
 // Renderers / WebGL /////////////////////////////////////////////////////////////////////
+import { WebGLExtensions } from "./WebGLExtensions";
+import { WebGLInfo } from "./WebGLInfo";
+import { WebGLCapabilities } from "./WebGLCapabilities";
+
 export class WebGLBufferRenderer {
 
-	constructor( _gl: WebGLRenderingContext, extensions: any, _infoRender: any );
+	constructor( gl: WebGLRenderingContext, extensions: WebGLExtensions, info: WebGLInfo, capabilities: WebGLCapabilities );
 
 	setMode( value: any ): void;
 	render( start: any, count: number ): void;

+ 1 - 1
src/renderers/webgl/WebGLCapabilities.d.ts

@@ -11,7 +11,7 @@ export class WebGLCapabilities {
 		parameters: WebGLCapabilitiesParameters
 	);
 
-	readonly isWebGL2: true;
+	readonly isWebGL2: boolean;
 	precision: string;
 	logarithmicDepthBuffer: boolean;
 	maxTextures: number;

+ 2 - 1
src/renderers/webgl/WebGLClipping.d.ts

@@ -10,9 +10,10 @@ export class WebGLClipping {
 	endShadows(): void;
 	setState(
 		planes: any[],
+		clipIntersection: boolean,
 		clipShadows: boolean,
 		camera: Camera,
-		cache: boolean,
+		cache: any,
 		fromCache: boolean
 	): void;
 

+ 1 - 1
src/renderers/webgl/WebGLPrograms.d.ts

@@ -13,7 +13,7 @@ export class WebGLPrograms {
 
 	getParameters(
 		material: Material,
-		lights: object[],
+		lights: any,
 		shadows: object[],
 		scene: Scene,
 		nClipPlanes: number,

+ 2 - 1
src/renderers/webgl/WebGLRenderLists.d.ts

@@ -41,7 +41,8 @@ export class WebGLRenderList {
 		z: number,
 		group: Group | null
 	): void;
-	sort(): void;
+	sort( opaqueSort: Function, transparentSort: Function ): void;
+	finish(): void;
 
 }
 

+ 4 - 2
src/renderers/webgl/WebGLShadowMap.d.ts

@@ -2,12 +2,14 @@ import { Scene } from './../../scenes/Scene';
 import { Camera } from './../../cameras/Camera';
 import { WebGLRenderer } from '../WebGLRenderer';
 import { ShadowMapType } from '../../constants';
+import { WebGLObjects } from "./WebGLObjects";
+import { Light } from "../../lights/Light";
 
 export class WebGLShadowMap {
 
 	constructor(
 		_renderer: WebGLRenderer,
-		_objects: any[],
+		_objects: WebGLObjects,
 		maxTextureSize: number
 	);
 
@@ -16,7 +18,7 @@ export class WebGLShadowMap {
 	needsUpdate: boolean;
 	type: ShadowMapType;
 
-	render( scene: Scene, camera: Camera ): void;
+	render( shadowsArray: Light[], scene: Scene, camera: Camera ): void;
 
 	/**
 	 * @deprecated Use {@link WebGLShadowMap#renderReverseSided .shadowMap.renderReverseSided} instead.

+ 1 - 1
src/renderers/webgl/WebGLState.d.ts

@@ -74,7 +74,7 @@ export class WebGLState {
 	setFlipSided( flipSided: boolean ): void;
 	setCullFace( cullFace: CullFace ): void;
 	setLineWidth( width: number ): void;
-	setPolygonOffset( polygonoffset: boolean, factor: number, units: number ): void;
+	setPolygonOffset( polygonoffset: boolean, factor?: number, units?: number ): void;
 	setScissorTest( scissorTest: boolean ): void;
 	activeTexture( webglSlot: number ): void;
 	bindTexture( webglType: number, webglTexture: any ): void;

+ 22 - 0
src/scenes/Scene.d.ts

@@ -3,6 +3,9 @@ import { Material } from './../materials/Material';
 import { Object3D } from './../core/Object3D';
 import { Color } from '../math/Color';
 import { Texture } from '../textures/Texture';
+import { WebGLRenderer } from "../renderers/WebGLRenderer";
+import { Camera } from "../cameras/Camera";
+import { RenderTarget } from "../renderers/webgl/WebGLRenderLists";
 // Scenes /////////////////////////////////////////////////////////////////////
 
 /**
@@ -29,6 +32,25 @@ export class Scene extends Object3D {
 
 	readonly isScene: true;
 
+	/**
+	 * Calls before rendering scene
+	 */
+	onBeforeRender: (
+		renderer: WebGLRenderer,
+		scene: Scene,
+		camera: Camera,
+		renderTarget: RenderTarget
+	) => void;
+
+	/**
+	 * Calls after rendering scene
+	 */
+	onAfterRender: (
+		renderer: WebGLRenderer,
+		scene: Scene,
+		camera: Camera
+	) => void;
+
 	toJSON( meta?: any ): any;
 	dispose(): void;