Код: Выделить всё
VkRenderingAttachmentInfo color_attachment_0 = {};
color_attachment_0.sType = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO;
color_attachment_0.imageView = _lit_image->vk_view;
color_attachment_0.imageLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
color_attachment_0.resolveMode = VK_RESOLVE_MODE_NONE;
color_attachment_0.resolveImageView = VK_NULL_HANDLE;
color_attachment_0.resolveImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
color_attachment_0.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
color_attachment_0.storeOp = VK_ATTACHMENT_STORE_OP_STORE;
color_attachment_0.clearValue.color.float32[0] = 0.0f;
color_attachment_0.clearValue.color.float32[1] = 0.0f;
color_attachment_0.clearValue.color.float32[2] = 0.0f;
color_attachment_0.clearValue.color.float32[3] = 1.0f;
VkRenderingInfo pass_begin = {};
pass_begin.sType = VK_STRUCTURE_TYPE_RENDERING_INFO;
pass_begin.renderArea = { { 0, 0 }, { window_width, window_height } };
pass_begin.layerCount = 1;
pass_begin.viewMask = 0;
pass_begin.colorAttachmentCount = 1;
pass_begin.pColorAttachments = &color_attachment_0;
pass_begin.pDepthAttachment = VK_NULL_HANDLE;
pass_begin.pStencilAttachment = VK_NULL_HANDLE;
vkCmdBeginRendering(cmd_buf->vk_command_buffer, &pass_begin);
// bind pipeline
// ...
vkCmdEndRendering();
Я проверил _lit_image-> vk_view при выполнении времени, ручка была действительной. Я не думаю, что какой-либо указатель, какой-либо объект в фрагменте выше случайно был недействительным. < /P>
Что могло быть проблемой? У G-Pass была нулевая проблема, потому что мне удалось показать каждый G-буфер на экране. Поэтому я не думаю, что исключение было вызвано vkcmdbeginrendering () Указатель функции. Это не имеет большого смысла для меня, так как почему указатель привязанности к глубине нулевой глубины вызывает аварию
Подробнее здесь: https://stackoverflow.com/questions/796 ... nrendering
Мобильная версия