UgRenderTarget

Off-screen render target backed by a texture

It

Off-screen framebuffer with its render pass and color texture

struct It {
  VkRenderPass renderPass;
  VkFramebuffer framebuffer;
  UgTexture.It texture;
  U32 width;
  U32 height;
};

create

Create an off-screen render target of the given dimensions

UgRenderTarget.It create(UgContext.It& ctx, U32 width, U32 height);

Parameters

  • ctx — Vulkan context
  • width — Width in pixels
  • height — Height in pixels

Returns — Initialized render target object


begin

Begin rendering into the render target

U0 begin(UgRenderTarget.It& rt, UgCommandBuffer.It& cmd);

Parameters

  • rt — Render target to render into
  • cmd — Active command buffer

end

End rendering into the render target

U0 end(UgCommandBuffer.It& cmd);

Parameters

  • cmd — Active command buffer

setViewport

Set the viewport to match the render target dimensions

U0 setViewport(UgRenderTarget.It& rt, UgCommandBuffer.It& cmd);

Parameters

  • rt — Render target whose dimensions define the viewport
  • cmd — Active command buffer

destroy

Destroy the render target and free all associated resources

U0 destroy(UgContext.It& ctx, UgRenderTarget.It& rt);

Parameters

  • ctx — Vulkan context
  • rt — Render target to destroy