From e20066344be5bfdee6276c60b2169d800ccbf95d Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Mon, 28 Feb 2022 21:49:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=88=D0=B5=D0=B9=D0=B4=D0=B5=D1=80=D0=BD=D1=8B=D1=85?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D0=B4=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/vk.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/vk.cpp b/src/vk.cpp index e3ae92a..2e9efd1 100644 --- a/src/vk.cpp +++ b/src/vk.cpp @@ -670,4 +670,28 @@ void Vulkan::createGraphicPipeline() throw std::runtime_error("Unable to create pipeline layout"); } + // Создание шейдеров + VkShaderModule vertShaderModule = createShaderModule("shaders/vert.spv"); + VkShaderModule fragShaderModule = createShaderModule("shaders/frag.spv"); + + VkPipelineShaderStageCreateInfo vertShaderStageInfo{}; + vertShaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + vertShaderStageInfo.stage = VK_SHADER_STAGE_VERTEX_BIT; + vertShaderStageInfo.module = vertShaderModule; + vertShaderStageInfo.pName = "main"; + + VkPipelineShaderStageCreateInfo fragShaderStageInfo{}; + fragShaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + fragShaderStageInfo.stage = VK_SHADER_STAGE_FRAGMENT_BIT; + fragShaderStageInfo.module = fragShaderModule; + fragShaderStageInfo.pName = "main"; + + // Шейдерные стадии + VkPipelineShaderStageCreateInfo shaderStages[] = {vertShaderStageInfo, fragShaderStageInfo}; + + // Тут создание графического конвейера + + // Удаление шейдерных модулей + vkDestroyShaderModule(logicalDevice, fragShaderModule, nullptr); + vkDestroyShaderModule(logicalDevice, vertShaderModule, nullptr); }