Skip to content

Releases: recp/AssetKit

v0.3.1: Read File Optimizations - mmap

18 Aug 18:23
Compare
Choose a tag to compare

AssetKit now provides an option to read files with mmap (Windows also supported). This options is enabled as default. To disable mmap

ak_opt_set(AK_OPT_USE_MMAP, false);

New Features:

  • New Option: AK_OPT_USE_MMAP boolean, default is true.
  • Expose mmap api to usable externally
  • mmap-ed memories can be attached to a memory node, unmap will be called before memory node is free-ed
    • ak_mmap_rdonly(int fd, size_t size) - map file as READONLY
    • ak_unmap(void *file, size_t size)- unmap file
    • ak_mmap_attach(void *obj, void *mapped, size_t sized) - attach mmap to memory to unmap automatically
    • ak_unmmap_attached(void *obj) - unmap all attached mmap files

Bugfixes and Improvements:

  • fix ak_strtok_count_fast for READONLY memory
  • util: remove modes from ak_readfile and make it "rb" globally
  • dae: fix writing READONLY memory
  • memory: fix URL memory extension
  • some other improvements

v0.3.0: PLY (Binary + ASCII) + Bugfixes and Improvements

14 Aug 09:12
Compare
Choose a tag to compare

New Features:

  • AssetKit now supports PLY (both ASCII and Binary) files
  • endian helper to read binary data; use common endian header for all formats (endian.h)
  • documentation

Bugfixes and Improvements:

  • wobj: fix loading wavefront object if there is no NORMAL (position + texture case)
  • wobj: improve switching between objects (use triangle object if the target is not poly)
  • wobj: join group and object separations
  • add new compare func for ivec3
  • wobj: group/separate primitives by usemtl: mesh primitives created for each usemtl, base buffers and accessors are shared between them
  • reuse postscript functions and files
  • use short names for input semantics; remove _SEMANTIC from enum constants
  • improve byte swap operations and make cross platform
  • rename _assetkit_hide macros to AK_HIDE
  • add common strpool to avoid duplications
  • stl: fix loading normals in Binary STL
  • dae: fix load skin controllers
  • dae: move controller postscripts to separate file
  • drop stb image, let user load images themselves
  • provide callbacks for loading images
  • move dependencies from lib/ folder to deps/
  • remove unused files, suppress warnings, update README
  • remove sample-model sub repo for tests

IO: New Formats (.obj, .mtl, .stl)

14 Jul 15:57
Compare
Choose a tag to compare

AssetKit now supports Wavefront Object (.obj), Wavefront Object Material (.mtl), STL (both ASCII and Binary)

v0.1.0: Initial Release

17 May 02:03
Compare
Choose a tag to compare
Pre-release

AssetKit can glTF 2.0, COLLADA 1.4/1.4.1 and COLLADA 1.5 with single interface. It makes it easy and fast to load 3D scene to GPU.