Regenerated doc + final submit for now

This commit is contained in:
2026-07-22 17:37:01 -04:00
parent c436639ddd
commit c0d40ef3e4
101 changed files with 869 additions and 781 deletions
@@ -4,7 +4,46 @@
- Header: `Juliet\include\Graphics\RenderPass.h`
## AI Description
This header defines a render pass abstraction for the Juliet graphics API, containing enums and structs to configure color targets, depth/stencil states, blend modes, mipmap operations (load/store/resolve), clear values, and texture cycling. It enables high-level rendering pipeline configuration by encapsulating target properties like formats, mip levels, resolution logic, and per-component blending parameters without exposing direct hardware calls.
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