Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
EngineCore Namespace Reference

Log category system implementation. More...

Namespaces

namespace  ShaderStage
 C++ side enum definitions for shader bindings, generated from X-macros.

Classes

class  Actor
 An Actor is similar to an EngineCore::Entity. An actor is an Entity with a transform. More...
class  AllocationException
 Used when we allocate memory in finite space (e.g. array) and run out of space. More...
class  ApplicationContext
 The application context is the core class which stores the basic openxr and vulkan objects. More...
class  AssetManager
class  BoxCollisionComponent
 Collision component using a box shape. More...
class  BufferWriteException
 A buffer write exception is typically thrown when trying to write to a buffer which does not have enough space for the content written to it. More...
class  CameraComponent
 A camera component that provides view and projection matrices based on its SceneNode transform. Use setActive() to mark this camera as the active camera for rendering. More...
class  CapsuleCollisionComponent
 Collision component using a capsule shape (cylinder with hemispherical ends). More...
struct  ClusterGroupData
 Per-group LOD data representing a simplified version of child clusters. Groups are created by merging and simplifying clusters from the finer LOD level. More...
struct  ClusterLodData
 Per-cluster LOD data for GPU-driven LOD selection. Each cluster maps to exactly one meshlet and contains hierarchical LOD information. More...
class  ClusterLodGenerator
 Generates LOD hierarchy for meshes using meshoptimizer. More...
struct  ClusterSurvivor
 Cluster survivor data passed from culling to binning shaders. Contains the LOD selection result including dither factor for transitions. More...
class  CollisionComponent
 Base class for collision shape components. More...
class  ComputePass
 The compute pass stores all resources which belong to a compute pipeline. More...
class  ComputePipeline
 A wrapper for vulkan pipeline resources. In this case a typesafe compute pipeline. More...
class  ComputePipelineSpecializationData
 Wrapper for shader specialization data for compute pipelines. This usually only stores the thread count as that can depend on the hardware the engine is running on. More...
class  ConstexprPath
struct  CpuMeshData
 CPU side data for per object data. This will get divided up into multiple gpu buffers. More...
struct  CpuPrimitiveData
 Cpu primitive data. Stores data which corresponds to a primitive. More...
class  DataBuffer
class  DefaultJsonGenerator
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  DescriptorSetLayoutBuilder
class  DescriptorSetUpdater
 The Descriptor set updater is used to create a list of descriptor set writes which are executed with update() More...
class  DiffuseFlatColorMaterialData
 Material data for an Object which displays a flat color. More...
class  DiffuseShaderMaterialData
 diffuse shader More...
struct  Dispatch
 Alignment at 4 bytes. More...
class  DispatcherComputePass
class  DispatcherComputePipelineSpecializationData
struct  DynamicMaterialUniformData
class  DynamicTexturesMaterialData
 Dynamic textures material with PBR and lightmap support. More...
class  EmptyScene
class  Engine
class  EngineManager
 Singleton which stores a pointer to the engine object. More...
class  Entity
 The entity class is the base class of everything which is attached to a scene. If it is part of a scene it is an entity. More...
class  EnvironmentException
 Is thrown when the environment for the game is not setup properly. So for example if we cant find an openxr runtime this is thrown. More...
class  Exception
struct  ExrChannelInfo
 Represents channel information from an EXR file header. More...
struct  ExrHeader
 Wrapper for EXR file header information with owned data. More...
class  ExrLoader
 Loader for EXR (OpenEXR) image files. More...
class  ExrTextureAsset
 Extension of TextureAsset and stores the Exr header information as well as the texture data. More...
class  Factory
struct  FrustumPlanes
 Frustum planes for frustum culling in the first compute shader stage. More...
class  GameModule
class  GlmSerialize
class  GltfLoader
class  GltfSpawner
 Utility class for spawning GLTF meshes into a scene. More...
class  GltfTextureAsset
 Extension of TextureAsset for images loaded from glTF files (PNG/JPG) More...
struct  GpuDiffuseFlatColorMaterial
 GPU-side layout for flat color material Matches GLSL struct in triangle_flat.frag. More...
struct  GpuDiffuseShaderMaterial
 GPU-side layout for diffuse shader material Used for basic textured materials. More...
struct  GpuMeshDescription
 Describes a mesh on the gpu. Where it is in the memory and how many meshlets it consists of. More...
struct  GpuNormalsMaterial
 GPU-side layout for normals debug material. More...
struct  GpuPbrMaterial
 GPU-side layout for PBR material with spherical harmonics Used by MovableDiffuseShader, L0/L1/L2 shaders, and DynamicTextures. More...
class  GraphicsPipeline
class  Headset
struct  HiZViewProjectionData
 View-projection data for Hi-Z occlusion culling Contains matrices and screen info needed to project bounding spheres to screen space. More...
class  InputInterface
struct  InstanceCullingData
 Instance culling data - replaces ObjectCullingData for instancing. Contains world-space bounding sphere and references to instance/geometry data. More...
struct  InstanceData
 Per-instance data - one per visible MeshComponent. References shared geometry via meshGeometryId. 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...
class  JsonArchive
class  JsonHandler
class  L0ShaderMaterialData
class  L1ShaderMaterialData
 L1 Spherical Harmoics shader. More...
class  L2ShaderMaterialData
struct  LayoutBinding
class  LayoutBindingsBuilder
struct  LocalBoundsData
 Local-space bounding sphere data - uploaded once, never changes. More...
struct  LodConfigUBO
 LOD configuration for GPU shader selection. Updated per-frame with camera and screen information. More...
struct  LodGenerationConfig
 Configuration for LOD hierarchy generation. More...
class  LogCategory
 Represents a single log category with verbosity control. More...
class  LogCategoryManager
 Global registry for log categories with runtime verbosity control. More...
class  LogicComponent
 Base class for all logic components that can be attached to an actor. Provides access to the scene, tick functionality, and lifecycle events. More...
class  Material
class  MaterialAsset
 the material asset is another wrapper for asset data which is stored in entt. It has the EngineCore::MaterialAsset::type member variable which corresponds to the component used to store the material data More...
class  MaterialAssetManager
class  MaterialData
class  MaterialDataStorage
 The material data storage is designed to have all material data at a compact layout. More...
struct  MaterialNameTrait
struct  MaterialNameTrait< DiffuseFlatColorMaterialData >
struct  MaterialNameTrait< DiffuseShaderMaterialData >
struct  MaterialNameTrait< DynamicTexturesMaterialData >
struct  MaterialNameTrait< L0ShaderMaterialData >
struct  MaterialNameTrait< L1ShaderMaterialData >
struct  MaterialNameTrait< L2ShaderMaterialData >
struct  MaterialNameTrait< MovableDiffuseShaderMaterialData >
struct  MaterialNameTrait< NormalMaterialData >
struct  MaterialNameTrait< StaticLightmapMaterialData >
struct  MaterialShader
class  Mesh
class  MeshAsset
 The mesh asset stores geometry data and. More...
class  MeshAssetManager
 Stores mesh data with their primitives. More...
class  MeshComponent
 A component which can be attached as many times to an actor as one wants. It makes it possible to render a mesh attached to an object. More...
struct  MeshGeometryData
 Shared geometry metadata - one per unique MeshAsset primitive. Allows multiple instances to reference the same geometry data. More...
struct  MeshGeometryMapping
 Mapping from MeshAsset primitive to shared geometry buffer location. Used by RenderingDataManager to track deduplicated geometry. More...
struct  MeshletBounds
 Used in meshlet culling. More...
class  MeshLoader
class  MeshLoaderGltf
class  MeshPrimitive
struct  MeshPrimitiveRenderData
class  MeshShaderSpecializationData
 Specialization data for mesh shaders - provides screen resolution for small triangle culling. More...
struct  MeshUnpackingData
 Data for the metadata buffer which handles the unpacking of meshes into their meshlets. More...
class  MirrorView
 This class houses the components needed to display a vr image on the desktop. More...
class  MissingOpenXrRuntimeException
 When the open xr runtime is not installed this will be thrown. More...
class  ModelAsset
 The model asset is used to bind together all files of one gtlf model. The idea is that textures, materials etc are bundled in one model. More...
class  ModelAssetManager
class  MovableDiffuseShaderMaterialData
 Moveable diffuse shader with PBR and lightmap support. More...
class  NodeFactory
 Factory class for creating SceneNodes with proper parent-child relationships. This ensures that nodes are always created with a valid parent. More...
class  NormalMaterialData
 Material data for an object which displays its normals. More...
struct  ObjectCullingCounters
struct  ObjectCullingData
 Data for object culling. More...
class  OpenXrHelper
struct  PackedVertex
class  Path
struct  PathHasher
struct  PerObjectData
 Stores all data which is unique to each object. More...
struct  PerObjectPrimitiveData
class  PhysicsBodyComponent
 Component that manages a physics rigid body for an entity. More...
class  PhysicsEngine
 The physics engine manages creating and destroying physics objects for the physics simulation. More...
struct  PipelineConfig
 Static configuration for a graphics pipeline Defines which shaders to use for a given PipelineNames enum. More...
struct  PipelineMaterialPayload
class  PipelineSpecializationData
 Base class which defines the interface for pipeline specialization data. This can be thread count. Max object count etc. More...
struct  PrimitiveMeshletData
 Data for the primitive culling shader to assemble and pass on to the unpacking shader. More...
struct  PushConstants
class  QueueSubmitBuilder
 Fluent builder for queue submissions with timeline and binary semaphores. More...
class  Rat
struct  Registrar
class  Renderer
 The renderer is the main class for rendering. It owns all data which is used any time in any frame. For per frame data take a look at. More...
class  RenderingDataManager
 The rendering data manager is supposed to hold all methods to update the contents of the buffers which are uploaded to the gpu. This could be culling data for example. More...
class  RenderingPass
class  RenderList
 The render list stores all actors to render this frame. More...
class  RenderProcess
 The render process class consolidates all the resources that needs to be duplicated for each frame that can be rendered to in parallel. The renderer owns a render process for each frame that can be processed at the same time, and each render process holds their own uniform buffer, command buffer, semaphores and memory fence. With this duplication, the application can be sure that one frame does not modify a resource that is still in use by another simultaneous frame. More...
struct  RenderTarget
 A render target which contains all resources to access the rendered image. More...
struct  RigidBodyCreateInfo
 Rigid body create info is used to create a rigid body. It delivers all informations like the initial transform where the simulation should start or the mass of the object. More...
class  RootNode
 A subclass of EngineCore::SceneNode which is the root node of a scene graph. More...
class  Scene
 A scene is the overarching structure which can spawn actors. More...
class  SceneComponent
 A scene component has a transform. More...
class  SceneGraph
 Represents the entire scene as a graph (specifically, a tree) of SceneNode objects. It manages the hierarchy of nodes and provides access to the root of the scene. More...
class  SceneManager
 Manages game objects within a scene, handling registration, ID allocation, and GPU buffer synchronization for meshlet-to-object mappings. More...
class  SceneNode
 Represents a node in the scene graph, containing information about its position, rotation, and scale relative to its parent. It also holds references to its parent and children nodes. More...
class  Serializable
struct  SHProbeData
 SH Probe data structure for dynamic lighting Contains L0-L2 RGB spherical harmonic coefficients. More...
struct  SingleMeshletGeometryData
 GPU data for single-meshlet geometry using vertex shader path. One entry per unique single-meshlet geometry, referenced by instances. Used for VkDrawIndexedIndirectCommand generation in culling shader. More...
class  SphereCollisionComponent
 Collision component using a sphere shape. More...
class  StaticLightmapMaterialData
 Static lightmap material with PBR support. More...
class  StaticMeshActor
 Wrapper for entt component creation which ensures types safety and attaches the correct component with systmes to the entity. More...
class  TestComponent
class  Texture
class  TextureAsset
 Wrapper for texture data. More...
class  TextureAssetManager
class  TextureHandle
 Type-erased texture handle for runtime storage. More...
class  TextureHandleRegistry
 Central registry for texture handles, providing O(1) descriptor index lookup. More...
struct  TextureLoadData
class  TextureLoader
struct  TextureStorage
class  Ticker
class  TimelineSynchronizer
 Centralized timeline semaphore management for the rendering pipeline. More...
class  Transform
class  TypedTextureHandle
 Type-safe texture handle wrapper providing compile-time type safety. More...
class  UnifiedGeometryManager
struct  UnifiedMeshlet
 Information about the wereabouts of a meshlet in memory on the gpu. More...
struct  UniformBufferObject
class  UniqueTestComponent
class  UuidManager
class  UuidSingleton
struct  VisibleMeshletInfo
 Struct for the result buffer of the culling operation. Stores which objects have passed the culling test. More...
struct  VisibleMeshletRange
class  VrHeadsetConnectionException
class  VrMovementComponent
 Component that handles VR player movement using controller inputs. More...
class  VulkanBuffer
 RAII wrapper for Vulkan buffer and device memory. More...
class  VulkanStagedBuffer
struct  VulkanStagedBufferSyncObjects
class  Window
class  XrErrorCodes

Typedefs

using json = nlohmann::json
using AlbedoTextureHandle = TypedTextureHandle<TextureType::BaseColor>
using NormalTextureHandle = TypedTextureHandle<TextureType::Normal>
using MetallicRoughnessTextureHandle = TypedTextureHandle<TextureType::MetallicRoughness>
using EmissiveTextureHandle = TypedTextureHandle<TextureType::Emissive>
using LightmapTextureHandle = TypedTextureHandle<TextureType::Lightmap>

Enumerations

enum class  LogVerbosity : uint8_t {
  Fatal = 0 ,
  Error = 1 ,
  Warning = 2 ,
  Info = 3 ,
  Debug = 4 ,
  Verbose = 5 ,
  All = Verbose ,
  Off = Fatal
}
 Log verbosity levels, ordered from most to least severe. More...
enum  PipelineNames : int {
  DIFFUSE_FLAT_COLOR ,
  DIFFUSE_SHADER ,
  MOVABLE_DIFFUSE_SHADER ,
  NORMALS_SHADER ,
  L0_SHADER ,
  L1_SHADER ,
  L2_SHADER ,
  DYNAMIC_TEXTURES ,
  STATIC_LIGHTMAP
}
enum class  PipelineStage : uint32_t {
  TransferComplete = 0 ,
  CullingComplete = 1 ,
  MeshletUnpackComplete = 2 ,
  GraphicsComplete = 3 ,
  PresentReady = 4 ,
  COUNT
}
 Extensible pipeline stages for timeline semaphore synchronization. More...
enum class  TextureType : uint8_t {
  BaseColor ,
  Normal ,
  MetallicRoughness ,
  Emissive ,
  Lightmap ,
  Unknown
}
 Represents the semantic type of a texture, determining its Vulkan format. More...

Functions

CameraComponentgetActiveCamera ()
 Gets the currently active camera.
bool hasActiveCamera ()
 Checks if there is an active camera set.
LogVerbosity verbosityFromString (const std::string &str)
 Parse verbosity from string (case-insensitive)
template<typename T>
UnpackOptional (std::optional< T > var)
template<typename Derived, typename Base>
std::weak_ptr< Derived > castWeakPtr (const std::weak_ptr< Base > &baseWeakPtr)
constexpr const char * verbosityToString (LogVerbosity v)
 Convert verbosity enum to string for display/config.
constexpr int verbosityToPlogSeverity (LogVerbosity v)
 Convert LogVerbosity to plog::Severity.
template<typename... Args>
void logImpl (LogCategory &category, LogVerbosity verbosity, const char *file, int line, const char *func, std::format_string< Args... > fmt, Args &&... args)
 Internal helper to format and output a log message.
void logImplSimple (LogCategory &category, LogVerbosity verbosity, const char *file, int line, const char *func, const char *message)
 Internal helper for messages without format arguments.
uint32_t packNormalA2B10G10R10_SNORM (const glm::vec3 &n)
uint32_t packColorR8G8B8A8_UNORM (const glm::vec3 &c)
uint32_t packTexCoordR16G16_SFLOAT (const glm::vec2 &tc)
constexpr std::string_view getPipelineStageName (PipelineStage stage)
 Gets a human-readable name for a pipeline stage (for debugging/logging)
template<typename T>
std::string getTypeName ()
constexpr VkFormat getVkFormat (TextureType type, int bits, int components)
 Get the correct VkFormat based on texture type and image properties.
constexpr bool requiresLinearFormat (TextureType type)
 Check if a texture type requires linear (non-SRGB) format.

Variables

static CameraComponents_activeCamera = nullptr
constexpr XrViewConfigurationType xrViewType = XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO
constexpr XrEnvironmentBlendMode environmentBlendMode = XR_ENVIRONMENT_BLEND_MODE_OPAQUE
constexpr const char * windowTitle = "Vulkan Schnee"
constexpr size_t MIN_BUFFER_SIZE = 64
constexpr VkPipelineStageFlags2 STAGED_BUFFER_DST_STAGES
constexpr uint32_t PIPELINE_STAGE_COUNT = static_cast<uint32_t>(PipelineStage::COUNT)

Detailed Description

Log category system implementation.

Cluster LOD generator using meshoptimizer's simplifier.

Logging macros with category support.

Unreal Engine-inspired log category system for plog.

Implementation of ClusterLodGenerator using meshoptimizer.

Author
Konstantin Passig
Date
2026-01-27
Author
Konstantin Passig
Date
2026-01-26
Author
Konstantin Passig
Date
2026-01-27

Provides per-subsystem verbosity control with compile-time and runtime filtering. Categories are declared with DECLARE_LOG_CATEGORY_EXTERN and defined with DEFINE_LOG_CATEGORY.

Author
Konstantin Passig
Date
2026-01-27

VS_LOG(Category, Verbosity, FormatString, ...)

  • Category: A LogCategory instance (e.g., LogLOD)
  • Verbosity: LogVerbosity level (Fatal, Error, Warning, Info, Debug, Verbose)
  • FormatString: std::format compatible format string
  • ...: Format arguments
Author
Konstantin Passig
Date
2026-01-26

Generates a Nanite-style LOD hierarchy where meshlets are organized into clusters with hierarchical grouping. LOD selection is performed per-cluster on the GPU based on screen-space error.

Typedef Documentation

◆ AlbedoTextureHandle

◆ EmissiveTextureHandle

◆ json

using EngineCore::json = nlohmann::json

Definition at line 8 of file JsonHandler.cpp.

◆ LightmapTextureHandle

◆ MetallicRoughnessTextureHandle

◆ NormalTextureHandle

Enumeration Type Documentation

◆ LogVerbosity

enum class EngineCore::LogVerbosity : uint8_t
strong

Log verbosity levels, ordered from most to least severe.

Maps to plog severity levels for seamless integration.

Enumerator
Fatal 

Unrecoverable error, may crash.

Error 

Recoverable error.

Warning 

Potential issue.

Info 

Important state changes.

Debug 

Development debugging.

Verbose 

Detailed tracing.

All 
Off 

Definition at line 27 of file LogCategory.h.

◆ PipelineNames

Enumerator
DIFFUSE_FLAT_COLOR 
DIFFUSE_SHADER 
MOVABLE_DIFFUSE_SHADER 
NORMALS_SHADER 
L0_SHADER 
L1_SHADER 
L2_SHADER 
DYNAMIC_TEXTURES 
STATIC_LIGHTMAP 

Definition at line 8 of file MaterialTypes.h.

◆ PipelineStage

enum class EngineCore::PipelineStage : uint32_t
strong

Extensible pipeline stages for timeline semaphore synchronization.

Order matters: stages execute in enum order within a frame. Each stage gets a unique timeline value per frame using the formula: timelineValue = frameNumber * PIPELINE_STAGE_COUNT + stageIndex

This guarantees:

  • Monotonically increasing values (required by timeline semaphores)
  • Predictable values for any stage at any frame
  • Clear ordering between stages within a frame
  • Clear ordering between frames
Date
2026-01-14
Author
Konstantin Passig
Enumerator
TransferComplete 
CullingComplete 
MeshletUnpackComplete 
GraphicsComplete 
PresentReady 
COUNT 

Definition at line 25 of file PipelineStages.h.

◆ TextureType

enum class EngineCore::TextureType : uint8_t
strong

Represents the semantic type of a texture, determining its Vulkan format.

Different texture types require different VkFormats for correct rendering:

  • Color textures (BaseColor, Emissive) need SRGB formats for gamma-correct rendering
  • Linear data textures (Normal, MetallicRoughness) need UNORM formats
  • HDR textures (Lightmap) need floating-point formats
Author
Konstantin Passig
Date
2026-01-22
Enumerator
BaseColor 

Color data with gamma (SRGB format for 8-bit)

Normal 

Linear data for normal maps (UNORM format for 8-bit)

MetallicRoughness 

Linear data for PBR parameters (UNORM format for 8-bit)

Emissive 

Color data with gamma (SRGB format for 8-bit)

Lightmap 

HDR baked lighting data (SFLOAT format)

Unknown 

Fallback type, uses SRGB as default.

Definition at line 18 of file TextureType.h.

Function Documentation

◆ castWeakPtr()

template<typename Derived, typename Base>
std::weak_ptr< Derived > EngineCore::castWeakPtr ( const std::weak_ptr< Base > & baseWeakPtr)

Definition at line 8 of file Pointer.h.

◆ getActiveCamera()

CameraComponent * EngineCore::getActiveCamera ( )

Gets the currently active camera.

Returns
Pointer to the active camera component, or nullptr if none is set

Definition at line 232 of file CameraComponent.cpp.

References s_activeCamera.

Referenced by EngineCore::RenderProcess::updateEyeViewProjectionMatrices().

Here is the caller graph for this function:

◆ getPipelineStageName()

std::string_view EngineCore::getPipelineStageName ( PipelineStage stage)
constexpr

Gets a human-readable name for a pipeline stage (for debugging/logging)

Parameters
stageThe pipeline stage
Returns
String view of the stage name

Definition at line 52 of file PipelineStages.h.

References CullingComplete, GraphicsComplete, MeshletUnpackComplete, PresentReady, and TransferComplete.

◆ getTypeName()

template<typename T>
std::string EngineCore::getTypeName ( )

Definition at line 93 of file Factory.h.

Referenced by EngineCore::Serializable::getClassName(), and EngineCore::Registrar< T >::Registrar().

Here is the caller graph for this function:

◆ getVkFormat()

VkFormat EngineCore::getVkFormat ( TextureType type,
int bits,
int components )
constexpr

Get the correct VkFormat based on texture type and image properties.

This function centralizes format selection logic, ensuring that:

  • Normal maps use LINEAR formats (VK_FORMAT_R8G8B8A8_UNORM)
  • Color textures use SRGB formats (VK_FORMAT_R8G8B8A8_SRGB)
  • HDR textures use floating-point formats
Parameters
typeThe semantic type of the texture
bitsBits per component (8, 16, or 32)
componentsNumber of color components (1-4)
Returns
The appropriate VkFormat for the texture
Author
Konstantin Passig
Date
2026-01-22

Definition at line 43 of file TextureType.h.

References BaseColor, Emissive, Lightmap, MetallicRoughness, Normal, and Unknown.

Referenced by EngineCore::Texture::Texture().

Here is the caller graph for this function:

◆ hasActiveCamera()

bool EngineCore::hasActiveCamera ( )

Checks if there is an active camera set.

Returns
true if an active camera exists

Definition at line 236 of file CameraComponent.cpp.

References s_activeCamera.

◆ logImpl()

template<typename... Args>
void EngineCore::logImpl ( LogCategory & category,
LogVerbosity verbosity,
const char * file,
int line,
const char * func,
std::format_string< Args... > fmt,
Args &&... args )
inline

Internal helper to format and output a log message.

Definition at line 28 of file LogMacros.h.

References Debug, Error, Fatal, EngineCore::LogCategory::getName(), Info, Verbose, and Warning.

Here is the call graph for this function:

◆ logImplSimple()

void EngineCore::logImplSimple ( LogCategory & category,
LogVerbosity verbosity,
const char * file,
int line,
const char * func,
const char * message )
inline

Internal helper for messages without format arguments.

Definition at line 60 of file LogMacros.h.

References Debug, Error, Fatal, EngineCore::LogCategory::getName(), Info, Verbose, and Warning.

Here is the call graph for this function:

◆ packColorR8G8B8A8_UNORM()

uint32_t EngineCore::packColorR8G8B8A8_UNORM ( const glm::vec3 & c)
inline

Definition at line 79 of file AssetManager.h.

◆ packNormalA2B10G10R10_SNORM()

uint32_t EngineCore::packNormalA2B10G10R10_SNORM ( const glm::vec3 & n)
inline

Definition at line 59 of file AssetManager.h.

◆ packTexCoordR16G16_SFLOAT()

uint32_t EngineCore::packTexCoordR16G16_SFLOAT ( const glm::vec2 & tc)
inline

Definition at line 97 of file AssetManager.h.

◆ requiresLinearFormat()

bool EngineCore::requiresLinearFormat ( TextureType type)
constexpr

Check if a texture type requires linear (non-SRGB) format.

Parameters
typeThe texture type to check
Returns
true if the texture should use LINEAR/UNORM format, false for SRGB

Definition at line 135 of file TextureType.h.

References BaseColor, Emissive, Lightmap, MetallicRoughness, Normal, and Unknown.

◆ UnpackOptional()

template<typename T>
T EngineCore::UnpackOptional ( std::optional< T > var)

Definition at line 7 of file Optional.h.

Referenced by EngineCore::AssetManager::getMeshAsset(), EngineCore::GltfLoader::load(), Ecs::ModelAssetPipeline::processMaterial(), Ecs::ModelAssetPipeline::processMeshData(), Ecs::ModelAssetPipeline::processModel(), and Ecs::ModelAssetPipeline::submitLoadModel().

Here is the caller graph for this function:

◆ verbosityFromString()

LogVerbosity EngineCore::verbosityFromString ( const std::string & str)

Parse verbosity from string (case-insensitive)

Returns
Parsed verbosity, or Info if not recognized

Definition at line 22 of file LogCategory.cpp.

References Debug, Error, Fatal, Info, Verbose, and Warning.

Referenced by EngineCore::LogCategoryManager::loadConfig().

Here is the caller graph for this function:

◆ verbosityToPlogSeverity()

int EngineCore::verbosityToPlogSeverity ( LogVerbosity v)
constexpr

Convert LogVerbosity to plog::Severity.

Definition at line 66 of file LogCategory.h.

References Debug, Error, Fatal, Info, Verbose, and Warning.

◆ verbosityToString()

const char * EngineCore::verbosityToString ( LogVerbosity v)
constexpr

Convert verbosity enum to string for display/config.

Definition at line 44 of file LogCategory.h.

References Debug, Error, Fatal, Info, Verbose, and Warning.

Referenced by EngineCore::LogCategoryManager::saveConfig().

Here is the caller graph for this function:

Variable Documentation

◆ environmentBlendMode

XrEnvironmentBlendMode EngineCore::environmentBlendMode = XR_ENVIRONMENT_BLEND_MODE_OPAQUE
constexpr

◆ MIN_BUFFER_SIZE

◆ PIPELINE_STAGE_COUNT

uint32_t EngineCore::PIPELINE_STAGE_COUNT = static_cast<uint32_t>(PipelineStage::COUNT)
constexpr

◆ s_activeCamera

CameraComponent* EngineCore::s_activeCamera = nullptr
static

◆ STAGED_BUFFER_DST_STAGES

VkPipelineStageFlags2 EngineCore::STAGED_BUFFER_DST_STAGES
constexpr
Initial value:
=
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT | VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT

Definition at line 14 of file VulkanStagedBuffer.cpp.

Referenced by EngineCore::VulkanStagedBuffer::uploadPartial().

◆ windowTitle

const char* EngineCore::windowTitle = "Vulkan Schnee"
constexpr

Definition at line 25 of file MirrorView.cpp.

Referenced by EngineCore::MirrorView::MirrorView().

◆ xrViewType

XrViewConfigurationType EngineCore::xrViewType = XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO
constexpr