/GraphicsEngineVulkan

Serves as starting point for my rendering research/projects in vulkan.

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause


VulkanEngine
Cataglyphis Renderer


VulkanEngine VulkanEngine VulkanEngine

A graphics engine built on top of Vulkan .

Linux build Windows build codecov TopLang Donate Twitter

Key FeaturesHow To UseDownloadCreditsRelatedLicense

Table of Contents
  1. About The Project
  2. Getting Started
  3. Tests
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project


VulkanEngine VulkanEngine VulkanEngine

This project provides me a solid Vulkan renderer starting point for implementing modern established rendering techniques and getting quickly started in own research topics.

Key Features

Feature Implement Status
Rasterizer ✔️
Raytracing ✔️
Path tracing ✔️
PBR support (UE4,disney,... etc.) ✔️
.obj Model loading ✔️
Mip Mapping ✔️

Built With

Useful tools (you might also considering :) )

Getting Started

Prerequisites

Dependencies to libraries are stated above.
C++20 or higher required.
C17 or higher required.

NOTE: This project relies on the new hardware capabilities for RRT.

Installation

  1. Clone the repo
    git clone --recurse-submodules git@github.com:Kataglyphis/GraphicsEngineVulkan.git

NOTE: With powershell in Windows git has currently a problem with cloning recursively. You might consider using the git bash.

  1. Then build your solution with [CMAKE] (https://cmake.org/)

Tests

Code coverage results

VulkanEngine VulkanEngine

Roadmap

Watch the refman generated by doxygen.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the BSD 3-Clause "New" or "Revised" License. See LICENSE for more information.

Contact

Jonas Heinle - @Cataglyphis_ - renderdude@jotrockenmitlocken.de

Project Link: https://github.com/Kataglyphis/GraphicsEngineVulkan

Acknowledgements

You will find important links to information in the code. But here in general some good sources of information:

Thanks for free 3D Models:

Literature

Some very helpful literature, tutorials, etc.

CMake/C++

Vulkan

Physically Based Shading

Path tracing