Added renderer info debug

0.1
Rob Hawkes 2013-11-01 14:35:33 +00:00
rodzic b22d98ac0d
commit a9638ed981
5 zmienionych plików z 75 dodań i 1 usunięć

Wyświetl plik

@ -30,6 +30,7 @@ module.exports = function(grunt) {
'src/client/Mediator.js',
'src/client/debug/Dat.js',
'src/client/debug/FPS.js',
'src/client/debug/RendererInfo.js',
'src/client/Geo.js',
'src/client/City.js',
'src/client/Loop.js',

Wyświetl plik

@ -10,6 +10,7 @@
// Set up debug tools
this.dat = new VIZI.Dat();
this.fps = new VIZI.FPS();
this.rendererInfo = new VIZI.RendererInfo();
// Set up geo methods
this.geo = VIZI.Geo.getInstance({

Wyświetl plik

@ -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];
};
}());

Wyświetl plik

@ -20,7 +20,7 @@
this.lookAtTarget();
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);
};

Wyświetl plik

@ -43,6 +43,7 @@
VIZI.Renderer.prototype.render = function() {
this.publish("fpsTickStart", "render");
this.renderer.render( this.scene, this.camera );
this.publish("updateRendererInfo", this.renderer.info);
this.publish("fpsTickEnd", "render");
};