File: render_image.py

package info (click to toggle)
f3d 3.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 23,504 kB
  • sloc: cpp: 99,106; python: 758; sh: 342; xml: 223; java: 101; javascript: 95; makefile: 25
file content (33 lines) | stat: -rw-r--r-- 875 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import sys
from argparse import ArgumentParser
from pathlib import Path
from tempfile import gettempdir

import f3d

TEST_DATA_DIR = Path(__file__).parent.parent.parent.parent.parent / "testing/data"

if __name__ == "__main__":
    argparser = ArgumentParser()
    argparser.add_argument("models", nargs="*")
    argparser.add_argument("--into", default=gettempdir())

    args = argparser.parse_args()

    input_paths = args.models or [TEST_DATA_DIR / "suzanne.obj"]
    output_path = Path(args.into) / "f3d.png"

    try:
        eng = f3d.Engine.create(True)
        eng.window.size = 300, 300

        eng.scene.add(input_paths)

        img = eng.window.render_to_image()
        img.save(output_path)

        print(f"rendered to {output_path}")
    except Exception as e:
        print("F3D encountered an unexpected exception:")
        print(e)
        sys.exit(1)