gldf-rs-ffi

Crates.iogldf-rs-ffi
lib.rsgldf-rs-ffi
version0.3.3
created_at2025-12-08 12:46:29.767619+00
updated_at2025-12-16 15:19:09.486609+00
descriptionFFI bindings for GLDF library - iOS/macOS/Android support via UniFFI
homepage
repositoryhttps://github.com/holg/gldf-rs
max_upload_size
id1973462
size356,599
Holger Trahe (holg)

documentation

README

gldf-rs-ffi

FFI (Foreign Function Interface) bindings for the GLDF library, providing native access to GLDF parsing capabilities from iOS, macOS, Android, and other platforms via UniFFI.

Overview

This crate provides C-compatible FFI bindings generated by UniFFI, enabling GLDF file parsing from:

  • iOS/macOS - Swift bindings
  • Android - Kotlin bindings
  • Other platforms - C-compatible interface

Features

  • Parse GLDF (General Lighting Data Format) files
  • Extract product information, light sources, and geometry data
  • Access embedded files (images, photometric data, 3D models)
  • Full L3D (3D geometry) support

Usage

Building

# Build the library
cargo build --release -p gldf-rs-ffi

# Generate Swift bindings
cargo run --bin uniffi-bindgen generate --library target/release/libgldf_ffi.dylib --language swift --out-dir ./bindings

# Generate Kotlin bindings
cargo run --bin uniffi-bindgen generate --library target/release/libgldf_ffi.so --language kotlin --out-dir ./bindings

Integration

See the main repository for integration examples with iOS and Android projects.

Related Crates

License

GPL-3.0-or-later

Commit count: 72

cargo fmt