cl-fbx

2023-10-21

Bindings to ufbx, a simple and free FBX model decoding library

Upstream URL

github.com/shirakumo/cl-fbx

Author

Yukari Hafner <shinmera@tymoon.eu>

Maintainer

Yukari Hafner <shinmera@tymoon.eu>

License

zlib
README
## About cl-fbx This is a wrapper library around "ufbx"(https://github.com/ufbx/ufbx), a C library for parsing the FBX 3D model file format. As the library and structures involved are quite large, please refer to the C library for more detailed documentation on the individual structures, functions, and fields. ## How To First, load the library, and then parse a file: :: common lisp (org.shirakumo.fraf.fbx:with-file (file #p"my-model.fbx") (describe file)) :: Files can be loaded from a file on disk, an octet stream, an octet vector, or a direct memory pointer. When you are done with the file, you must ``free`` it to clear out any foreign memory resources taken up by it. Other calls may also return fresh instances that must be manually freed as appropriate. For most cases, using ``with-freeing`` should help to ensure data does not get retained more than necessary. All structures returned by the library are wrapped in ``wrapper`` instances, which are thin instances that give more convenient Lisp-side access to the data. For lists, a ``foreign-vector`` is returned, which can be indexed with the standard sequence functions on implementations supporting the extensible-sequences protocol. You can at any time also invoke ``describe`` on an instance to get a listing of all the slots and their contents. This should make it much easier to traverse the data. ## Included Sources The following source files are included in this repository: - "ufbx.h"(https://github.com/ufbx/ufbx) - "ufbx.c"(https://github.com/ufbx/ufbx) - "glibc-2.13.h"(https://github.com/wheybags/glibc_version_header/blob/master/version_headers/x64/force_link_glibc_2.13.h)

Dependencies (7)

  • cffi
  • documentation-utils
  • float-features
  • static-vectors
  • trivial-extensible-sequences
  • trivial-features
  • trivial-garbage

Dependents (0)

    • GitHub
    • Quicklisp