Files
Juliet/Romeo/docs/Juliet_include_Graphics_RenderPass.md
T

3.3 KiB

Juliet\include\Graphics\RenderPass

Source Files

  • Header: Juliet\include\Graphics\RenderPass.h

AI Description

The RenderPass class in the Juliet graphics library is designed to encapsulate the functionality required for rendering a single pass of a scene. It manages the setup and execution of the render pipeline, including color targets, depth stencil targets, blend states, and other necessary parameters.

Main Purpose

The primary purpose of the RenderPass class is to provide a structured way to define and execute rendering operations in a graphics application. This allows for better organization and management of rendering logic, making it easier to maintain and extend the graphics system.

Design

Color Targets

  • TargetTexture: A pointer to the texture where the rendered output will be stored.
  • MipLevel: The mip level at which the target texture should be accessed.
  • CycleTexture: A boolean flag indicating whether the texture should be cycled if already bound (and load operation != LOAD).
  • ResolveTexture: A pointer to a texture used for resolving MipMaps into non-mip-map textures. Discard MipMap content if not specified.
  • ResolveMipLevel: The mip level at which the resolve texture should be accessed.
  • ResolveLayerIndex: The layer index within the resolve texture (if applicable).
  • CycleResolveTexture: A boolean flag indicating whether the resolve texture should be cycled if already bound.
  • ClearColor: The color to clear the target texture with before rendering.
  • LoadOperation: Specifies how the texture should be loaded from memory (e.g., LOAD, CLEAR, IGNORE).
  • StoreOperation: Specifies how the result of the render pass should be stored into memory (e.g., STORE, IGNORE, RESOLVE, RESOLVE_AND_STORE).

Depth Stencil Targets

  • TargetTexture: A pointer to the texture where the depth and stencil information will be stored.
  • MipLevel: The mip level at which the target texture should be accessed.
  • LayerIndex: The layer index within the target texture (if applicable).
  • ClearDepth: The depth value to clear the target texture with before rendering.
  • ClearStencil: The stencil value to clear the target texture with before rendering.
  • LoadOperation: Specifies how the texture should be loaded from memory (e.g., LOAD, CLEAR, IGNORE).
  • StoreOperation: Specifies how the result of the render pass should be stored into memory (e.g., STORE, IGNORE, RESOLVE, RESOLVE_AND_STORE).

Blend States

  • SourceColorBlendFactor: The blend factor for the source RGB value.
  • DestinationColorBlendFactor: The blend factor for the destination RGB value.
  • ColorBlendOperation: The blend operation for the RGB components.
  • SourceAlphaBlendFactor: The blend factor for the source alpha.
  • DestinationAlphaBlendFactor: The blend factor for the destination alpha.
  • AlphaBlendOperation: The blend operation for the alpha component.
  • ColorWriteMask: A bitmask specifying which of the RGBA

Symbols

Namespace Juliet

Classes, Structs & Unions

  • struct ColorTargetInfo
  • union ColorTargetInfo::anonymous
  • struct DepthStencilTargetInfo
  • struct ColorTargetBlendState
  • struct ColorTargetDescription

Enums

  • enum struct
  • enum struct
  • enum class BlendFactor
  • enum class BlendOperation
  • enum class ColorComponentFlags