kopia lustrzana https://github.com/robhawkes/vizicities
Added renderer info debug
rodzic
b22d98ac0d
commit
a9638ed981
|
@ -30,6 +30,7 @@ module.exports = function(grunt) {
|
||||||
'src/client/Mediator.js',
|
'src/client/Mediator.js',
|
||||||
'src/client/debug/Dat.js',
|
'src/client/debug/Dat.js',
|
||||||
'src/client/debug/FPS.js',
|
'src/client/debug/FPS.js',
|
||||||
|
'src/client/debug/RendererInfo.js',
|
||||||
'src/client/Geo.js',
|
'src/client/Geo.js',
|
||||||
'src/client/City.js',
|
'src/client/City.js',
|
||||||
'src/client/Loop.js',
|
'src/client/Loop.js',
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// Set up debug tools
|
// Set up debug tools
|
||||||
this.dat = new VIZI.Dat();
|
this.dat = new VIZI.Dat();
|
||||||
this.fps = new VIZI.FPS();
|
this.fps = new VIZI.FPS();
|
||||||
|
this.rendererInfo = new VIZI.RendererInfo();
|
||||||
|
|
||||||
// Set up geo methods
|
// Set up geo methods
|
||||||
this.geo = VIZI.Geo.getInstance({
|
this.geo = VIZI.Geo.getInstance({
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
/* globals window, _, VIZI */
|
||||||
|
(function() {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
VIZI.RendererInfo = function() {
|
||||||
|
VIZI.Log("Inititialising renderer info");
|
||||||
|
|
||||||
|
_.extend(this, VIZI.Mediator);
|
||||||
|
|
||||||
|
this.domContainer = this.createDOMContainer();
|
||||||
|
this.domRender = this.createDOMElement();
|
||||||
|
this.domMemory = this.createDOMElement();
|
||||||
|
|
||||||
|
this.subscribe("updateRendererInfo", this.update);
|
||||||
|
};
|
||||||
|
|
||||||
|
VIZI.RendererInfo.prototype.createDOMContainer = function() {
|
||||||
|
VIZI.Log("Creating renderer info DOM container");
|
||||||
|
|
||||||
|
var container = document.createElement("div");
|
||||||
|
container.id = "renderer-info-container";
|
||||||
|
container.style.position = "absolute";
|
||||||
|
container.style.left = 0;
|
||||||
|
container.style.bottom = 0;
|
||||||
|
|
||||||
|
document.body.appendChild(container);
|
||||||
|
|
||||||
|
return container;
|
||||||
|
};
|
||||||
|
|
||||||
|
VIZI.RendererInfo.prototype.createDOMElement = function() {
|
||||||
|
VIZI.Log("Creating renderer info DOM element");
|
||||||
|
|
||||||
|
var element = document.createElement("div");
|
||||||
|
element.style.float = "left";
|
||||||
|
element.style.color = "#999";
|
||||||
|
element.style.fontFamily = "sans-serif";
|
||||||
|
element.style.fontSize = "10px";
|
||||||
|
element.style.fontWeight = "bold";
|
||||||
|
element.style.lineHeight = "1.2em";
|
||||||
|
element.style.margin = "5px";
|
||||||
|
element.style.textAlign = "left";
|
||||||
|
element.style.textTransform = "uppercase";
|
||||||
|
element.style.width = "100px";
|
||||||
|
|
||||||
|
this.domContainer.appendChild(element);
|
||||||
|
|
||||||
|
return element;
|
||||||
|
};
|
||||||
|
|
||||||
|
VIZI.RendererInfo.prototype.createInfoStrings = function(info) {
|
||||||
|
var memoryString = "";
|
||||||
|
memoryString += "Programs: " + info.memory.programs + "<br>";
|
||||||
|
memoryString += "Geometries: " + info.memory.geometries + "<br>";
|
||||||
|
memoryString += "Textures: " + info.memory.textures + "<br>";
|
||||||
|
|
||||||
|
var renderString = "";
|
||||||
|
renderString += "Calls: " + info.render.calls + "<br>";
|
||||||
|
renderString += "Vertices: " + info.render.vertices + "<br>";
|
||||||
|
renderString += "Faces: " + info.render.faces + "<br>";
|
||||||
|
renderString += "Points: " + info.render.points + "<br>";
|
||||||
|
|
||||||
|
return [renderString, memoryString];
|
||||||
|
};
|
||||||
|
|
||||||
|
VIZI.RendererInfo.prototype.update = function(info) {
|
||||||
|
var infoStrings = this.createInfoStrings(info);
|
||||||
|
this.domRender.innerHTML = infoStrings[0];
|
||||||
|
this.domMemory.innerHTML = infoStrings[1];
|
||||||
|
};
|
||||||
|
}());
|
|
@ -20,7 +20,7 @@
|
||||||
this.lookAtTarget();
|
this.lookAtTarget();
|
||||||
|
|
||||||
this.publish("addToScene", this.camera);
|
this.publish("addToScene", this.camera);
|
||||||
this.publish("addToDat", this, {name: "Camera", properties: ["cameraRadius", "theta", "phi", "lookAtTarget", "updatePosition"]});
|
this.publish("addToDat", this, {name: "Camera", properties: ["cameraRadius", "theta", "phi"]});
|
||||||
|
|
||||||
this.subscribe("resize", this.resize);
|
this.subscribe("resize", this.resize);
|
||||||
};
|
};
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
VIZI.Renderer.prototype.render = function() {
|
VIZI.Renderer.prototype.render = function() {
|
||||||
this.publish("fpsTickStart", "render");
|
this.publish("fpsTickStart", "render");
|
||||||
this.renderer.render( this.scene, this.camera );
|
this.renderer.render( this.scene, this.camera );
|
||||||
|
this.publish("updateRendererInfo", this.renderer.info);
|
||||||
this.publish("fpsTickEnd", "render");
|
this.publish("fpsTickEnd", "render");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue