Core

FidelityFX Cauldron Framework Core reference documentation.

Modules

Enumerations

Name

Description

GamePadAxisMappings

Remaps for gamepad analogue controls
Pad_LTrigger = 0 – Gamepad left trigger.
Pad_RTrigger – Gamepad right trigger.
Pad_LeftThumbX – Gamepad left thumbstick X-axis.
Pad_LeftThumbY – Gamepad left thumbstick Y-axis.
Pad_RightThumbX – Gamepad right thumbstick X-axis.
Pad_RightThumbY – Gamepad right thumbstick Y-axis.
Pad_AxisCount – Gamepad axis count.

GamePadButtonMappings

Remaps for gamepad digital controls
Pad_DPadUp = 0 – Gamepad directional cross up.
Pad_DPadDown – Gamepad directional cross down.
Pad_DPadLeft – Gamepad directional cross left.
Pad_DPadRight – Gamepad directional cross right.
Pad_Start – Gamepad start button (or equivalent)
Pad_Back – Gamepad back/select/capture button (or equivalent)
Pad_L3 – Gamepad Left Thumb Stick down.
Pad_R3 – Gamepad Right Thumb Stick down.
Pad_LB – Gamepad Left Bumper/Button.
Pad_RB – Gamepad Right Bumper/Button.
Pad_A – Gamepad A button: XBox -> A, PS -> Cross.
Pad_B – Gamepad B button: XBox -> B, PS -> Circle.
Pad_X – Gamepad X button: XBox -> X, PS -> Square.
Pad_Y – Gamepad Y button: XBox -> Y, PS -> Triangle.
Pad_ButtonCount – Gamepad button count.

InputSource

Input source mappings
InputSrc_Keyboard = 0
InputSrc_Mouse
InputSrc_GamePad
InputSrc_Count

InputType

Input type mappings (axis or button)
InputType_Button = 0
InputType_Axis
InputType_Count

KeyboardInputMappings

Remaps for keyboard keys Note: Being very selective about what keys we can map in order to try and fit everything into a 64-bit state representation
Key_0 = 0
Key_1
Key_2
Key_3
Key_4
Key_5
Key_6
Key_7
Key_8
Key_9
Key_A
Key_B
Key_C
Key_D
Key_E
Key_F
Key_G
Key_H
Key_I
Key_J
Key_K
Key_L
Key_M
Key_N
Key_O
Key_P
Key_Q
Key_R
Key_S
Key_T
Key_U
Key_V
Key_W
Key_X
Key_Y
Key_Z
Key_Backspace
Key_Tab
Key_Enter
Key_Shift
Key_Ctrl
Key_Alt
Key_Pause
Key_CapsLock
Key_Space
Key_PrintScreen
Key_Left
Key_Up
Key_Right
Key_Down
Key_F1
Key_F2
Key_F3
Key_F4
Key_F5
Key_F6
Key_F7
Key_F8
Key_F9
Key_F10
Key_F11
Key_F12
Key_Count

LoaderType

Identifies the type of content a “ContentLoader“ is responsible for.
GLTF = 0 – glTF content loader
Texture – Texture content loader.
Particle – Particle content loader.
Count – Content loader count.

MouseAxisMappings

Remaps for mouse axis controls
Mouse_Wheel = 0 – Mouse wheel axis mapping.
Mouse_XAxis – Mouse x (horizontal) axis mapping.
Mouse_YAxis – Mouse y (vertical) axis mapping.
Mouse_AxisCount – Mouse axis count.

MouseButtonMappings

Remaps for mouse button controls
Mouse_LButton = 0 – Mouse left button mapping.
Mouse_RButton – Mouse right button mapping.
Mouse_MButton – Mouse middle button mapping.
Mouse_ButtonCount – Mouse button count.

UIElementType

UI element types to pick from, add more as needed.
Text = 0 – Text UI element.
Button – Button UI element.
Checkbox – Checkbox UI element.
RadioButton – Radio button UI element.
Combo – Combo box UI element.
Slider – Slider UI element.
Separator – Separator UI element.
Count – UI element count.

UISectionType

UI section classifier.
Framework = 0
Sample

Structs

Name

Description

CauldronConfig

Represents the configuration used to initiate the current cauldron run.

ContentBlock

ContentBlock struct used when loading scene content.

EntityDataBlock

Contains all loaded data to back created entities and their components.

FrameworkInitParams

Used to pass application parameters to the framework for initialization.

GamePadState

Tracks gamepad button and axis states per frame

InputState

Represents the entire input state for the duration of a processed frame

MouseState

Tracks mouse button and axis states per frame

RenderModuleInfo

Contains information needed for individual render module initialization.

RenderResourceInformation

Resource information used to create auto-generated resources.

Task

Used to dispatch work to the thread pool managed by the task manager.

TaskCompletionCallback

Used to schedule a task to run after all associated tasks have run.

Classes

Name

Description

BoundingBox

Represents an axis-aligned bounding box that completely encapsulates the scene.

ContentListener

Listener base class allowing content load notifications.

ContentManager

The ContentManager instance is responsible for managing all loaded content.

Entity

Represents an entity instance.

Framework

Sample-backing framework.

FrameworkImpl

Base class from which implementations need to inherit.

InputManager

The InputManager instance is responsible for registering the current input state across all inputs for a frame, and responding to queries about individual input states from the application layer.

Scene

Scene representation for the graphics framework.

TaskManager

The TaskManager instance manages our thread pool.

UIBackend

The base class from which platform-specific UI backends need to derive.