|
@@ -21,6 +21,8 @@ THREE.WebGLRenderer3 = function ( parameters ) {
|
|
|
|
|
|
parameters = parameters || {};
|
|
parameters = parameters || {};
|
|
|
|
|
|
|
|
+ var scope = this;
|
|
|
|
+
|
|
var canvas = parameters.canvas !== undefined ? parameters.canvas : document.createElement( 'canvas' );
|
|
var canvas = parameters.canvas !== undefined ? parameters.canvas : document.createElement( 'canvas' );
|
|
|
|
|
|
var devicePixelRatio = parameters.devicePixelRatio !== undefined
|
|
var devicePixelRatio = parameters.devicePixelRatio !== undefined
|
|
@@ -177,6 +179,8 @@ THREE.WebGLRenderer3 = function ( parameters ) {
|
|
|
|
|
|
buffers[ geometry.id ] = buffer;
|
|
buffers[ geometry.id ] = buffer;
|
|
|
|
|
|
|
|
+ scope.info.memory.geometries ++;
|
|
|
|
+
|
|
return buffer;
|
|
return buffer;
|
|
|
|
|
|
};
|
|
};
|
|
@@ -269,6 +273,8 @@ THREE.WebGLRenderer3 = function ( parameters ) {
|
|
programsCache[ code ] = program;
|
|
programsCache[ code ] = program;
|
|
programs[ material.id ] = program;
|
|
programs[ material.id ] = program;
|
|
|
|
|
|
|
|
+ scope.info.memory.programs ++;
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
|
|
|
|
console.error( 'VALIDATE_STATUS: ' + gl.getProgramParameter( program, gl.VALIDATE_STATUS ) );
|
|
console.error( 'VALIDATE_STATUS: ' + gl.getProgramParameter( program, gl.VALIDATE_STATUS ) );
|
|
@@ -309,6 +315,27 @@ THREE.WebGLRenderer3 = function ( parameters ) {
|
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ this.info = {
|
|
|
|
+
|
|
|
|
+ memory: {
|
|
|
|
+
|
|
|
|
+ programs: 0,
|
|
|
|
+ geometries: 0,
|
|
|
|
+ textures: 0
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ render: {
|
|
|
|
+
|
|
|
|
+ calls: 0,
|
|
|
|
+ vertices: 0,
|
|
|
|
+ faces: 0,
|
|
|
|
+ points: 0
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ };
|
|
|
|
+
|
|
this.domElement = canvas;
|
|
this.domElement = canvas;
|
|
this.extensions = extensions;
|
|
this.extensions = extensions;
|
|
|
|
|
|
@@ -566,6 +593,8 @@ THREE.WebGLRenderer3 = function ( parameters ) {
|
|
|
|
|
|
gl.drawArrays( gl.TRIANGLES, 0, buffer.count );
|
|
gl.drawArrays( gl.TRIANGLES, 0, buffer.count );
|
|
|
|
|
|
|
|
+ scope.info.render.calls ++;
|
|
|
|
+
|
|
};
|
|
};
|
|
|
|
|
|
this.render = function ( scene, camera ) {
|
|
this.render = function ( scene, camera ) {
|
|
@@ -584,6 +613,8 @@ THREE.WebGLRenderer3 = function ( parameters ) {
|
|
objectsOpaque.length = 0;
|
|
objectsOpaque.length = 0;
|
|
objectsTransparent.length = 0;
|
|
objectsTransparent.length = 0;
|
|
|
|
|
|
|
|
+ scope.info.render.calls = 0;
|
|
|
|
+
|
|
currentBuffer = undefined;
|
|
currentBuffer = undefined;
|
|
currentMaterial = undefined;
|
|
currentMaterial = undefined;
|
|
currentProgram = undefined;
|
|
currentProgram = undefined;
|