Refresh/README.md

40 lines
1.5 KiB
Markdown
Raw Normal View History

2024-06-05 07:07:44 +00:00
This is Refresh, a cross-platform hardware-accelerated graphics library with modern capabilities.
2020-12-15 23:00:46 +00:00
License
-------
Refresh is licensed under the zlib license. See LICENSE for details.
About Refresh
-------------
2024-06-05 07:07:44 +00:00
The contemporary graphics landscape is daunting. Older and easier-to-learn APIs like OpenGL are being replaced by explicit APIs like Vulkan.
These newer APIs have many appealing features, like threading support and bundled state management,
but using them in practice requires complex management of memory and synchronization.
What's a developer to do?
Refresh is a middle ground between these two extremes. The API aims for the simplicity of OpenGL combined with the power of Vulkan.
Refresh supports all desktop platforms. Vulkan and D3D11 backends are complete, and Metal support is coming soon.
Refresh supports portable shaders through SPIRV-Cross, but it also allows you to provide backend-specific shader formats, so you can use any shader toolchain you like.
2020-12-15 23:00:46 +00:00
Dependencies
------------
2020-12-17 02:12:20 +00:00
Refresh depends on SDL2 for portability.
2020-12-15 23:27:06 +00:00
Refresh never explicitly uses the C runtime.
2024-06-05 07:07:44 +00:00
SPIRV-Cross is dynamically linked as an optional dependency.
2020-12-15 23:00:46 +00:00
Building Refresh
----------------
For *nix platforms, use CMake:
$ mkdir build/
$ cd build/
$ cmake ../
$ make
2020-12-18 00:57:55 +00:00
For Windows, use the Refresh.sln in the "visualc" folder.
2020-12-15 23:00:46 +00:00
Want to contribute?
-------------------
2020-12-15 23:28:39 +00:00
Issues can be reported and patches contributed via Github:
2020-12-15 23:00:46 +00:00
2024-06-05 07:07:44 +00:00
https://github.com/MoonsideGames/Refresh