Compare commits
	
		
			2 Commits
		
	
	
		
			b6553db09e
			...
			2f3508ed3a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2f3508ed3a | |||
| c3e50b7d60 | 
							
								
								
									
										2
									
								
								engine
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								engine
									
									
									
									
									
								
							 Submodule engine updated: 3b21e1610a...1b9ce54100
									
								
							
							
								
								
									
										12
									
								
								game/game.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								game/game.py
									
									
									
									
									
								
							| @ -269,13 +269,13 @@ def main(): | ||||
|     #    for _ in range(10000): | ||||
|     #        current_time = 0 # time.monotonic() - start_time | ||||
|  | ||||
|     # Draw  * 9999 : min = 0.13 , max = 0.86 , avg = 0.2 ms | ||||
|     # Draw  * 9999 : min = 0.14 , max = 0.75 , avg = 0.2 ms | ||||
|     # Draw  * 9999 : min = 0.14 , max = 0.84 , avg = 0.2 ms | ||||
|     # Draw  * 9999 : min = 0.14 , max = 0.43 , avg = 0.19 ms | ||||
|     # Draw  * 9999 : min = 0.14 , max = 0.35 , avg = 0.19 ms | ||||
|     # Draw  * 9999 : min = 0.13 , max = 0.44 , avg = 0.18 ms | ||||
|  | ||||
|     # Frame * 9999 : min = 0.19 , max = 0.98 , avg = 0.34 ms | ||||
|     # Frame * 9999 : min = 0.21 , max = 0.94 , avg = 0.34 ms | ||||
|     # Frame * 9999 : min = 0.21 , max = 1.0  , avg = 0.34 ms | ||||
|     # Frame * 9999 : min = 0.21 , max = 0.7 , avg = 0.33 ms | ||||
|     # Frame * 9999 : min = 0.2 , max = 0.54 , avg = 0.31 ms | ||||
|     # Frame * 9999 : min = 0.19 , max = 0.6 , avg = 0.29 ms | ||||
|  | ||||
|     print("Quitting...") | ||||
|     del tests_batch | ||||
|  | ||||
| @ -192,22 +192,29 @@ class ObjArchive(Archive): | ||||
|         if name: | ||||
|             assert mesh | ||||
|             objects[name] = mesh | ||||
|         vertices = set() | ||||
|         for mesh in objects.values(): | ||||
|             vertices |= frozenset(chain.from_iterable(mesh)) | ||||
|         vertices = tuple(vertices) | ||||
|  | ||||
|         vertices = [] | ||||
|         indices = [] | ||||
|         models = {} | ||||
|         for name, mesh in sorted(objects.items()): | ||||
|             offset = len(indices) | ||||
|             assert offset < 65536 | ||||
|             indices.extend(map(vertices.index, chain.from_iterable(mesh))) | ||||
|             count = len(indices) - offset | ||||
|             mesh_vertices = [] | ||||
|             for vertex in chain.from_iterable(mesh): | ||||
|                 if vertex not in mesh_vertices: | ||||
|                     mesh_vertices.append(vertex) | ||||
|             base_vertex = len(vertices) | ||||
|             mesh_indices = list(map(lambda v: mesh_vertices.index(v) + base_vertex, chain.from_iterable(mesh))) | ||||
|             assert max(mesh_indices) < 65536 | ||||
|             count = len(mesh_indices) | ||||
|             print(name, ": vertices =", count, "packed =", len(mesh_vertices)) | ||||
|             assert count % 3 == 0 | ||||
|             count //= 3 | ||||
|             assert count < 65536 | ||||
|             print(name, ": offset =", offset, "triangles =", count) | ||||
|             vertices.extend(mesh_vertices) | ||||
|             indices.extend(mesh_indices) | ||||
|             models[name] = (offset, count) | ||||
|  | ||||
|         name = str(objpath.stem) | ||||
|         assert name not in self.vertices_db.keys() | ||||
|         #TODO: move to math | ||||
|  | ||||
		Reference in New Issue
	
	Block a user