fennecbyte is composed of a few different parts:
fennecbyte
: The main library, which provides the core functionality of the framework.fex
: A library for working with fennecbyte executables, which is used byfennecbyte
to generate small executables.utils
: A collection of utilities for working with fennecbyte. (fmt, data generation, etc.)examples
: A collection of examples for working with fennecbyte.eyes
: A library for working with Vulkan and Opengl, which is used byfennecbyte
to render graphics.windowing
: A library for working with windowing systems, which is used byfennecbyte
to create windows.synth
: A library for generating audio, which is used byfennecbyte
to generate audio.squeal
: A library for outputting audio, which is used byfennecbyte
to output audio.fox
: A library for making generative textures and meshesffs
: Embeeded Data using @embedFile? a virtual file system for binary datatoolbox
: A collection of tools for working with fennecbyte. (shader compiler, model converter, etc.)guy
: A library for making GUIs, which is used byfennecbyte
all the tools are using it.
The whole framework is built on top of zig, and is designed to be as simple as possible to use. ideally everything should be relativily compatible with the zig standard library, and should be easy to use.
To build the framework, you will need to have zig master installed. Download the source code, and run the following commands:
zig build -Doptimize=ReleaseSafe
This will build the framework C bindings in case you need them.
The examples are located in the examples
directory.
To build them, you will need to have the framework built with the examples
flag enabled.
zig build -Doptimize=ReleaseSafe -Dexamples
The tools are located in the tools
directory.
To build them, you will need to have the framework built with the tools
flag enabled.
zig build -Doptimize=ReleaseSafe -Dtools
The documentation is located in the docs
directory.
To build it, you will need to have the framework built with the docs
flag enabled.
zig build -Ddocs
read the CONTRIBUTING.md file for more information. (PENDING)
This project is licensed under the MIT license.
See the LICENSE
file for more information.
When contributing, you agree to license your contributions under the MIT license.