|
1 | 1 | # PKRenderer |
2 | | -A Vulkan Renderer |
| 2 | +Is a renderer developed for the implementation & testing of various rendering techniques using modern graphics APIs. |
| 3 | +The project is built for Windows using C++ 17, Visual Studio & MSVC and supports Vulkan as a rendering backend (DX12 support is planned). |
3 | 4 |
|
4 | | -The goal of this project is to implement a similar system as seen in GLSLTestbed using vulkan as the primary graphics backend & DX12 as an alternative. |
| 5 | +##Preview |
| 6 | +***INSERT PREVIEW*** |
5 | 7 |
|
| 8 | +##Features |
| 9 | +- Vulkan 1.2 Rendering Backend. |
| 10 | +- Dynamic scene material batching & instanced rendering. |
| 11 | +- Clustered forward rendering. |
| 12 | +- Volumetric fog & lighting. |
| 13 | +- Realtime global illumination (Voxel cone tracing). |
| 14 | +- Temporal reprojection for volumetrics & screen space GI. |
| 15 | +- Point, spot & directional lights. |
| 16 | +- Variance shadow mapping. |
| 17 | +- Cascaded shadow maps. |
| 18 | +- Light cookies. |
| 19 | +- Physically based shading. |
| 20 | +- HDR bloom. |
| 21 | +- Tone mapping & color grading. |
| 22 | +- Film grain. |
| 23 | +- Auto exposure. |
| 24 | +- Depth of field with auto focus. |
| 25 | +- Octahedron hdr environment maps. |
| 26 | +- Multi compile shader variants. |
| 27 | +- Asset hot reloading. |
| 28 | + |
| 29 | +## Planned Features |
| 30 | +- Hardware accelerated raytraced GI (deprecate VXGI). |
| 31 | +- Virtualized shared scene vertex buffer (improve performance by using multidraw indirect). |
| 32 | +- Mesh Skinning. |
| 33 | +- Serialized scene representation. |
| 34 | +- DX12 Rendering backend. |
| 35 | +- Improved bloom effect performance. |
| 36 | + - Current one is a quick direct port from GLSLTestbed which used bindless textures to avoid frame buffer switches. The same technique is unsupported on Vulkan. |
| 37 | +- Antialiasing. |
| 38 | + |
| 39 | +## Libraries & Other Dependencies |
| 40 | +- Windows 10 (Support for other platforms has not been tested/developed/verified). |
| 41 | +- C++ 17 support required. |
| 42 | +- Vulkan 1.2 support required. |
| 43 | +- [PKAssetTools](https://github.com/konstatoivanen/PKAssetTools) |
| 44 | +- [KTX](https://github.com/KhronosGroup/KTX-Software) |
| 45 | +- [yaml-cpp](https://github.com/jbeder/yaml-cpp) |
| 46 | +- [GLFW](https://www.glfw.org/) |
| 47 | +- [GLM](https://github.com/g-truc/glm) |
| 48 | +- [mikktspace](http://www.mikktspace.com/) |
| 49 | +- [VMA](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) |
0 commit comments