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

Manages IBL (Image-Based Lighting) resources for specular reflections. 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  AssetRegistry
class  AudioClipStore
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  GeometryMeshStore
struct  GltfRenderableRecord
class  GltfStore
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...
class  MaterialStore
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
 The physics engine manages creating and destroying physics objects for the physics simulation. 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  Texture2DStore
struct  TextureStorage
 Texture asset entry paired with its descriptor index. More...
class  TimerManager

Typedefs

using AudioHandle = uint32_t
 Identifies a playing sound instance.

Enumerations

enum class  AssetLoadState : uint8_t {
  Unloaded ,
  RequestedLoad ,
  Loading ,
  Loaded ,
  Failed
}
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

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 20 of file AudioEngine.h.

Enumeration Type Documentation

◆ AssetLoadState

enum class Engine::Core::AssetLoadState : uint8_t
strong
Enumerator
Unloaded 
RequestedLoad 
Loading 
Loaded 
Failed 

Definition at line 23 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 
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 101 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(), Engine::Core::Path::engineTextures(), Engine::Core::Path::gameAudio(), and Engine::Core::Path::gameGeometry().

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 95 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 100 of file AssetManager.h.

◆ packNormalA2B10G10R10_SNORM()

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

Definition at line 80 of file AssetManager.h.

◆ packTexCoordR16G16_SFLOAT()

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

Definition at line 118 of file AssetManager.h.

Variable Documentation

◆ INVALID_AUDIO_HANDLE

AudioHandle Engine::Core::INVALID_AUDIO_HANDLE = 0
constexpr

Definition at line 21 of file AudioEngine.h.