FlounderSharp 0.9.2
dotnet add package FlounderSharp --version 0.9.2
NuGet\Install-Package FlounderSharp -Version 0.9.2
<PackageReference Include="FlounderSharp" Version="0.9.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
paket add FlounderSharp --version 0.9.2
#r "nuget: FlounderSharp, 0.9.2"
// Install FlounderSharp as a Cake Addin
#addin nuget:?package=FlounderSharp&version=0.9.2
// Install FlounderSharp as a Cake Tool
#tool nuget:?package=FlounderSharp&version=0.9.2
<img src="https://raw.githubusercontent.com/Equilibrium-Games/Flounder/master/Documents/Flounder.png" alt="Flounder" height="128px">
Flounder v0.9
Flounder is a high speed, modular, light game framework written in C++17 providing multiple features such as cross-platform support.
The Vulkan API is used as the only rendering API; therefore, Vulkan structs and commands can be used directly in games. Flounder allows for direct usage of Vulkan API calls but provides more than enough function to where this type of usage can be avoided.
Features are broken down into modules, modules can be added or removed from Flounder with ease, and modules are easy to create. Vulkan is the only supported rendering API; however, APIs like Molten are supported through libraries, eventually, OpenGL and DirectX will be supported in this way.
Flounder is licensed under MIT, we are open to contributions use the 'Developer Setup' section in the README to get started with Flounder, and if you want to know about our code style read GUIDELINES.
Builds
Links
Trello Board
Readme Read more
Documentation Autogen docs
Metrics Code metrics
Website Learn more
Platforms
Flounder currently can be run on the following platforms:
- Vulkan - Windows, Linux, Android
- MoltenVK - MacOS, IOS
Features
This is a list of current features in Flounder:
- On the fly GLSL to SPIR-V compiler
- Modular rendering pipeline
- Material pipeline system
- Deferred PBR IBL rendering
- Normal, material, glow, and sway maps
- Post effects (Lensflare, Glow, Blur, SSAO, ...)
- GUI / text rendering
- Particle effects system
- Skyboxes and fog
- Resource management
- Audio and music
- Event and tasks systems
- Frustum culling
- Shadow mapping
- Model file loading (OBJ)
- Animations loading (DAE ⇒ JSON)
- Image file loading (JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC)
- Config and class loading/saving (CSV, JSON)
- GameObject prefab loading/saving (JSON)
- GameObjects and component system
- Visual drivers and maths classes
- Flexible input classes
- C# generated files
- Physics engine (WIP)
- P2P networking (WIP)
- Steam integration (WIP)
- Resource packaging (WIP)
Dependencies
Flounder uses the following libraries:
- glfw - Display handling
- glslang - GLSL processing
- stb - Texture and OGG loading
- openal - Audio interface
- vulkan - Vulkan interface
- moltenvk - Vulkan for Apple
Screenshots
<img src="https://raw.githubusercontent.com/Equilibrium-Games/Flounder/master/Documents/Screenshot1.png" alt="flounder" width="600px">
<img src="https://raw.githubusercontent.com/Equilibrium-Games/Flounder/master/Documents/Screenshot2.png" alt="flounder" width="600px">
<img src="https://raw.githubusercontent.com/Equilibrium-Games/Flounder/master/Documents/Screenshot3.png" alt="flounder" width="600px">
<img src="https://raw.githubusercontent.com/Equilibrium-Games/Flounder/master/Documents/Screenshot4.png" alt="flounder" width="600px">
License
Flounder is released under the MIT licence, LICENSE.md for more details.
Developer Setup
Once Flounder is cloned run git submodule update --init --recursive
to update the submodules needed to compile. All platforms depend on CMake to generate IDE/make files.
The Vulkan SDK and OpenAL SDK is required to develop and run Flounder.
On Windows, Flounder requires Visual Studios 2015 or later and the "Windows 10 SDK (10.0.15063.0) for UWP: C++". Use the VS installer and ensure "Desktop development with C++" and the Windows SDK is installed and up to date. Install the latest Vulkan SDK and Flounder should compile properly. Run Scripts/generate_vs.bat and an environment will be setup in Build.
On Linux a GCC/Clang compiler is required, each package listed here is for Debian/Apt. GLFW requires xorg-dev
, libopenal1
, libglfw3
, and libvulkan
installed.
Setup on MacOS is similar to the setup on Linux, except MoltenVK is used instead of Vulkan.
Currently Flounder does not run under Release mode in Visual Studios (bug).
Resources
Once CMake has loaded, link the Resources folder into the output directory using Scripts/link_resources.bat
or .sh
.
Old resources have been removed from the main repo, history for Resources
before https://github.com/Equilibrium-Games/Flounder/tree/e2abd26ee8f3eda4feabbd1ff9b8168f17e8fb4f can be found at: https://github.com/Equilibrium-Games/Flounder-Resources. Older resources can be found on this fork: https://github.com/mattparks/Flounder.
Contributing
You can contribute to Flounder in any way you want, we are always looking for help.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|
Exposed Vulkan API and fixed vector parameters.