func surfaceTriangleList(surf *md3.Surface, baseVertex int, output chan<- surfaceStringPair) { var err error buffer := new(bytes.Buffer) triCount := surf.NumTriangles() for triIndex := 0; triIndex < triCount; triIndex++ { tri := surf.Triangle(triIndex) if *swapYZ { _, err = fmt.Fprintf(buffer, "f %[1]d/%[1]d/%[1]d %[2]d/%[2]d/%[2]d %[3]d/%[3]d/%[3]d\n", baseVertex+int(tri.A), baseVertex+int(tri.B), baseVertex+int(tri.C)) } else { _, err = fmt.Fprintf(buffer, "f %[3]d/%[3]d/%[3]d %[2]d/%[2]d/%[2]d %[1]d/%[1]d/%[1]d\n", baseVertex+int(tri.A), baseVertex+int(tri.B), baseVertex+int(tri.C)) } if err != nil { panic(err) } } output <- surfaceStringPair{surf, buffer.String()} }