Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Core Namespace Reference

Namespaces

namespace  Audio
 Shared audio configuration constants used by miniaudio and Steam Audio.

Classes

struct  AnchorPoint
 Named attachment transform authored as a direct child empty of a glTF mesh node. More...
class  AnimationClipStore
 Registry store for animation clip handles. More...
class  ApplicationContext
 The application context is the core class which stores the basic openxr and vulkan objects. More...
class  AssetManager
 Coordinates engine asset loading pipelines and runtime texture descriptor ownership. More...
class  AssetRegistry
 Groups typed asset registry stores and resolves authored asset references. More...
class  AudioClipStore
 Registry store for authored audio clip handles. More...
struct  AudioDeviceInfo
class  AudioEngine
 Owns the miniaudio engine and provides the playback API. More...
class  AudioFlowGraph
 Shared flow-graph audio runtime built on a miniaudio node graph. More...
class  ConstexprPath
 Fixed-size path string that supports constexpr path composition. More...
class  DescriptorIndexAllocator
 Use this class to manage a finite amount of memory. The idea is to have an array which stores objects and a vector which has pointers to said objects in the array. The array is sparsely populated using optionals. More...
class  GeometryMeshStore
 Registry store for non-skinned geometry mesh handles. More...
struct  GltfRenderableRecord
 Imported metadata for one renderable node inside a glTF file. More...
class  GltfStore
 Registry store for glTF source files and their renderable node handles. More...
class  ITickable
 This is the interface which is used to call a tick function on an object. Everything which should be able to tick has to implement this interface. More...
struct  MaterialData
 CPU-side material description consumed by renderer material upload code. More...
class  MaterialStore
 Registry store for material asset handles. More...
struct  PackedVertex
 Compact vertex format used by mesh packing code. More...
class  Path
 Centralized accessors for project and asset paths. More...
struct  PathHasher
 Hash functor for filesystem paths used in unordered containers. More...
class  PhysicsEngine
 Owns the Bullet dynamics world and dispatches engine collision events. More...
class  SamplerCache
 Cache for reusable Vulkan samplers keyed by address mode. More...
class  SceneManager
 Manages game objects within a scene, handling registration, ID allocation, and GPU buffer synchronization for meshlet-to-object mappings. More...
class  SkinStore
 Registry store for skin/skeleton binding handles. More...
class  SteamAudioBackend
 Binaural HRTF spatialization backend built on Steam Audio. More...
class  Texture2DStore
 Registry store for authored sampled 2D texture handles. More...
struct  TextureStorage
 Texture asset entry paired with its descriptor index. More...
class  TimerManager
 Schedules one-shot callbacks against engine time. More...

Typedefs

using AnchorPointMap = std::unordered_map<std::string, AnchorPoint>
 Lookup table from authored empty-node name to its AnchorPoint transform.
using AudioHandle = uint32_t
 Identifies a playing sound instance.

Enumerations

enum class  AssetLoadState : uint8_t {
  Unloaded ,
  RequestedLoad ,
  Loading ,
  Loaded ,
  Failed
}
 Load lifecycle state for registry-backed asset payloads. More...
enum  TickPriority : int32_t {
  DefaultStep = 0 ,
  InputStep = 1000 ,
  PlayerLocomotionStep = InputStep + 1 ,
  TrackedPoseStep = InputStep - 1
}

Functions

template<size_t N>
 ConstexprPath (const char(&)[N]) -> ConstexprPath< N >
 Deduces a ConstexprPath size from a string literal.
template<size_t N>
std::ostream & operator<< (std::ostream &stream, const ConstexprPath< N > &path)
 Writes a constexpr path to an output stream.
template<size_t N>
consteval bool assetExists (const ConstexprPath< N > &path)
 Checks whether a constexpr asset path exists in the generated manifest.
uint32_t packNormalA2B10G10R10_SNORM (const glm::vec3 &n)
 Packs a signed normalized 3D normal into A2B10G10R10_SNORM layout.
uint32_t packColorR8G8B8A8_UNORM (const glm::vec3 &c)
 Packs an RGB color into R8G8B8A8_UNORM layout with opaque alpha.
uint32_t packTexCoordR16G16_SFLOAT (const glm::vec2 &tc)
 Packs a 2D texture coordinate into R16G16_SFLOAT layout.

Variables

constexpr AudioHandle INVALID_AUDIO_HANDLE = 0
 Invalid or failed playback handle.

Typedef Documentation

◆ AnchorPointMap

using Engine::Core::AnchorPointMap = std::unordered_map<std::string, AnchorPoint>

Lookup table from authored empty-node name to its AnchorPoint transform.

Definition at line 52 of file AssetRegistry.h.

◆ AudioHandle

using Engine::Core::AudioHandle = uint32_t

Identifies a playing sound instance.

Definition at line 33 of file AudioEngine.h.

Enumeration Type Documentation

◆ AssetLoadState

enum class Engine::Core::AssetLoadState : uint8_t
strong

Load lifecycle state for registry-backed asset payloads.

Enumerator
Unloaded 

No payload load is active.

RequestedLoad 

A load request has been queued but not started.

Loading 

Payload data is currently loading.

Loaded 

Payload data is available.

Failed 

Payload loading failed.

Definition at line 57 of file AssetRegistry.h.

◆ TickPriority

Tick priorities are processed from highest to lowest. Use small offsets around these anchors for local ordering, e.g. InputStep + 1.

Enumerator
DefaultStep 

Default tick order.

InputStep 

Input collection and action processing order.

PlayerLocomotionStep 

Player movement update order after input.

TrackedPoseStep 

XR pose update order before input consumers.

Definition at line 11 of file Tick.h.

Function Documentation

◆ assetExists()

template<size_t N>
bool Engine::Core::assetExists ( const ConstexprPath< N > & path)
nodiscardconsteval

Checks whether a constexpr asset path exists in the generated manifest.

Parameters
pathAsset path to check.
Returns
True when the generated asset manifest contains the path.

Definition at line 166 of file Path.h.

References Engine::Core::ConstexprPath< N >::view().

Here is the call graph for this function:

◆ ConstexprPath()

template<size_t N>
Engine::Core::ConstexprPath ( const char(&)[N]) -> ConstexprPath< N >

Deduces a ConstexprPath size from a string literal.

Referenced by Engine::Core::Path::engineFonts(), Engine::Core::Path::engineGeometry(), Engine::Core::Path::engineShaders(), Engine::Core::Path::engineSounds(), Engine::Core::Path::engineTextures(), Engine::Core::Path::gameAudio(), Engine::Core::Path::gameGeometry(), and Engine::Core::Path::gameTextures().

Here is the caller graph for this function:

◆ operator<<()

template<size_t N>
std::ostream & Engine::Core::operator<< ( std::ostream & stream,
const ConstexprPath< N > & path )

Writes a constexpr path to an output stream.

Parameters
streamStream to write to.
pathPath to write.
Returns
The output stream.

Definition at line 155 of file Path.h.

References Engine::Core::ConstexprPath< N >::view().

Here is the call graph for this function:

◆ packColorR8G8B8A8_UNORM()

uint32_t Engine::Core::packColorR8G8B8A8_UNORM ( const glm::vec3 & c)
inline

Packs an RGB color into R8G8B8A8_UNORM layout with opaque alpha.

Components are clamped to [0, 1] before packing.

Parameters
cLinear or encoded RGB value, depending on caller convention.
Returns
Packed 32-bit RGBA color value with alpha set to 255.

Definition at line 124 of file AssetManager.h.

◆ packNormalA2B10G10R10_SNORM()

uint32_t Engine::Core::packNormalA2B10G10R10_SNORM ( const glm::vec3 & n)
inline

Packs a signed normalized 3D normal into A2B10G10R10_SNORM layout.

Components are clamped to [-1, 1] before packing. The top two alpha bits are left at zero.

Parameters
nNormal vector to pack.
Returns
Packed 32-bit normal value.

Definition at line 97 of file AssetManager.h.

◆ packTexCoordR16G16_SFLOAT()

uint32_t Engine::Core::packTexCoordR16G16_SFLOAT ( const glm::vec2 & tc)
inline

Packs a 2D texture coordinate into R16G16_SFLOAT layout.

Parameters
tcTexture coordinate to pack.
Returns
Packed 32-bit value containing two half-float components.

Definition at line 146 of file AssetManager.h.

Variable Documentation

◆ INVALID_AUDIO_HANDLE

AudioHandle Engine::Core::INVALID_AUDIO_HANDLE = 0
constexpr

Invalid or failed playback handle.

Definition at line 34 of file AudioEngine.h.