Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
TheNumbat committed Feb 2, 2024
1 parent 1970464 commit f7657af
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,32 @@
[![Windows](https://github.com/TheNumbat/rvk/actions/workflows/windows.yml/badge.svg)](https://github.com/TheNumbat/rvk/actions/workflows/windows.yml)
[![Ubuntu](https://github.com/TheNumbat/rvk/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/TheNumbat/rvk/actions/workflows/ubuntu.yml)

[rpp](https://github.com/TheNumbat/rpp)-based Vulkan 1.3 abstraction layer.
Low-level [rpp](https://github.com/TheNumbat/rpp)-based Vulkan 1.3 abstraction layer.

rvk does not seek to redefine the Vulkan API, nor expose all of its configurability.
Instead, rvk provides a convenient interface for modern desktop GPUs.
It includes the following features:

- RAII wrappers for Vulkan objects
- GPU heap allocator
- GPU heap allocators (host and device)
- Multiple frames in flight and resource deletion queue
- Awaitable GPU tasks for coroutines
- Swapchain management and compositor
- Validation config and debug messaging
- Shader hot reloading
- Multithreaded command pool management for graphics, compute, and transfer queues
- Compile-time descriptor set layout specifications
- Shader hot reloading
- [Dear ImGui](https://github.com/ocornut/imgui) integration
- [NVIDIA Aftermath](https://developer.nvidia.com/nsight-aftermath) integration (optional)

rvk assumes your application uses dynamic rendering and bindless/BDA pipelines.
It explicitly lacks the following features:

- Fine-grained resource management: the user manages scene data by sub-allocating buffers and using BDA.
- Shader source management: the user manages compilation to SPIR-V.
- Pipeline/shader compilation caching: the user manages caching.

The minimal API of rvk may be found in [rvk.h](rvk/rvk.h).

## Integration

Expand All @@ -43,6 +53,12 @@ If you're already using [rpp](https://github.com/TheNumbat/rpp), also set the fo
set(RVK_HAS_RPP TRUE)
```

To enable NVIDIA Aftermath, set the following option:

```cmake
set(RVK_NV_AFTERMATH TRUE)
```

## Examples

### Main Loop
Expand Down

0 comments on commit f7657af

Please sign in to comment.