# Thanks

A special thank you to all those who may have contributed directly or indirectly to this project. We can mention:

- **RafBill** and **Raakz:** Finding bugs and/or testing.
- **Fissal "DrFisher" Hannoun**: Helped a lot in architecture design.
- **Alexandre "Danman" Janniaux**: Helped making the POSIX implementation and macOS port.
- **Youri "Gawaboumga" Hubaut**: Improving the whole project by making the documentation, improving the code, and more.
- **Rémi "overdrivr" Bèges**: Made the (now-removed) Noise module.
- **ImperatorS79**: Helped with macOS and MinGW port.

## Additional thanks

Nazara also uses the following libraries at its core and for external tools, we thank their respective authors and contributors:

**Miscellaneous**:
- [EnTT](https://github.com/skypjack/entt): Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
- [{fmt}](https://fmt.dev): fmt is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams
- [Frozen](https://github.com/serge-sans-paille/frozen): A header-only, constexpr alternative to gperf for C++14 users
- [Kiwi](https://github.com/nucleic/kiwi/): Efficient C++ implementation of the Cassowary constraint solving algorithm
- [NazaraUtils](https://github.com/NazaraEngine/NazaraUtils): Header-only utility library for Nazara projects
- [ordered-map](https://github.com/Tessil/ordered-map): C++ hash map and hash set which preserve the order of insertion
- [UTF8-CPP](https://github.com/nemtrif/utfcpp): UTF-8 with C++ in a Portable Way

**Nazara audio module**:
- [dr_wav](https://github.com/mackron/dr_libs): Single file audio decoding libraries for C/C++
- [FLAC](https://xiph.org/flac): Free Lossless Audio Codec
- [libvorbis](https://xiph.org/vorbis): Reference implementation of the Ogg Vorbis audio format
- [minimp3](https://github.com/lieff/minimp3): Minimalistic MP3 decoder single header library
- [OpenAL Soft](https://openal-soft.org): OpenAL Soft is a software implementation of the OpenAL 3D audio API

**Nazara Bullet physics module**:
- [Bullet Physics](http://bulletphysics.org): Bullet Physics SDK

**Nazara Chipmunk physics module**:
- [Chipmunk Physics](https://chipmunk-physics.net/): A fast and lightweight 2D game physics library

**Nazara Jolt physics module**:
- [Jolt Physics](https://github.com/jrouwe/JoltPhysics): A multi core friendly rigid body physics and collision detection library suitable for games and VR applications

**Nazara platform module**:
- [libsdl](https://www.libsdl.org/): Simple DirectMedia Layer

**Nazara renderer module**:
- [OpenGL](https://www.opengl.org): OpenGL (ES) API is used as a fallback for rendering when Vulkan is not supported
- [NZSL](https://github.com/NazaraEngine/ShaderLang): NZSL is a shader language inspired by Rust and C++ which compiles to GLSL or SPIRV
- [VMA](https://gpuopen.com/vulkan-memory-allocator/): The industry-leading, open source, memory allocation library for the Vulkan® API
- [Vulkan](https://www.vulkan.org): Vulkan is a low-overhead, cross-platform API, open standard for 3D graphics and computing

**Nazara utility module**:
- [Freetype](https://www.freetype.org): A freely available software library to render fonts
- [stb](https://github.com/nothings/stb): single-file public domain (or MIT licensed) libraries for C/C++

**Assimp plugin**:
- [Assimp](https://assimp.org): Portable Open-Source library to import various well-known 3D model formats in a uniform manner

**FFMpeg plugin**:
- [FFMpeg](https://www.ffmpeg.org): A collection of libraries to process multimedia content such as audio, video, subtitles and related metadata

**Shader node editor**:
- [QtNodes](https://github.com/paceholder/nodeeditor): Qt Node Editor. Dataflow programming framework
- [Qt](https://www.qt.io): Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best

**Unit tests**:
- [Catch2](https://github.com/catchorg/Catch2): Catch2 is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C)
