5 releases

0.1.5 Dec 6, 2020
0.1.4 Dec 6, 2020
0.1.3 Dec 6, 2020
0.1.1 Dec 6, 2020
0.1.0 Nov 17, 2020

#1699 in Game dev


Used in fna3h

MIT license

3MB
81K SLoC

C 63K SLoC // 0.1% comments Rust 16K SLoC // 0.0% comments Python 2.5K SLoC // 0.4% comments OCaml 252 SLoC Visual Studio Project 239 SLoC Perl 150 SLoC // 0.0% comments Visual Studio Solution 50 SLoC Shell 7 SLoC

Rust-FNA3D

Wrapper of FNA3D, the graphics library for FNA

See the repository for more information.


lib.rs:

Wrapper of FNA3D, the graphics library for FNA

See fna3h as an alternative.

See examples to get started.

What is fna3d?

fna3d is a wrapper around fna3d-sys, which is Rust FFI to FNA3D generated with bindgen.

FNA3D is the 3D graphics library for FNA written in C99 in 2020. FNA is a reimplementation of XNA. XNA is a famous game framework.

What does Rust-FNA3D do?

Device is reference counted and it drops FNA3D device when they go out of scope.

Other changes are trivial; they're just for improvements to the default output of bindgen:

  • Wrapping the original API with rusty types: slices, enums and booleans
  • Wrapping some legacy API (XNA-compatibility API) with more meaningful one

Details are noted in this file on GitHub.

Helpers

Dependencies