示例#1
0
        private void CreateFramebuffer()
        {
            var attachments = new[] { ImageView, depthStencilView };

            fixed(SharpVulkan.ImageView *attachmentsPtr = attachments)
            {
                var createInfo = new SharpVulkan.FramebufferCreateInfo {
                    StructureType   = SharpVulkan.StructureType.FramebufferCreateInfo,
                    AttachmentCount = (uint)attachments.Length,
                    Attachments     = new IntPtr(attachmentsPtr),
                    Width           = (uint)Width,
                    Height          = (uint)Height,
                    Layers          = 1,
                    RenderPass      = renderPass
                };

                framebuffer = Context.Device.CreateFramebuffer(ref createInfo);
            }
        }
示例#2
0
        private void CreateFramebuffers()
        {
            framebuffers = new SharpVulkan.Framebuffer[backbuffers.Length];
            for (var i = 0; i < backbuffers.Length; i++)
            {
                var attachments = new[] { backbufferViews[i], depthStencilView };
                fixed(SharpVulkan.ImageView *attachmentsPtr = attachments)
                {
                    var createInfo = new SharpVulkan.FramebufferCreateInfo {
                        StructureType   = SharpVulkan.StructureType.FramebufferCreateInfo,
                        AttachmentCount = (uint)attachments.Length,
                        Attachments     = new IntPtr(attachmentsPtr),
                        Width           = (uint)width,
                        Height          = (uint)height,
                        Layers          = 1,
                        RenderPass      = renderPass
                    };

                    framebuffers[i] = context.Device.CreateFramebuffer(ref createInfo);
                }
            }
        }