Esempio n. 1
0
        public void BeginAndContinueRenderPass(RenderContext context)
        {
            if (vkCmd.Handle == NullHandle)
            {
                return;
            }
            CheckNotBegun();
            CheckSecondary();

            VkCommandBufferBeginInfo       cmdBufInfo      = Initializers.commandBufferBeginInfo();
            VkCommandBufferInheritanceInfo inheritanceInfo = VkCommandBufferInheritanceInfo.New();

            cmdBufInfo.flags = VkCommandBufferUsageFlags.RenderPassContinue;

            inheritanceInfo.renderPass  = context.currentRenderPass.vkRenderPass;
            inheritanceInfo.subpass     = context.currentSubPassIndex;
            inheritanceInfo.framebuffer = context.currentFrameBuffer.vkFrameBuffer;

            cmdBufInfo.pInheritanceInfo = &inheritanceInfo;

            Util.CheckResult(vkBeginCommandBuffer(vkCmd, &cmdBufInfo));
            begun        = true;
            inRenderPass = true;

            //Does not draw anything without viewport and scissor
            SetViewportScissor(context);
        }
Esempio n. 2
0
        public void Begin()
        {
            CheckNotBegun();
            if (vkCmd.Handle == NullHandle)
            {
                return;
            }
            VkCommandBufferBeginInfo cmdBufInfo = Initializers.commandBufferBeginInfo();

            cmdBufInfo.flags = VkCommandBufferUsageFlags.OneTimeSubmit;
            Util.CheckResult(vkBeginCommandBuffer(vkCmd, &cmdBufInfo));

            begun = true;
        }