diff --git a/include/vkcv/Buffer.hpp b/include/vkcv/Buffer.hpp index a3784087c0b217656d8a5e3e660457093674cb02..52056d9f0441f807aa802ef3d29b31e2129b605c 100644 --- a/include/vkcv/Buffer.hpp +++ b/include/vkcv/Buffer.hpp @@ -13,7 +13,7 @@ namespace vkcv { /** - * @brief Template class for buffer management and filling data. + * @brief Template class for buffer handling and filling data. * * @tparam T Buffer content type */ diff --git a/include/vkcv/Handles.hpp b/include/vkcv/Handles.hpp index f5eddb2e432a4d460abe0547c70c18689624129f..bfe2ac26f5def4c4a0bf8a52ca2c8052382889f1 100644 --- a/include/vkcv/Handles.hpp +++ b/include/vkcv/Handles.hpp @@ -13,7 +13,10 @@ namespace vkcv { typedef typename event_function<uint64_t>::type HandleDestroyFunction; - + + /** + * Class for general memory management via handles. + */ class Handle { friend std::ostream& operator << (std::ostream& out, const Handle& handle); @@ -88,50 +91,73 @@ namespace vkcv * @return Output stream after printing */ std::ostream& operator << (std::ostream& out, const Handle& handle); - - // Handle returned for any buffer created with the core/context objects + + /** + * @brief Handle class for buffers. + */ class BufferHandle : public Handle { friend class BufferManager; private: using Handle::Handle; }; - + + /** + * @brief Handle class for render passes. + */ class PassHandle : public Handle { friend class PassManager; private: using Handle::Handle; }; - + + /** + * @brief Handle class for graphics pipelines. + */ class GraphicsPipelineHandle : public Handle { friend class GraphicsPipelineManager; private: using Handle::Handle; }; + /** + * @brief Handle class for compute pipelines. + */ class ComputePipelineHandle : public Handle { friend class ComputePipelineManager; private: using Handle::Handle; }; - + + /** + * @brief Handle class for descriptor sets. + */ class DescriptorSetHandle : public Handle { friend class DescriptorManager; private: using Handle::Handle; }; + /** + * @brief Handle class for descriptor set layouts. + */ class DescriptorSetLayoutHandle : public Handle { friend class DescriptorManager; private: using Handle::Handle; }; - + + /** + * @brief Handle class for samplers. + */ class SamplerHandle : public Handle { friend class SamplerManager; private: using Handle::Handle; }; + /** + * @brief Handle class for images. + */ class ImageHandle : public Handle { friend class ImageManager; private: @@ -156,18 +182,27 @@ namespace vkcv }; + /** + * @brief Handle class for windows. + */ class WindowHandle : public Handle { friend class WindowManager; private: using Handle::Handle; }; + /** + * @brief Handle class for swapchains. + */ class SwapchainHandle : public Handle { friend class SwapchainManager; private: using Handle::Handle; }; + /** + * @brief Handle class for command streams. + */ class CommandStreamHandle : public Handle { friend class CommandStreamManager; private: diff --git a/include/vkcv/Image.hpp b/include/vkcv/Image.hpp index 06090750579525ce07b5db95992129a07f2c5337..5d5359288d4b1b1f38bfabf062c9cc4cd0ca9ad1 100644 --- a/include/vkcv/Image.hpp +++ b/include/vkcv/Image.hpp @@ -23,6 +23,9 @@ namespace vkcv { */ bool isDepthFormat(const vk::Format format); + /** + * @brief Class for image handling and filling data. + */ class Image { friend class Core; public: diff --git a/include/vkcv/Logger.hpp b/include/vkcv/Logger.hpp index 20de2f4cde4168866119af127c5cc446d27cba3f..9d4fa86f2b42e8190e7dc57c2ad897a76f945126 100644 --- a/include/vkcv/Logger.hpp +++ b/include/vkcv/Logger.hpp @@ -10,7 +10,7 @@ namespace vkcv { /** - * Enum class to specify the level of logging. + * @brief Enum class to specify the level of logging. */ enum class LogLevel { RAW_INFO, diff --git a/include/vkcv/PushConstants.hpp b/include/vkcv/PushConstants.hpp index 9b870a0711eeab770065a995a4de8a061db5b0bd..ca826ea52e9bcee72c14c26496c99937c27fb775 100644 --- a/include/vkcv/PushConstants.hpp +++ b/include/vkcv/PushConstants.hpp @@ -11,7 +11,10 @@ #include "Logger.hpp" namespace vkcv { - + + /** + * @brief Class to handle push constants data per drawcall. + */ class PushConstants { private: std::vector<uint8_t> m_data; diff --git a/include/vkcv/Result.hpp b/include/vkcv/Result.hpp index f9d8a1802e0c26e83fb3641a8e7e12969106c156..328a44fa58c9b6303af872d7787cc1bcb7230256 100644 --- a/include/vkcv/Result.hpp +++ b/include/vkcv/Result.hpp @@ -6,7 +6,10 @@ */ namespace vkcv { - + + /** + * @brief Enum class to specify the result of a function call. + */ enum class Result { SUCCESS = 0, ERROR = 1 diff --git a/include/vkcv/Sampler.hpp b/include/vkcv/Sampler.hpp index 141c4511b344f2a6d5e26de0c8ff42b63b9372e1..c65ef8218ff209e6eeaf0e45f9309e21d85e782e 100644 --- a/include/vkcv/Sampler.hpp +++ b/include/vkcv/Sampler.hpp @@ -8,7 +8,7 @@ namespace vkcv { /** - * Enum class to specify a samplers type to filter during access. + * @brief Enum class to specify a samplers type to filter during access. */ enum class SamplerFilterType { NEAREST = 1, @@ -16,7 +16,7 @@ namespace vkcv { }; /** - * Enum class to specify a samplers mode to access mipmaps. + * @brief Enum class to specify a samplers mode to access mipmaps. */ enum class SamplerMipmapMode { NEAREST = 1, @@ -24,7 +24,7 @@ namespace vkcv { }; /** - * Enum class to specify a samplers mode to access via address space. + * @brief Enum class to specify a samplers mode to access via address space. */ enum class SamplerAddressMode { REPEAT = 1, @@ -35,7 +35,7 @@ namespace vkcv { }; /** - * Enum class to specify a samplers color beyond a textures border. + * @brief Enum class to specify a samplers color beyond a textures border. */ enum class SamplerBorderColor { INT_ZERO_OPAQUE = 1, diff --git a/include/vkcv/ShaderProgram.hpp b/include/vkcv/ShaderProgram.hpp index a45394dcffd594faf1c448b8d4b0a0300e579520..cfcc69f6bafc1ae8fa8dca342b7cdb781504e5cb 100644 --- a/include/vkcv/ShaderProgram.hpp +++ b/include/vkcv/ShaderProgram.hpp @@ -19,6 +19,9 @@ namespace vkcv { + /** + * @brief Class to manage and reflect shaders as a program. + */ class ShaderProgram { public: @@ -97,6 +100,7 @@ namespace vkcv { std::vector<VertexAttachment> m_VertexAttachments; std::unordered_map<uint32_t, DescriptorBindings> m_DescriptorSets; size_t m_pushConstantsSize = 0; + }; } diff --git a/include/vkcv/Surface.hpp b/include/vkcv/Surface.hpp index d0b77b0c06fd9f4b50c4900cc8b5a179ebd37c0f..47862b9c49661f434b64f9def17037cc5bcc110c 100644 --- a/include/vkcv/Surface.hpp +++ b/include/vkcv/Surface.hpp @@ -14,7 +14,10 @@ namespace vkcv { const uint32_t MIN_SURFACE_SIZE = 2; - class Surface { + /** + * @brief Class to handle surfaces to use with a swapchain. + */ + class Surface final { private: friend class Swapchain; friend class SwapchainManager; diff --git a/include/vkcv/Swapchain.hpp b/include/vkcv/Swapchain.hpp index 472385baab4819f6b3bbdd9b52a36a50392a313b..9380b97ca73e46d53e7dcfbb8ba804004698b5b3 100644 --- a/include/vkcv/Swapchain.hpp +++ b/include/vkcv/Swapchain.hpp @@ -14,7 +14,10 @@ namespace vkcv { - + + /** + * @brief Class to handle swapchains using a context. + */ class Swapchain final { private: friend class Core; diff --git a/include/vkcv/Window.hpp b/include/vkcv/Window.hpp index 39e5b9eb76d5821c6097a66c7dba72f29074e2e3..d1db4bf438b95e9c96824bb6676a1d8bf020a35f 100644 --- a/include/vkcv/Window.hpp +++ b/include/vkcv/Window.hpp @@ -19,6 +19,9 @@ struct GLFWwindow; namespace vkcv { + /** + * @brief Class to handle a window. + */ class Window { friend class WindowManager; friend class SwapchainManager;