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

Core audio subsystem owning the miniaudio engine and managing playback. More...

Namespaces

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

Classes

class  ApplicationContext
 The application context is the core class which stores the basic openxr and vulkan objects. More...
class  AssetManager
class  AudioEngine
 Owns the miniaudio engine and provides the playback API. More...
class  ConstexprPath
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  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
 Unified material data structure containing all possible material properties. More...
struct  PackedVertex
class  Path
struct  PathHasher
class  PhysicsEngine
 The physics engine manages creating and destroying physics objects for the physics simulation. More...
class  SamplerCache
class  SceneManager
 Manages game objects within a scene, handling registration, ID allocation, and GPU buffer synchronization for meshlet-to-object mappings. More...
struct  TextureStorage

Typedefs

using AudioHandle = uint32_t
 Identifies a playing sound instance.

Enumerations

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 >
template<size_t N>
std::ostream & operator<< (std::ostream &stream, const ConstexprPath< N > &path)
template<size_t N>
consteval bool assetExists (const ConstexprPath< N > &path)
uint32_t packNormalA2B10G10R10_SNORM (const glm::vec3 &n)
uint32_t packColorR8G8B8A8_UNORM (const glm::vec3 &c)
uint32_t packTexCoordR16G16_SFLOAT (const glm::vec2 &tc)

Variables

constexpr AudioHandle INVALID_AUDIO_HANDLE = 0

Detailed Description

Core audio subsystem owning the miniaudio engine and managing playback.

Manages IBL (Image-Based Lighting) resources for specular reflections.

Owns a pre-filtered environment cubemap and a BRDF integration LUT used in the split-sum approximation for specular IBL. Provides placeholder resources when no environment map is loaded.

Typedef Documentation

◆ AudioHandle

using Engine::Core::AudioHandle = uint32_t

Identifies a playing sound instance.

Definition at line 23 of file AudioEngine.h.

Enumeration Type Documentation

◆ TickPriority

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

Enumerator
DefaultStep 
InputStep 
PlayerLocomotionStep 
TrackedPoseStep 

Definition at line 11 of file Tick.h.

Function Documentation

◆ assetExists()

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

Definition at line 96 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 >

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

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 )

Definition at line 90 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

Definition at line 90 of file AssetManager.h.

◆ packNormalA2B10G10R10_SNORM()

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

Definition at line 70 of file AssetManager.h.

◆ packTexCoordR16G16_SFLOAT()

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

Definition at line 108 of file AssetManager.h.

Variable Documentation

◆ INVALID_AUDIO_HANDLE

AudioHandle Engine::Core::INVALID_AUDIO_HANDLE = 0
constexpr

Definition at line 24 of file AudioEngine.h.