Добавил namespace VkObjectsдля обёрток. Вынес управление VkSurface в отдельный класс

This commit is contained in:
Jiga228
2026-06-23 18:02:42 +07:00
parent 7aec01ccc8
commit 70956e2032
6 changed files with 154 additions and 117 deletions
@@ -5,26 +5,29 @@
class CoreInstance;
class Instance
namespace VkObjects
{
VkInstance instance_ = nullptr;
class Instance
{
VkInstance instance_ = nullptr;
static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageType,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
void* pUserData
);
static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageType,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
void* pUserData
);
#ifdef _DEBUG
VkResult enable_layer_validation(const VkDebugUtilsMessengerCreateInfoEXT* create_info);
VkDebugUtilsMessengerEXT debug_messenger_;
VkResult enable_layer_validation(const VkDebugUtilsMessengerCreateInfoEXT* create_info);
VkDebugUtilsMessengerEXT debug_messenger_;
#endif
std::vector<const char*> Instance::get_required_extensions();
public:
Instance(CoreInstance& core);
~Instance();
std::vector<const char*> Instance::get_required_extensions();
public:
Instance(CoreInstance& core);
~Instance();
inline VkInstance get_native() const { return instance_; }
};
inline VkInstance get_native() const { return instance_; }
};
}