Skip to content

Architecture

Carsten Rudolph edited this page Jun 23, 2021 · 2 revisions

This guide will give you an overview over the general concepts of the LiteFX API. Those concepts may or may not have a proper representation in the backend implementing them. For example, DirectX 12 does not have an actual representation for Render Passes, whilst Vulkan allows to not only define individual render passes, but also sub passes and explicit dependencies. Therefore, LiteFX needs to define the concept of a render pass within the scope of the API and the backend then decides on how to implement it. The following pages will give you an overview over the most common concepts and how they are implemented in the individual backends.

Architecture

  • Adapters and Devices: Covers the concept of physical and logical devices and their implementation. This includes Adapters, Surfaces, Devices, Graphics Factories, Swap Chains and Command Queues
  • Render Passes: Covers the concept of a render pass, including Frame Buffers, Render Targets, Attachments and Dependencies.
  • Render Pipelines: Covers the concept of render pipelines, including Rasterizer State, Input Assembler State, Shader Programs and Buffer Layouts (i.e., Vertex, Index and Descriptor Layouts), Viewports and Scissors
  • Resource Bindings: Covers resource binding and transfer concepts. This includes Vertex Buffers, Index Buffers and Descriptors (including Constant Buffers, Storage Buffers, Textures and Samplers).