From baf015836d96a4ed7ede003f7cb3ea97299edcb3 Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Wed, 6 Oct 2021 14:05:02 +0200
Subject: [PATCH] [#96] Added file description in all headers and given authors

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 include/vkcv/Buffer.hpp                           |  8 ++++----
 include/vkcv/BufferManager.hpp                    |  5 +++++
 include/vkcv/CommandRecordingFunctionTypes.hpp    | 11 ++++++++++-
 include/vkcv/CommandResources.hpp                 | 11 ++++++++++-
 include/vkcv/ComputePipelineConfig.hpp            | 12 +++++++-----
 include/vkcv/Context.hpp                          |  5 +++++
 include/vkcv/Core.hpp                             |  6 ++++--
 include/vkcv/DescriptorConfig.hpp                 | 11 ++++++++---
 include/vkcv/DescriptorWrites.hpp                 | 11 ++++++++++-
 include/vkcv/DrawcallRecording.hpp                | 15 ++++++++++++---
 include/vkcv/Event.hpp                            |  4 +++-
 include/vkcv/FeatureManager.hpp                   |  9 +++++++--
 include/vkcv/GraphicsPipelineConfig.hpp           |  5 +++--
 include/vkcv/Handles.hpp                          |  2 +-
 include/vkcv/Image.hpp                            |  8 ++++----
 include/vkcv/ImageConfig.hpp                      |  8 ++++++++
 include/vkcv/Logger.hpp                           |  2 +-
 include/vkcv/PassConfig.hpp                       |  8 ++++++++
 include/vkcv/PushConstants.hpp                    |  5 +++++
 include/vkcv/QueueManager.hpp                     |  2 +-
 include/vkcv/Result.hpp                           |  7 +++++--
 include/vkcv/Sampler.hpp                          |  5 +++++
 include/vkcv/ShaderProgram.hpp                    |  7 ++++---
 include/vkcv/ShaderStage.hpp                      |  6 ++++++
 include/vkcv/Swapchain.hpp                        | 12 +++++++++---
 include/vkcv/SyncResources.hpp                    | 10 +++++++++-
 include/vkcv/VertexLayout.hpp                     | 10 +++++++++-
 include/vkcv/Window.hpp                           |  5 +++++
 .../asset_loader/src/vkcv/asset/asset_loader.cpp  |  4 ++--
 modules/camera/src/vkcv/camera/Camera.cpp         |  2 +-
 .../upscaling/src/vkcv/upscaling/FSRUpscaling.cpp |  4 ++--
 projects/saf_r/src/main.cpp                       |  3 +--
 projects/saf_r/src/safrScene.hpp                  |  2 +-
 projects/sph/src/main.cpp                         |  2 +-
 src/vkcv/FeatureManager.cpp                       |  7 +++++--
 src/vkcv/File.cpp                                 |  2 +-
 src/vkcv/SyncResources.cpp                        |  2 +-
 37 files changed, 183 insertions(+), 55 deletions(-)

diff --git a/include/vkcv/Buffer.hpp b/include/vkcv/Buffer.hpp
index 13a6b24d..f4c57c1e 100644
--- a/include/vkcv/Buffer.hpp
+++ b/include/vkcv/Buffer.hpp
@@ -1,15 +1,15 @@
 #pragma once
 /**
- * @authors Lars Hoerttrich, Tobias Frisch
+ * @authors Tobias Frisch, Lars Hoerttrich, Alexander Gauggel
  * @file vkcv/Buffer.hpp
  * @brief Template buffer class for type security with buffers.
  */
- 
-#include "Handles.hpp"
-#include "BufferManager.hpp"
 
 #include <vector>
 
+#include "Handles.hpp"
+#include "BufferManager.hpp"
+
 namespace vkcv {
 
 	template<typename T>
diff --git a/include/vkcv/BufferManager.hpp b/include/vkcv/BufferManager.hpp
index 42ed18e3..6ef6b521 100644
--- a/include/vkcv/BufferManager.hpp
+++ b/include/vkcv/BufferManager.hpp
@@ -1,4 +1,9 @@
 #pragma once
+/**
+ * @authors Tobias Frisch, Alexander Gauggel, Artur Wasmut, Lars Hoerttrich, Sebastian Gaida
+ * @file vkcv/BufferManager.hpp
+ * @brief Manager to handle buffer operations.
+ */
 
 #include <vector>
 #include <vulkan/vulkan.hpp>
diff --git a/include/vkcv/CommandRecordingFunctionTypes.hpp b/include/vkcv/CommandRecordingFunctionTypes.hpp
index c236fb2c..702e4a65 100644
--- a/include/vkcv/CommandRecordingFunctionTypes.hpp
+++ b/include/vkcv/CommandRecordingFunctionTypes.hpp
@@ -1,8 +1,17 @@
 #pragma once
-#include "vkcv/Event.hpp"
+/**
+ * @authors Alexander Gauggel, Tobias Frisch
+ * @file vkcv/CommandRecordingFunctionTypes.hpp
+ * @brief Abstract function types to handle command recording.
+ */
+
 #include <vulkan/vulkan.hpp>
 
+#include "Event.hpp"
+
 namespace vkcv {
+	
 	typedef typename event_function<const vk::CommandBuffer&>::type RecordCommandFunction;
 	typedef typename event_function<>::type FinishCommandFunction;
+	
 }
\ No newline at end of file
diff --git a/include/vkcv/CommandResources.hpp b/include/vkcv/CommandResources.hpp
index 45041ddd..a5bdf7ac 100644
--- a/include/vkcv/CommandResources.hpp
+++ b/include/vkcv/CommandResources.hpp
@@ -1,9 +1,17 @@
 #pragma once
+/**
+ * @authors Alexander Gauggel, Tobias Frisch
+ * @file vkcv/CommandResources.hpp
+ * @brief Support functions to deal with command resources.
+ */
+
 #include <vulkan/vulkan.hpp>
 #include <unordered_set>
-#include "vkcv/QueueManager.hpp"
+
+#include "QueueManager.hpp"
 
 namespace vkcv {
+	
 	struct CommandResources {
 		std::vector<vk::CommandPool> cmdPoolPerQueueFamily;
 	};
@@ -22,4 +30,5 @@ namespace vkcv {
 		vk::Fence							fence,
 		const std::vector<vk::Semaphore>&	waitSemaphores,
 		const std::vector<vk::Semaphore>&	signalSemaphores);
+	
 }
\ No newline at end of file
diff --git a/include/vkcv/ComputePipelineConfig.hpp b/include/vkcv/ComputePipelineConfig.hpp
index a99d75e6..38e9e6da 100644
--- a/include/vkcv/ComputePipelineConfig.hpp
+++ b/include/vkcv/ComputePipelineConfig.hpp
@@ -1,17 +1,19 @@
 #pragma once
 /**
- * @authors Mark Mints
- * @file src/vkcv/ComputePipelineConfig.hpp
- * @brief Compute Pipeline Config Struct to hand over required information to Pipeline Creation.
+ * @authors Mark Mints, Tobias Frisch
+ * @file vkcv/ComputePipelineConfig.hpp
+ * @brief Compute pipeline config struct to hand over required information to pipeline creation.
  */
 
 #include <vector>
+
 #include "ShaderProgram.hpp"
 
-namespace vkcv
-{
+namespace vkcv {
+	
     struct ComputePipelineConfig {
         ShaderProgram&                          m_ShaderProgram;
         std::vector<vk::DescriptorSetLayout>  	m_DescriptorSetLayouts;
     };
+	
 }
\ No newline at end of file
diff --git a/include/vkcv/Context.hpp b/include/vkcv/Context.hpp
index 1160857c..96228958 100644
--- a/include/vkcv/Context.hpp
+++ b/include/vkcv/Context.hpp
@@ -1,4 +1,9 @@
 #pragma once
+/**
+ * @authors Tobias Frisch, Artur Wasmut, Sebastian Gaida, Alexander Gauggel
+ * @file vkcv/Context.hpp
+ * @brief Class to handle the instance, device, allocator and features of the current context.
+ */
 
 #include <vulkan/vulkan.hpp>
 #include <vk_mem_alloc.hpp>
diff --git a/include/vkcv/Core.hpp b/include/vkcv/Core.hpp
index 465a7844..22851322 100644
--- a/include/vkcv/Core.hpp
+++ b/include/vkcv/Core.hpp
@@ -1,7 +1,9 @@
 #pragma once
 /**
- * @file src/vkcv/Core.hpp
- * @brief Handling of global states regarding dependencies
+ * @authors Alexander Gauggel, Tobias Frisch, Sebastian Gaida, Artur Wasmut, Lars Hoerttrich,
+ *          Mara Vogt, Mark Mints, Simeon Hermann, Alex Laptop, Katharina Krämer, Vanessa Karolek
+ * @file vkcv/Core.hpp
+ * @brief Handling of global states regarding dependencies.
  */
 
 #include <memory>
diff --git a/include/vkcv/DescriptorConfig.hpp b/include/vkcv/DescriptorConfig.hpp
index becdb9f8..a557c453 100644
--- a/include/vkcv/DescriptorConfig.hpp
+++ b/include/vkcv/DescriptorConfig.hpp
@@ -1,10 +1,15 @@
 #pragma once
+/**
+ * @authors Artur Wasmut, Tobias Frisch, Simeon Hermann, Alexander Gauggel, Vanessa Karolek
+ * @file vkcv/DescriptorConfig.hpp
+ * @brief Structures to handle descriptor types and bindings.
+ */
 
 #include <unordered_map>
 
-#include "vkcv/Handles.hpp"
-#include "vkcv/ShaderStage.hpp"
-#include "vkcv/Logger.hpp"
+#include "Handles.hpp"
+#include "ShaderStage.hpp"
+#include "Logger.hpp"
 
 namespace vkcv
 {
diff --git a/include/vkcv/DescriptorWrites.hpp b/include/vkcv/DescriptorWrites.hpp
index f4f9729a..a055e86f 100644
--- a/include/vkcv/DescriptorWrites.hpp
+++ b/include/vkcv/DescriptorWrites.hpp
@@ -1,8 +1,16 @@
 #pragma once
-#include "Handles.hpp"
+/**
+ * @authors Artur Wasmut, Tobias Frisch, Alexander Gauggel, Vanessa Karolek
+ * @file vkcv/DescriptorWrites.hpp
+ * @brief Structures to handle descriptor writes.
+ */
+
 #include <vector>
 
+#include "Handles.hpp"
+
 namespace vkcv {
+	
 	struct SampledImageDescriptorWrite {
 		inline SampledImageDescriptorWrite(uint32_t binding, ImageHandle image, uint32_t mipLevel = 0, bool useGeneralLayout = false, uint32_t arrayIndex = 0)
 		: binding(binding), image(image), mipLevel(mipLevel), useGeneralLayout(useGeneralLayout), arrayIndex(arrayIndex) {};
@@ -54,4 +62,5 @@ namespace vkcv {
 		std::vector<SamplerDescriptorWrite>			    samplerWrites;
 		std::vector<AccelerationDescriptorWrite>        accelerationWrites;
 	};
+	
 }
\ No newline at end of file
diff --git a/include/vkcv/DrawcallRecording.hpp b/include/vkcv/DrawcallRecording.hpp
index 77e2a2e1..1bd90354 100644
--- a/include/vkcv/DrawcallRecording.hpp
+++ b/include/vkcv/DrawcallRecording.hpp
@@ -1,11 +1,19 @@
 #pragma once
+/**
+ * @authors Sebastian Gaida, Alexander Gauggel, Artur Wasmut, Tobias Frisch
+ * @file vkcv/DrawcallRecording.hpp
+ * @brief Structures and functions to record drawcalls.
+ */
+
 #include <vulkan/vulkan.hpp>
-#include <vkcv/Handles.hpp>
-#include <vkcv/DescriptorConfig.hpp>
-#include <vkcv/PushConstants.hpp>
+
+#include "Handles.hpp"
+#include "DescriptorConfig.hpp"
+#include "PushConstants.hpp"
 #include "Buffer.hpp"
 
 namespace vkcv {
+	
     struct VertexBufferBinding {
         inline VertexBufferBinding(vk::DeviceSize offset, vk::Buffer buffer) noexcept
             : offset(offset), buffer(buffer) {}
@@ -95,4 +103,5 @@ namespace vkcv {
         const uint32_t                          pushConstantOffset,
         const MeshShaderDrawcall&               drawcall,
         const uint32_t                          firstTask);
+	
 }
diff --git a/include/vkcv/Event.hpp b/include/vkcv/Event.hpp
index 0d30a4ac..b7cc1886 100644
--- a/include/vkcv/Event.hpp
+++ b/include/vkcv/Event.hpp
@@ -1,6 +1,6 @@
 #pragma once
 /**
- * @authors Tobias Frisch
+ * @authors Tobias Frisch, Sebastian Gaida, Josch Morgenstern, Katharina Krämer
  * @file vkcv/Event.hpp
  * @brief Template event struct to synchronize callbacks.
  */
@@ -141,5 +141,7 @@ namespace vkcv {
         event &operator=(const event &other) = delete;
 
         event &operator=(event &&other) = delete;
+		
     };
+	
 }
diff --git a/include/vkcv/FeatureManager.hpp b/include/vkcv/FeatureManager.hpp
index b4d690bc..136972fd 100644
--- a/include/vkcv/FeatureManager.hpp
+++ b/include/vkcv/FeatureManager.hpp
@@ -1,12 +1,17 @@
 #pragma once
-
-#include "Logger.hpp"
+/**
+ * @authors Tobias Frisch, Artur Wasmut, Vanessa Karolek, Sebastian Gaida
+ * @file vkcv/FeatureManager.hpp
+ * @brief Class to manage feature support and extension usage.
+ */
 
 #include <functional>
 #include <unordered_set>
 #include <vector>
 #include <vulkan/vulkan.hpp>
 
+#include "Logger.hpp"
+
 namespace vkcv {
 
 	/**
diff --git a/include/vkcv/GraphicsPipelineConfig.hpp b/include/vkcv/GraphicsPipelineConfig.hpp
index 6d466c4a..a9f0996b 100644
--- a/include/vkcv/GraphicsPipelineConfig.hpp
+++ b/include/vkcv/GraphicsPipelineConfig.hpp
@@ -1,12 +1,13 @@
 #pragma once
 /**
- * @authors Mara Vogt, Mark Mints
- * @file src/vkcv/PipelineConfig.hpp
+ * @authors Mara Vogt, Mark Mints, Tobias Frisch
+ * @file vkcv/GraphicsPipelineConfig.hpp
  * @brief Graphics Pipeline Config Struct to hand over required information to Pipeline Creation
  */
 
 #include <vector>
 #include <cstdint>
+
 #include "Handles.hpp"
 #include "ShaderProgram.hpp"
 #include "VertexLayout.hpp"
diff --git a/include/vkcv/Handles.hpp b/include/vkcv/Handles.hpp
index 802b559b..40383aea 100644
--- a/include/vkcv/Handles.hpp
+++ b/include/vkcv/Handles.hpp
@@ -1,6 +1,6 @@
 #pragma once
 /**
- * @authors Artur Wasmut, Tobias Frisch
+ * @authors Tobias Frisch, Alexander Gauggel, Artur Wasmut, Sebastian Gaida, Mark Mints
  * @file vkcv/Handles.hpp
  * @brief Central header file for all possible handles that the framework will hand out.
  */
diff --git a/include/vkcv/Image.hpp b/include/vkcv/Image.hpp
index cac4a466..8752a9b3 100644
--- a/include/vkcv/Image.hpp
+++ b/include/vkcv/Image.hpp
@@ -1,14 +1,14 @@
 #pragma once
 /**
- * @authors Lars Hoerttrich
+ * @authors Alexander Gauggel, Tobias Frisch, Lars Hoerttrich, Artur Wasmut
  * @file vkcv/Image.hpp
- * @brief Class for image handling
+ * @brief Class for image handling.
  */
  
-#include "vulkan/vulkan.hpp"
+#include <vulkan/vulkan.hpp>
 
 #include "Handles.hpp"
-#include "vkcv/ImageConfig.hpp"
+#include "ImageConfig.hpp"
 
 namespace vkcv {
 	
diff --git a/include/vkcv/ImageConfig.hpp b/include/vkcv/ImageConfig.hpp
index 2e413b97..7f267c3e 100644
--- a/include/vkcv/ImageConfig.hpp
+++ b/include/vkcv/ImageConfig.hpp
@@ -1,9 +1,17 @@
 #pragma once
+/**
+ * @authors Alexander Gauggel, Tobias Frisch
+ * @file vkcv/ImageConfig.hpp
+ * @brief File to provide functions supporting the use of multisampling.
+ */
+
 #include <vulkan/vulkan.hpp>
 
 namespace vkcv {
+	
 	enum class Multisampling { None, MSAA2X, MSAA4X, MSAA8X };
 
 	vk::SampleCountFlagBits msaaToVkSampleCountFlag(Multisampling msaa);
 	uint32_t                msaaToSampleCount(Multisampling msaa);
+	
 }
diff --git a/include/vkcv/Logger.hpp b/include/vkcv/Logger.hpp
index 4ae2f7b9..28f01b2c 100644
--- a/include/vkcv/Logger.hpp
+++ b/include/vkcv/Logger.hpp
@@ -5,7 +5,7 @@
  * @brief Logging macro function to print line of code specific information.
  */
 
-#include <stdio.h>
+#include <cstdio>
 
 namespace vkcv {
 	
diff --git a/include/vkcv/PassConfig.hpp b/include/vkcv/PassConfig.hpp
index f3b2b802..7ddb01a2 100644
--- a/include/vkcv/PassConfig.hpp
+++ b/include/vkcv/PassConfig.hpp
@@ -1,11 +1,18 @@
 #pragma once
+/**
+ * @authors Alexander Gauggel, Artur Wasmut, Tobias Frisch
+ * @file vkcv/PassConfig.hpp
+ * @brief Enums and structures to handle render pass configuration.
+ */
 
 #include <vector>
 #include <vulkan/vulkan.hpp>
+
 #include "ImageConfig.hpp"
 
 namespace vkcv
 {
+	
     enum class AttachmentLayout
     {
         UNDEFINED,
@@ -50,4 +57,5 @@ namespace vkcv
         std::vector<AttachmentDescription> attachments{};
         Multisampling msaa;
     };
+	
 }
\ No newline at end of file
diff --git a/include/vkcv/PushConstants.hpp b/include/vkcv/PushConstants.hpp
index 986de552..83968d4f 100644
--- a/include/vkcv/PushConstants.hpp
+++ b/include/vkcv/PushConstants.hpp
@@ -1,4 +1,9 @@
 #pragma once
+/**
+ * @authors Tobias Frisch, Alexander Gauggel
+ * @file vkcv/PushConstants.hpp
+ * @brief Class to manage push constants for pipeline recording.
+ */
 
 #include <vector>
 #include <vulkan/vulkan.hpp>
diff --git a/include/vkcv/QueueManager.hpp b/include/vkcv/QueueManager.hpp
index 3e302495..f05a1007 100644
--- a/include/vkcv/QueueManager.hpp
+++ b/include/vkcv/QueueManager.hpp
@@ -1,6 +1,6 @@
 #pragma once
 /**
- * @authors Tobias Frisch
+ * @authors Sebastian Gaida, Tobias Frisch, Alexander Gauggel
  * @file vkcv/QueueManager.hpp
  * @brief Types to manage queues of a device.
  */
diff --git a/include/vkcv/Result.hpp b/include/vkcv/Result.hpp
index b78e444d..f9d8a180 100644
--- a/include/vkcv/Result.hpp
+++ b/include/vkcv/Result.hpp
@@ -1,12 +1,15 @@
 #pragma once
+/**
+ * @authors Tobias Frisch
+ * @file vkcv/Result.hpp
+ * @brief Enum to represent result values of function which can fail.
+ */
 
 namespace vkcv {
 	
 	enum class Result {
-		
 		SUCCESS = 0,
 		ERROR = 1
-		
 	};
 	
 }
diff --git a/include/vkcv/Sampler.hpp b/include/vkcv/Sampler.hpp
index 007ed5ae..ad2ba8bd 100644
--- a/include/vkcv/Sampler.hpp
+++ b/include/vkcv/Sampler.hpp
@@ -1,4 +1,9 @@
 #pragma once
+/**
+ * @authors Tobias Frisch
+ * @file vkcv/Sampler.hpp
+ * @brief Enums for different sampler attributes.
+ */
 
 namespace vkcv {
 
diff --git a/include/vkcv/ShaderProgram.hpp b/include/vkcv/ShaderProgram.hpp
index d39f0da4..92ab636f 100644
--- a/include/vkcv/ShaderProgram.hpp
+++ b/include/vkcv/ShaderProgram.hpp
@@ -1,8 +1,8 @@
 #pragma once
 /**
- * @authors Simeon Hermann, Leonie Franken
- * @file src/vkcv/ShaderProgram.hpp
- * @brief ShaderProgram class to handle and prepare the shader stages for a graphics pipeline
+ * @authors Artur Wasmut, Leonie Franken, Tobias Frisch, Simeon Hermann, Alexander Gauggel, Mark Mints
+ * @file vkcv/ShaderProgram.hpp
+ * @brief ShaderProgram class to handle and prepare the shader stages for a graphics pipeline.
  */
 
 #include <unordered_map>
@@ -12,6 +12,7 @@
 #include <filesystem>
 #include <vulkan/vulkan.hpp>
 #include <spirv_cross.hpp>
+
 #include "VertexLayout.hpp"
 #include "DescriptorConfig.hpp"
 #include "ShaderStage.hpp"
diff --git a/include/vkcv/ShaderStage.hpp b/include/vkcv/ShaderStage.hpp
index 0baaaf5b..83446bd0 100644
--- a/include/vkcv/ShaderStage.hpp
+++ b/include/vkcv/ShaderStage.hpp
@@ -1,4 +1,9 @@
 #pragma once
+/**
+ * @authors Artur Wasmut, Simeon Hermann, Tobias Frisch, Vanessa Karolek, Alexander Gauggel, Lars Hoerttrich
+ * @file vkcv/ShaderStage.hpp
+ * @brief Enum and struct to operate with multiple shader stages.
+ */
 
 #include <vulkan/vulkan.hpp>
 
@@ -42,4 +47,5 @@ namespace vkcv {
 	constexpr ShaderStages operator~(ShaderStage stage) noexcept {
 		return ~(ShaderStages(stage));
 	}
+	
 }
diff --git a/include/vkcv/Swapchain.hpp b/include/vkcv/Swapchain.hpp
index f1a29faa..dc23bb9b 100644
--- a/include/vkcv/Swapchain.hpp
+++ b/include/vkcv/Swapchain.hpp
@@ -1,9 +1,15 @@
 #pragma once
-#include "vulkan/vulkan.hpp"
-#include "Context.hpp"
-#include "vkcv/Window.hpp"
+/**
+ * @authors Sebastian Gaida, Tobias Frisch
+ * @file vkcv/Swapchain.hpp
+ * @brief Class to manage the state of a swapchain and its transitions.
+ */
 
 #include <atomic>
+#include <vulkan/vulkan.hpp>
+
+#include "Context.hpp"
+#include "Window.hpp"
 
 namespace vkcv
 {
diff --git a/include/vkcv/SyncResources.hpp b/include/vkcv/SyncResources.hpp
index c41019cc..ea421dd4 100644
--- a/include/vkcv/SyncResources.hpp
+++ b/include/vkcv/SyncResources.hpp
@@ -1,7 +1,14 @@
 #pragma once
+/**
+ * @authors Alexander Gauggel, Tobias Frisch
+ * @file vkcv/SyncResources.hpp
+ * @brief Support functions to deal with synchronization resources.
+ */
+
 #include <vulkan/vulkan.hpp>
 
 namespace vkcv {
+	
 	struct SyncResources {
 		vk::Semaphore	renderFinished;
 		vk::Semaphore	swapchainImageAcquired;
@@ -11,5 +18,6 @@ namespace vkcv {
 	SyncResources	createSyncResources(const vk::Device &device);
 	void			destroySyncResources(const vk::Device &device, const SyncResources &resources);
 	vk::Fence		createFence(const vk::Device &device);
-	void			waitForFence(const vk::Device& device, const vk::Fence fence);
+	void			waitForFence(const vk::Device& device, const vk::Fence& fence);
+	
 }
\ No newline at end of file
diff --git a/include/vkcv/VertexLayout.hpp b/include/vkcv/VertexLayout.hpp
index 0600b99a..588e898e 100644
--- a/include/vkcv/VertexLayout.hpp
+++ b/include/vkcv/VertexLayout.hpp
@@ -1,10 +1,17 @@
 #pragma once
+/**
+ * @authors Alexander Gauggel, Artur Wasmut, Mara Vogt, Susanne Dötsch,
+ *          Trevor Hollmann, Leonie Franken, Simeon Hermann, Tobias Frisch
+ * @file vkcv/VertexLayout.hpp
+ * @brief Structures to handle vertex layout, bindings and attachments.
+ */
 
 #include <vector>
 #include <iostream>
 #include <string>
 
-namespace vkcv{
+namespace vkcv {
+	
     enum class VertexAttachmentFormat{
         FLOAT,
         FLOAT2,
@@ -63,4 +70,5 @@ namespace vkcv{
 
         std::vector<VertexBinding> vertexBindings;
     };
+	
 }
diff --git a/include/vkcv/Window.hpp b/include/vkcv/Window.hpp
index cef73563..7b7c3342 100644
--- a/include/vkcv/Window.hpp
+++ b/include/vkcv/Window.hpp
@@ -1,4 +1,9 @@
 #pragma once
+/**
+ * @authors Tobias Frisch, Sebastian Gaida, Vanessa Karolek, Artur Wasmut
+ * @file vkcv/Window.hpp
+ * @brief Class to represent and manage a window with its input.
+ */
 
 #define NOMINMAX
 #include <algorithm>
diff --git a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
index 2ca35bda..f3f55f65 100644
--- a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
+++ b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
@@ -1,8 +1,8 @@
 #include "vkcv/asset/asset_loader.hpp"
 #include <iostream>
-#include <string.h>	// memcpy(3)
+#include <cstring>	// memcpy(3)
 #include <set>
-#include <stdlib.h>	// calloc(3)
+#include <cstdlib>	// calloc(3)
 #include <vulkan/vulkan.hpp>
 #include <fx/gltf.h>
 #include <stb_image.h>
diff --git a/modules/camera/src/vkcv/camera/Camera.cpp b/modules/camera/src/vkcv/camera/Camera.cpp
index 25b2a733..4b3ae927 100644
--- a/modules/camera/src/vkcv/camera/Camera.cpp
+++ b/modules/camera/src/vkcv/camera/Camera.cpp
@@ -1,6 +1,6 @@
 #include "vkcv/camera/Camera.hpp"
 
-#include <math.h>
+#include <cmath>
 
 namespace vkcv::camera {
 
diff --git a/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp b/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp
index f7cf0b4a..eef49ef8 100644
--- a/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp
+++ b/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp
@@ -1,7 +1,7 @@
 #include "vkcv/upscaling/FSRUpscaling.hpp"
 
-#include <stdint.h>
-#include <math.h>
+#include <cstdint>
+#include <cmath>
 
 #define A_CPU 1
 #include <ffx_a.h>
diff --git a/projects/saf_r/src/main.cpp b/projects/saf_r/src/main.cpp
index 354ea7a6..c206fbff 100644
--- a/projects/saf_r/src/main.cpp
+++ b/projects/saf_r/src/main.cpp
@@ -5,10 +5,9 @@
 #include <vkcv/asset/asset_loader.hpp>
 #include <vkcv/shader/GLSLCompiler.hpp>
 #include <chrono>
-#include <limits>
 #include <cmath>
 #include <vector>
-#include <string.h>	// memcpy(3)
+#include <cstring>
 #include "safrScene.hpp"
 
 
diff --git a/projects/saf_r/src/safrScene.hpp b/projects/saf_r/src/safrScene.hpp
index 33a298f8..fc149a7b 100644
--- a/projects/saf_r/src/safrScene.hpp
+++ b/projects/saf_r/src/safrScene.hpp
@@ -28,7 +28,7 @@ public:
 	*/
 	struct Material {
 		Material(const glm::vec4& a, const glm::vec3& color, const float& spec, const float& r) : albedo(a), diffuse_color(color), specular_exponent(spec), refractive_index(r) {}
-		Material() : refractive_index(1), albedo(1, 0, 0, 0), diffuse_color(), specular_exponent() {}
+		Material() : albedo(1, 0, 0, 0), diffuse_color(), specular_exponent(), refractive_index(1) {}
         glm::vec4 albedo;
         alignas(16) glm::vec3 diffuse_color;
         float specular_exponent;
diff --git a/projects/sph/src/main.cpp b/projects/sph/src/main.cpp
index b2971fed..738d7699 100644
--- a/projects/sph/src/main.cpp
+++ b/projects/sph/src/main.cpp
@@ -3,7 +3,7 @@
 #include <vkcv/camera/CameraManager.hpp>
 #include <chrono>
 #include <random>
-#include <time.h>
+#include <ctime>
 #include <vkcv/shader/GLSLCompiler.hpp>
 #include "BloomAndFlares.hpp"
 #include "PipelineInit.hpp"
diff --git a/src/vkcv/FeatureManager.cpp b/src/vkcv/FeatureManager.cpp
index c25745fc..4aefcb90 100644
--- a/src/vkcv/FeatureManager.cpp
+++ b/src/vkcv/FeatureManager.cpp
@@ -1,9 +1,12 @@
 
 #include "vkcv/FeatureManager.hpp"
 
-#include <stddef.h>
-#include <string.h>
+#include <cstddef>
+#include <cstring>
+
+#ifdef _MSVC_LANG
 #include <type_traits>
+#endif
 
 namespace vkcv {
 	
diff --git a/src/vkcv/File.cpp b/src/vkcv/File.cpp
index 6006b90f..871dc066 100644
--- a/src/vkcv/File.cpp
+++ b/src/vkcv/File.cpp
@@ -1,7 +1,7 @@
 
 #include "vkcv/File.hpp"
 
-#include <stdlib.h>
+#include <cstdlib>
 
 #ifdef _WIN32
 #include <io.h>
diff --git a/src/vkcv/SyncResources.cpp b/src/vkcv/SyncResources.cpp
index 9c27fe32..8bd53c85 100644
--- a/src/vkcv/SyncResources.cpp
+++ b/src/vkcv/SyncResources.cpp
@@ -26,7 +26,7 @@ namespace vkcv {
 		return device.createFence(fenceInfo, nullptr, {});
 	}
 
-	void waitForFence(const vk::Device& device, const vk::Fence fence) {
+	void waitForFence(const vk::Device& device, const vk::Fence& fence) {
 		const auto result = device.waitForFences(fence, true, UINT64_MAX);
 		assert(result == vk::Result::eSuccess);
 	}
-- 
GitLab