public void Create(IMgSwapchainCollection swapchains, IMgRenderPass pass, IMgImageView depthStencilView, uint width, uint height) { Debug.Assert(mGraphicsConfiguration.Partition != null); // Create frame buffers for every swap chain image var frameBuffers = new IMgFramebuffer[swapchains.Buffers.Length]; for (uint i = 0; i < frameBuffers.Length; i++) { var frameBufferCreateInfo = new MgFramebufferCreateInfo { RenderPass = pass, Attachments = new[] { swapchains.Buffers[i].View, // Depth/Stencil attachment is the same for all frame buffers depthStencilView, }, Width = width, Height = height, Layers = 1, }; var err = mGraphicsConfiguration.Partition.Device.CreateFramebuffer(frameBufferCreateInfo, null, out frameBuffers[i]); Debug.Assert(err == Result.SUCCESS, err + " != Result.SUCCESS"); } mFramebuffers = frameBuffers; }
void CreateFramebuffers(IMgSwapchainCollection swapchains, MgGraphicsDeviceCreateInfo createInfo) { //IMgFramebuffer[] SetupFrameBuffers(IMgRenderPass renderPass, IMgDepthStencilBuffer depthStencil, IMgSwapchainCollection swapChain, uint width, uint height) //{ // Create frame buffers for every swap chain image var frameBuffers = new IMgFramebuffer[swapchains.Buffers.Length]; for (uint i = 0; i < frameBuffers.Length; i++) { var frameBufferCreateInfo = new MgFramebufferCreateInfo { RenderPass = mRenderpass, Attachments = new [] { swapchains.Buffers[i].View, // Depth/Stencil attachment is the same for all frame buffers mView, }, Width = createInfo.Width, Height = createInfo.Height, Layers = 1, }; var err = mPartition.Device.CreateFramebuffer(frameBufferCreateInfo, null, out frameBuffers[i]); Debug.Assert(err == Result.SUCCESS, err + " != Result.SUCCESS"); } mFramebuffers = frameBuffers; }