An XNA-inspired 3D graphics library with modern capabilities.
 
 
 
Go to file
cosmonaut 5a92fdf984 move count param on REFRESH_Submit 2021-01-03 14:57:46 -08:00
Vulkan-Headers@85470b32ad fix some warnings and add vulkan headers 2020-12-17 16:39:25 -08:00
include move count param on REFRESH_Submit 2021-01-03 14:57:46 -08:00
src move count param on REFRESH_Submit 2021-01-03 14:57:46 -08:00
visualc add texture layout transition to API 2020-12-28 12:15:17 -08:00
.gitignore remove FNA3D dependency 2020-12-16 18:12:20 -08:00
.gitmodules fix some warnings and add vulkan headers 2020-12-17 16:39:25 -08:00
CMakeLists.txt image load and save 2020-12-27 22:45:12 -08:00
LICENSE initial commit 2020-12-15 15:00:46 -08:00
README Update README 2020-12-30 23:22:34 -08:00

README

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