An XNA-inspired 3D graphics library with modern capabilities.
 
 
 
Go to file
Caleb Cornett 5529a4a9ae
continuous-integration/drone/pr Build is failing Details
Actually, just bake the spirv-cross source files into the Refresh VS project directly
2022-03-12 01:22:19 -05:00
SPIRV-Cross@d5c3bd8b5e Added SPIRV-Cross as a submodule. Implemented CreateShaderModule and QueueDestroyShaderModule 2022-03-12 01:18:31 -05:00
Vulkan-Headers@1d99b835ec update vulkan headers 2021-02-27 15:14:48 -08:00
include 1.3.0 2022-03-10 10:28:00 -08:00
src Added SPIRV-Cross as a submodule. Implemented CreateShaderModule and QueueDestroyShaderModule 2022-03-12 01:18:31 -05:00
visualc Actually, just bake the spirv-cross source files into the Refresh VS project directly 2022-03-12 01:22:19 -05:00
.drone.yml fix windows build release path 2021-02-27 15:35:46 -08:00
.editorconfig convert all spaces to tabs 2022-02-25 13:42:11 -08:00
.gitignore remove FNA3D dependency 2020-12-16 18:12:20 -08:00
.gitmodules Added SPIRV-Cross as a submodule. Implemented CreateShaderModule and QueueDestroyShaderModule 2022-03-12 01:18:31 -05:00
CMakeLists.txt Device setup/teardown + Command buffer acquisition and submission 2022-03-10 23:37:57 -05:00
LICENSE fix LICENSE file 2021-01-05 16:30:27 -08:00
README.md update build badge 2021-01-23 08:52:51 +00:00

README.md

Build Status

This is Refresh, an XNA-inspired 3D graphics library with modern capabilities.

License

Refresh is licensed under the zlib license. See LICENSE for details.

About Refresh

Refresh is directly inspired by FNA3D and intended to be a replacement for XNA's Graphics namespace. XNA 4.0 is a powerful API, but its shader system is outdated and certain restrictions are awkward to handle in a modern context. In the way that XNA was "one step above" DX9, Refresh intends to be "one step above" Vulkan. It should map nicely to modern graphics APIs. Refresh will initially have a Vulkan runtime implementation. Support for other APIs like DX12 may come later. For shaders, we consume SPIR-V bytecode.

Dependencies

Refresh depends on SDL2 for portability. Refresh never explicitly uses the C runtime.

Building Refresh

For *nix platforms, use CMake:

$ mkdir build/
$ cd build/
$ cmake ../
$ make

For Windows, use the Refresh.sln in the "visualc" folder.

Want to contribute?

Issues can be reported and patches contributed via Github:

https://github.com/thatcosmonaut/Refresh