Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/msiglreith/rostkatze

C++ implementation of Vulkan sitting on D3D12 :cat2:
https://github.com/msiglreith/rostkatze

Last synced: 12 days ago
JSON representation

C++ implementation of Vulkan sitting on D3D12 :cat2:

Awesome Lists containing this project

README

        

# Rostkatze

An offspring of the gfx-rs project, implementing a C++ Vulkan driver on top of D3D12.
Currently, lacks a lot functionality but can run quite a few Vulkan samples already.

## Missing pieces

- Pipeline barriers
- RenderPasses
- Secondary command buffers
- Simultaneous command buffer submission
- Queries
- Validation of the current implementation(!)
- Resource Tier 1 support

... (100+ bullet points)

## Running

To able to use it latest Windows 10 Update is required (atm) and a GPU with Resource Tier 2 hardware (no NVIDIA!).

The library can be built with VS 2017 (C++17 support). In order to use the `rostkatze` ICD set the `VK_ICD_FILENAMES` variable to the path of `manifest/rostkatze.json`.
Adjust the library path field in the manifest to the absolute path of the rostkatze shared library.

Good luck!

## "Working" samples (SaschaWillems)

- glTF-PBR
- triangle
- pipelines
- texture
- texturecubmap
- texturearray
- texturemipmapgen
- mesh
- specialization constants
- offscreen
- radialblur
- textoverlay
- particlefire (small particles only)
- scenerendering
- HDR
- instancing
- indirect drawing
- shadowmapping
- shadowmappingcascade
- shadowmappingomni
- skeletalanimation
- bloom
- deferred
- pbrbasic
- pbribl
- pbrtexture
- computeshaderparticles
- computeshader
- sphericalenvmapping
- gears
- distancefieldrendering
- vulkanscene
- imgui
- multisampling
- ssao
- parallaxmapping
- conservative rasterization

## Partially working

- computecloth (bugs)
- pushconstants (push constant array members)

# Almost/Not working

- multithreading (seconday buffers not implemented)
- dynamic uniform buffers (not implemented)
- occlusion queries (not implemented)
- deferred shadows (geometry shader support)
- n-body (bug in samples/UB/portability)
- raytracing (reading structs from byteaddressbuffer not supported)
- culllod (indirect drawing, num_workgroups builtin, ..)

- All tessellation and geometry samples