Exemple #1
0
# TODO: Make input- and output-file command line parameters, something like:
# convert.py -o output.rpsg input.bam 


INPUT_FILE = "Scene.bam"
OUTPUT_FILE = "model.rpsg"


loader = Loader.get_global_ptr()
model = NodePath(loader.load_sync(INPUT_FILE))

# Flatten the transform of the model, since we don't store the transform
model.flatten_strong()

print("Loaded model ...")
writer = MeshSplitterWriter()

# Collect all geoms of the model and register them to the writer
geom_nodes = model.find_all_matches("**/+GeomNode")
for geom_node in geom_nodes:
    geom_node = geom_node.node()
    for geom_idx in range(geom_node.get_num_geoms()):
        geom = geom_node.get_geom(geom_idx)
        geom_state = geom_node.get_geom_state(geom_idx)
        writer.add_geom(geom)

# Write the result file
print("Processing ....")
writer.process(OUTPUT_FILE)
print("Done!")