All Projects → domme → FANCY

domme / FANCY

Licence: other
A rendering-framework for DX12 and Vulkan. Mostly intended for personal learning purposes and graphics demos

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to FANCY

pygfx
Like ThreeJS but for Python and based on wgpu
Stars: ✭ 72 (+242.86%)
Mutual labels:  vulkan, dx12
Gfx
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Stars: ✭ 5,045 (+23923.81%)
Mutual labels:  vulkan, dx12
Xacor
Experimental Game Engine
Stars: ✭ 24 (+14.29%)
Mutual labels:  vulkan, dx12
Explosion
💥 A modern cross-platform game engine (WIP)
Stars: ✭ 102 (+385.71%)
Mutual labels:  vulkan, dx12
FidelityFX-SPD
Single Pass Downsampler (SPD)
Stars: ✭ 94 (+347.62%)
Mutual labels:  vulkan, dx12
wgpu-py
Next generation GPU API for Python
Stars: ✭ 210 (+900%)
Mutual labels:  vulkan, dx12
ogl to vlk
Vulkan Tutorials For OpenGL Developers
Stars: ✭ 16 (-23.81%)
Mutual labels:  vulkan
LowLevelAPIDemo
Evergine Low-Level API samples.
Stars: ✭ 12 (-42.86%)
Mutual labels:  vulkan
DummyEngine
Small cross platform Vulkan/OpenGL 3d engine for personal experimentation
Stars: ✭ 76 (+261.9%)
Mutual labels:  vulkan
bgfx-header-extension-library
Header-only effects and helper library for Bgfx to help you hit the ground running. Includes a bunch of post processing filters to complete common graphical tasks
Stars: ✭ 35 (+66.67%)
Mutual labels:  vulkan
LittleEngineVk
3D game engine using C++20 and Vulkan (WIP)
Stars: ✭ 87 (+314.29%)
Mutual labels:  vulkan
go-vk
Go bindings for Vulkan
Stars: ✭ 20 (-4.76%)
Mutual labels:  vulkan
Vulkan-MemoryModel
Vulkan Memory Model
Stars: ✭ 95 (+352.38%)
Mutual labels:  vulkan
drivers-linux-firmware
MOVED: https://gitlab.com/q3aql/drivers-linux-firmware
Stars: ✭ 28 (+33.33%)
Mutual labels:  vulkan
mojoshader
Use Direct3D shaders with other 3D rendering APIs.
Stars: ✭ 91 (+333.33%)
Mutual labels:  vulkan
vkhelpers
Vulkan c helper library
Stars: ✭ 25 (+19.05%)
Mutual labels:  vulkan
Vortice.Vulkan
Cross platform .NET bindings for Vulkan, VMA, SPIRV-Cross and shaderc
Stars: ✭ 172 (+719.05%)
Mutual labels:  vulkan
gfr
Graphics Flight Recorder (GFR) is a Vulkan layer to help trackdown and identify the cause of GPU hangs and crashes.
Stars: ✭ 49 (+133.33%)
Mutual labels:  vulkan
VkInline
A tool to make it easy to use Vulkan from Python. An interface for computation and off-screen rendering.
Stars: ✭ 16 (-23.81%)
Mutual labels:  vulkan
AngryEngine
Game Engine for Windows by Vulkan SDK
Stars: ✭ 20 (-4.76%)
Mutual labels:  vulkan

FANCY

A small rendering framework that abstracts DX12 and Vulkan. Mostly created for personal learning-purposes and graphics-demos. Most areas are still under constructions, but feel free to browse the code for reference in your own projects.

Features

  • Rendering abstraction API for both DX12 and Vulkan. No DX12/Vulkan-specific code in high-level rendering API
  • Optional code-modules for Scene-management and GUI rendering
  • Built-in profiler for both CPU and GPU
  • Custom memory allocator for DX12 (planned for Vulkan as well)
  • Supports async compute
  • Shader hot-reloading
  • HLSL->SPIR-V compilation using the DirectXShaderCompiler
  • Import of most common 3D files using Assimp
  • Implicit and automatic hazard-tracking for resources

Used Libraries

Building

In order to generate a FANCY solution and build it, all git submodules must be properly initialized and some external prebuilt libraries need to be provided. Fancy uses vcpgk for most of these libraries.

If you don't already have vcpkg installed and set up (including the global Visual Studio integration), please checkout vcpkg follow the setup-steps for windows. With a properly set up vcpkg, please execute "get_external_libs.bat" located in the FANCY root folder using cmd or powershell and provide it with the path to the vcpgk root folder as its first argument (e.g. ".\get_external_libs.bat C:/vcpgk/"). This will download and install all required external libraries that are part of vcpkg (e.g. Assimp, EASTL and xxHash).

All other required libraries and binaries that are not part of vcpkg need to be downloaded using the bat-script "get_external_binaries.bat" which downloads and unpacks all other prebuilt binaries that are needed (mainly DirectXShaderCompiler and DX12 Agility SDK). This bat-file can just be executed as-is and doesn't require any arguments. This script will also download and set up Sharpmake, which FANCY uses to generate all of its projects and the solution itself.

You will also need to have the Vulkan SDK installed on your system (with VK_SDK_PATH environment variable pointing to the correct folder).

Once everything is set up as described, just execute "generate_solution.bat" and you should be ready to go to compile and start the "Tests" project included in the generated solution.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].