Files
tinyusdz/README.md
Syoyo Fujita 407f1be805 Add cmake sanitizer.
Remove unused miniz.
Refactor source code layout.
2020-04-02 00:30:59 +09:00

1.3 KiB

Tiny USDZ loader

TinyUSDZ is dependency-free(depends only on C++ STL. Yes, you don't need USD library!) USDZ loader library written in C++11.

Requirements

  • C++11

USDZ file format

USDZ is a uncompressed zip file. USDZ contains usdc(binary) and resources(e.g. image file)

Build

Integrate to your app

Simply copy src and include folder to your app, and add *.cc files to your app's build system.

Meson

Meson build is provided for testing compilation.

$ meson builddir
$ cd builddir
$ ninja

Build options

  • TINYUSDZ_USE_OPENSUBDIV : Use OpenSubviv to tessellate subdivision surface.

TODO

  • Android example
  • CPU raytracer viewer
  • Viewer with Vulkan API.
  • Replace OpenSubdiv with our own subdiv library or embree3's one.
  • Read USD data with bounded memory size. This feature is especially useful for mobile platform(e.g. in terms of security, memory consumption, etc)
  • USDZ saver
  • Support Nested USDZ
  • UDIM texture support

Fuzzing test

See tests/fuzzer/

License

TinyUSDZ is licensed under MIT license.

Third party licenses