Ver Fonte

added mesh stats

ncannasse há 7 anos atrás
pai
commit
70138976b9
1 ficheiros alterados com 27 adições e 0 exclusões
  1. 27 0
      hide/view/Model.hx

+ 27 - 0
hide/view/Model.hx

@@ -78,6 +78,23 @@ class Model extends FileView {
 	function selectObject( obj : h3d.scene.Object ) {
 		properties.clear();
 
+		var objectCount = 1 + obj.getObjectsCount();
+		var meshes = obj.getMeshes();
+		var vertexCount = 0, triangleCount = 0, materialDraws = 0, materialCount = 0;
+		var uniqueMats = new Map();
+		for( m in obj.getMaterials() ) {
+			if( uniqueMats.exists(m.name) ) continue;
+			uniqueMats.set(m.name, true);
+			materialCount++;
+		}
+		for( m in meshes ) {
+			var p = m.primitive;
+			triangleCount += p.triCount();
+			vertexCount += p.vertexCount();
+			var multi = Std.instance(m, h3d.scene.MultiMaterial);
+			materialDraws += if( multi != null ) multi.materials.length else 1;
+		}
+
 		var e = properties.add(new Element('
 			<div class="group" name="Properties">
 				<dl>
@@ -88,6 +105,16 @@ class Model extends FileView {
 					<dt>Attach</dt><dd><select class="follow"><option value="">--- None ---</option></select></dd>
 				</dl>
 			</div>
+			<div class="group" name="Info">
+				<dl>
+					<dt>Objects</dt><dd>$objectCount</dd>
+					<dt>Meshes</dt><dd>${meshes.length}</dd>
+					<dt>Materials</dt><dd>$materialCount</dd>
+					<dt>Draws</dt><dd>$materialDraws</dd>
+					<dt>Vertexes</dt><dd>$vertexCount</dd>
+					<dt>Triangles</dt><dd>$triangleCount</dd>
+				</dl>
+			</div>
 			<br/>
 		'),obj);