Skip to content

io7m-com/smfj

Repository files navigation

smfj

Maven Central Maven Central (snapshot) Codecov Java Version

com.io7m.smfj

JVM Platform Status
OpenJDK (Temurin) Current Linux Build (OpenJDK (Temurin) Current, Linux)
OpenJDK (Temurin) LTS Linux Build (OpenJDK (Temurin) LTS, Linux)
OpenJDK (Temurin) Current Windows Build (OpenJDK (Temurin) Current, Windows)
OpenJDK (Temurin) LTS Windows Build (OpenJDK (Temurin) LTS, Windows)

smfj

The smfj package provides a minimalist format for storing mesh data.

Features

  • Strongly-typed generic non-interleaved storage format.
  • Carefully designed binary format that allows for mapping sections of files into memory for direct upload to the GPU. All data is strictly aligned for performance.
  • Rich integer types: Store named arrays of 1-4 component 8/16/32/64-bit signed and unsigned integer vectors.
  • Rich floating point types: Store named arrays of 1-4 component 16/32/64-bit floating-point vectors.
  • Text and binary encodings.
  • Blender plugin to export directly to the text format.
  • Event-based parsers for near zero-allocation parsing.
  • Extensible filter system for processing and transforming mesh data.
  • High coverage test suite.
  • OSGi-ready
  • JPMS-ready
  • ISC license.

Specification

See the specification.