func logModelSpec(model *md3.Model) { fmt.Printf("MD3(%s):\n", stringOrEmpty(model.Name(), "no name")) fmt.Printf(" Frames: %d\n", model.NumFrames()) fmt.Printf(" Tags(%d):\n", model.NumTags()) for tag := range model.Tags() { fmt.Printf(" %s\n", tag.Name()) } fmt.Printf(" Surfaces(%d):\n", model.NumSurfaces()) for surf := range model.Surfaces() { fmt.Printf(" %s:\n", stringOrEmpty(surf.Name(), "(no name)")) if surf.NumFrames() != model.NumFrames() { fmt.Printf(" Frames: %d\n", surf.NumFrames()) } fmt.Printf(" Vertices: %d\n", surf.NumVertices()) fmt.Printf(" Triangles: %d\n", surf.NumTriangles()) fmt.Printf(" Shaders[%d]:\n", surf.NumShaders()) for shader := range surf.Shaders() { fmt.Printf(" Shader[%d]: %s\n", shader.Index, stringOrEmpty(shader.Name, "(no name)")) } } }