Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CInput::ActionProfileBaseThe base profile for controller support of any device
 CInput::ActionProfileBase::ActionProfiles
 CEngine::Ecs::ActiveCameraTag for the active camera in the scene
 CEngine::Assets::AnimationAnimation clip loaded from glTF animation data
 CEngine::Animation::AnimationChannelA single animation channel targeting one joint's transform property
 CEngine::Animation::AnimationEvaluatorEvaluates animation keyframes at a given time
 CEngine::Ecs::AnimationStateAnimation playback state for an entity with a skeletal mesh
 CEngine::Core::ApplicationContextThe application context is the core class which stores the basic openxr and vulkan objects
 CEngine::Components::ArcadeGliderInput
 CEngine::Components::ArcadeGliderState
 CEngine::Components::ArcadeGliderStep
 CEngine::Components::ArcadeGliderTuningStores the config values for the glider. Can be used to change the flight behavior of the glider movement controller
 CAsset::AssetBaseBase class for asset wrappers. The data is stored in the private member variable 'data' in form of entt components
 CEngine::Ecs::AssetLoadingImage
 CEngine::Ecs::AssetLoadingStatusStatus information for asset loading pipeline
 CAsset::AssetManager< Key, AssetClass >A manager which is used to look up existing assets and their loading state
 CEngine::Core::AssetManager
 CAsset::AssetManager< Asset::Path, Material >
 CAsset::AssetManager< Asset::Path, Mesh >
 CAsset::AssetManager< std::filesystem::path, Audio >
 CAsset::AssetManager< std::filesystem::path, Texture >
 CEngine::Ecs::AssetRequestedIs a tag for asset loading. When an asset has been requested for loading but isn't yet created this tag is applied to the entity which will possess the Ecs::StaticMeshData
 CEngine::Ecs::AudioAssetPipelineAsync pipeline for loading audio assets (WAV, FLAC, MP3)
 CEngine::Assets::AudioDataDecoded audio data ready for playback
 CEngine::Core::AudioEngineOwns the miniaudio engine and provides the playback API
 CEngine::Assets::Loaders::AudioLoaderLoader for audio files using miniaudio's built-in decoders
 CEngine::Ecs::AudioAssetPipeline::AudioLoadFuture
 CBidirectionalMap< T, U >
 CEngine::Ecs::BoneTransformsDirtyTag component indicating bone transforms need GPU upload. Analogous to TransformDirty for world transforms
 CBoneVertexDataPer-vertex bone influence data for skeletal mesh skinning
 CInput::InputManager::BoolAction
 CInput::InputManager::BoolCallbackEntry
 CEngine::Ecs::BoundingSphereA bounding sphere for an entity. Used for frustum culling
 CVulkan::BufferRAII wrapper for Vulkan buffer and device memory
 CBufferCopyObject
 CInput::InputManager::CallbackHandle
 CEngine::Ecs::CameraPropertiesCamera properties for projection matrix calculation
 CEngine::Rendering::GpuBuffers::ClusterGroupDataPer-group LOD data representing simplified child clusters
 CEngine::Rendering::GpuBuffers::ClusterLodDataPer-cluster LOD data for GPU-driven LOD selection
 CEngine::Rendering::GpuBuffers::ClusterSurvivorCluster survivor data passed from culling to binning shaders
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::CollisionPropertiesStores collision shape properties imported from Blender
 CEngine::Ecs::CompletedMeshletGenerationComplete result of meshlet generation for all primitives of a mesh. This is returned from the background meshlet generation task and queued for processing on the main thread at a safe point
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::CollisionProperties::CompoundChild
 CEngine::Ecs::ComputedBoneTransformsStores computed bone matrices for GPU upload
 CEngine::Rendering::ComputePipelineA wrapper for vulkan pipeline resources. In this case a typesafe compute pipeline
 CEngine::Core::ConstexprPath< N >
 CEngine::Rendering::CpuMeshDataCPU-side mesh data with per-object transform and primitives
 CEngine::Rendering::CpuPrimitiveDataCPU-side primitive data
 CEngine::Assets::CubemapTexture
 CEngine::Assets::CubemapTextureData
 CEngine::Assets::CubemapTextureLoader
 CEngine::Rendering::ComputePipelineSpecializationData::Data
 CEngine::Rendering::DispatcherComputePipelineSpecializationData::Data
 CEngine::Rendering::MeshShaderSpecializationData::Data
 CDebugLabelAn RAII-style wrapper for Vulkan debug labels
 CEngine::Components::VrGlider::DebugSnapshot
 CEngineCore::DefaultJsonGenerator
 CEngine::Core::DescriptorIndexAllocatorUse 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
 CEngine::Ecs::VRTrackingInput::DevicePose
 CEngine::Rendering::GpuBuffers::DiffuseFlatColorMaterialGPU-side flat color material
 CEngine::Rendering::GpuBuffers::DiffuseShaderMaterialGPU-side diffuse textured material
 CEngine::Ecs::DirectionalLightDataRuntime directional light data mirrored from Components::DirectionalLight. sceneNodeEntity points to the transform used to derive the light direction unless hasDirectionOverride is set
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::DirectionalLightProperties
 CEngine::Rendering::GpuBuffers::DispatchCompute dispatch dimensions
 CEngine::Debug::Rendering::DrawStatic API for immediate-mode debug line drawing
 CEngine::Rendering::DynamicMaterialUniformData
 CEngine::Rendering::GpuBuffers::DynamicPointLightGPU-side dynamic point light. positionRadius.xyz = world position, w = influence radius. colorIntensity.rgb = light color, w = intensity
 CEngine::Rendering::GpuBuffers::DynamicPointLightBufferFixed-size dynamic point light buffer for shaders
 Cstd::enable_shared_from_this
 CEngine::EngineKern
 CEngine::EngineManagerSingleton which stores a pointer to the engine object
 CEngine::Assets::Textures::TextureHandleRegistry::EntryRegistry entry storing texture metadata
 Cstd::exceptionSTL class
 CEngine::Assets::Textures::ExrChannelInfoRepresents channel information from an EXR file header
 CEngine::Assets::Textures::ExrHeaderWrapper for EXR file header information with owned data
 CEngine::Ecs::ExrHeaderData
 CEngine::Ecs::ExrHeaderFuture
 CEngine::Assets::Textures::ExrLoaderLoader for EXR (OpenEXR) image files
 CEngine::Rendering::Headset::Eye
 CEngineCore::Factory
 CEngine::Core::ApplicationContext::QueueFamily::Family
 CInput::InputManager::FloatAction
 CInput::InputManager::FloatCallbackEntry
 CEngine::Rendering::FrustumPlanesFrustum planes for compute shader culling
 CEngine::GameModule
 CEngine::GliderConfigConfiguration parameters for the VR glider system (distances in meters, speeds in m/s, time in seconds)
 CEngine::Assets::Loaders::GltfLoader::GltfBufferDataView
 CEngine::Assets::Loaders::GltfLoader
 CEngine::Assets::Loaders::GltfLoader::GltfMaterialDataStores the material data which is relevant for our current set of shaders
 CEngine::Assets::Loaders::GltfLoader::GltfMeshData
 CEngine::Assets::Loaders::GltfLoader::GltfMeshPrimitiveDataStores intermediate data from loading the asset from disk. These are the vertices, indices and material data
 CEngine::Ecs::GltfModelFuture
 CEngine::Entities::GltfSpawnerUtility class for spawning GLTF meshes into a scene
 CEngine::Entities::detail::GltfSpawnNode
 CEngine::Entities::detail::GltfSpawnPlan
 CEngine::Assets::Loaders::GltfLoader::GltfTextureData
 CEngine::Assets::Loaders::GltfLoader::GltfVertexData
 CEngine::Rendering::GpuBuffers::GpuMeshDescriptionGPU-side mesh location and meshlet count
 CEngine::Rendering::GraphicsPipeline
 CEngine::Components::VrGlider::HandDataHand position and orientation data relative to head
 CInput::HandPoseInfo
 Cstd::hash< Asset::Path >
 Cstd::hash< EngineCore::TextureLoadData >
 CEngine::Rendering::Headset
 CEngine::Rendering::ImageBasedLightingResources
 CEngine::Rendering::Headset::ImageBuffer
 CEngine::Ecs::ImageData
 CInput::InputManager
 CEngine::Rendering::GpuBuffers::InstanceCullingDataInstance culling data for compute shader
 CEngine::Rendering::GpuBuffers::InstanceDataPer-instance data referencing shared geometry
 CEngine::Core::ITickableThis 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
 CEngine::Assets::JointA single joint in a skeleton hierarchy
 CEngine::Animation::AnimationEvaluator::JointPose
 CEngineCore::JsonHandler
 CEngine::Assets::Loaders::Ktx2LoaderLoader for KTX2 texture files (BC6H, BC7, etc.)
 CEngine::Ecs::Ktx2LoadFuture
 CEngine::Assets::Textures::Ktx2TextureDataStores all data loaded from a KTX2 file including mip chain
 CEngine::Ecs::LightDataTag for ECS entities that provide renderer light data
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::LightProperties::LightmapProperties
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::LightPropertiesStores all properties related to lighting information
 CEngine::Debug::Rendering::LineVertexVertex data for debug line rendering
 CAsset::LoadResult< Key, AssetClass >
 CEngine::Rendering::GpuBuffers::LocalBoundsDataLocal-space bounding sphere data for GPU transformation
 CEngine::Rendering::GpuBuffers::LodConfigUBOLOD configuration UBO for GPU shader selection
 CEngine::Ecs::LodHierarchyResultResult of LOD hierarchy generation for a mesh primitive. Contains per-cluster and per-group data for all LOD levels
 CEngine::Components::LogicBase class for all logic components that can be attached to an actor. Provides access to the scene, tick functionality, and lifecycle events
 CEngine::Core::MaterialDataUnified material data structure containing all possible material properties
 CEngine::Ecs::MaterialDiffuseFlatColor
 CEngine::Assets::Loaders::GltfLoader::MaterialExtensionsStores all material extensions. So if another extension for some kind of specific material attribute is needed we can add it here
 CEngine::Ecs::MaterialLoadingData
 CEngine::Ecs::MaterialNormals
 CEngine::Ecs::TransformOperators::MatrixTransformComponent
 CEngine::Ecs::Mesh
 CEngine::Ecs::MeshComponentRefReference to a MeshComponent for ECS-based iteration. Allows efficient querying of all mesh components without iterating all actors
 CEngine::Rendering::Renderer::MeshConstantsA texture index push constant
 CEngine::Rendering::GpuBuffers::MeshGeometryDataShared geometry metadata for instanced rendering with LOD support
 CEngine::Rendering::MeshGeometryMappingCPU-side mapping from MeshAsset to shared geometry buffer
 CEngine::Ecs::MeshIndexThe index of the mesh inside the scene. Used to query the mesh index of a scene
 CEngine::Rendering::GpuBuffers::MeshletBoundsUsed in meshlet culling
 CEngine::Ecs::MeshletData
 CEngine::Ecs::MeshPrimitive
 CEngine::Ecs::MeshPrimitiveData
 CEngine::Rendering::GpuBuffers::MeshPrimitiveRenderDataPer-primitive render data for GPU shader access
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::MeshPropertiesStores the mesh information like if it is a static object and if it simulates physics
 CEngine::Rendering::GpuBuffers::MeshUnpackingDataMesh unpacking metadata for compute shader
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::metadata
 CEngine::Ecs::Model
 CEngine::Ecs::ModelAssetPipelineThe model asset pipeline loads a gltf scene and loads and loads the mesh and material data. The material data requests the textures it needs
 CEngine::Ecs::ModelFuture
 CEngine::Ecs::ModelNode
 CEngine::Entities::NodeFactoryFactory class for creating SceneNodes with proper parent-child relationships. This ensures that nodes are always created with a valid parent
 CEngine::Rendering::GpuBuffers::NormalsMaterialGPU-side normals debug material
 CEngine::Rendering::GpuBuffers::ObjectCullingCountersCulling operation counters for GPU buffers
 CEngine::Rendering::GpuBuffers::ObjectCullingDataObject culling data for compute shader
 CEngine::OpenXrHelper
 CEngine::Ecs::PackedTriangleGPU-ready packed triangle data (matches shader layout). Stores 3 x 8-bit local indices packed into a single uint32_t. Packing: [unused:8][i2:8][i1:8][i0:8] - bits 31-24, 23-16, 15-8, 7-0 This provides 4x bandwidth reduction vs unpacked format
 CEngine::Core::PackedVertex
 CEngine::Ecs::ParentStores parent relationships
 CAsset::Path
 CEngine::Core::Path
 CEngine::Core::PathHasher
 CEngine::Rendering::GpuBuffers::PbrMaterialGPU-side PBR material with spherical harmonics
 CVulkan::StagedBuffer::PendingDeletionOld buffers waiting to be deleted after all frames complete
 CEngine::Rendering::PerObjectPrimitiveDataCPU-side per-object meshlet, vertex, and index data
 CEngine::Core::PhysicsEngineThe physics engine manages creating and destroying physics objects for the physics simulation
 CEngine::Rendering::PipelineConfigStatic configuration for a graphics pipeline Defines which shaders to use for a given PipelineNames enum
 CEngine::Ecs::PipelineGeometryDataTemporary holder for raw geometry data during pipeline execution This is used to pass data between pipeline stages
 CEngine::Rendering::PipelineMaterialPayload
 CEngine::Rendering::PipelineSpecializationDataBase class which defines the interface for pipeline specialization data. This can be thread count. Max object count etc
 CEngine::Core::AudioEngine::PlayingSound
 CEngine::Ecs::PointLightDataRuntime point light data mirrored from Components::PointLight. sceneNodeEntity points to the transform used as the light position
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::PointLightProperties
 CEngine::OpenXrHelper::posefA glm based posef struct
 CEngine::Ecs::PrimitiveData
 CEngine::Ecs::PrimitiveDataLoading
 CEngine::Rendering::GpuBuffers::PrimitiveMeshletDataPer-primitive meshlet range for culling shader
 CEngine::Ecs::PrimitiveMeshletResultResult of meshlet generation for a single primitive. Used to transfer data from background thread to main thread safely
 CEngine::Ecs::PrimitiveMetaDataMetadata about a primitive being loaded from gltf file
 CEngine::Core::ApplicationContext::QueueFamily
 CEngine::Ecs::RawMeshDataRaw mesh geometry data extracted from gltf file Contains unprocessed vertices and indices
 CEngine::Physics::RaycastHit
 CAsset::Record< Key, AssetClass >
 CAsset::Ref< Key, AssetClass >
 CEngine::Core::AudioEngine::RegisteredAudio
 CEngineCore::Registrar< T >
 CEngine::Ecs::RegistryManagerSingleton which holds the entt registry
 CEngine::Rendering::RendererThe 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
 CEngine::Ecs::RendererDirtyListGlobal dirty entity collector for renderer transform uploads
 CEngine::Rendering::RenderTargetA render target which contains all resources to access the rendered image
 CEngine::Physics::RigidBodyCreateInfoRigid 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
 CEngine::Assets::RuntimeTexture
 CEngine::Core::SamplerCache
 CEngine::Entities::SceneGraphRepresents 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
 CEngine::Core::SceneManagerManages game objects within a scene, handling registration, ID allocation, and GPU buffer synchronization for meshlet-to-object mappings
 CEngine::Ecs::SceneNodeRefA struct which allows the engine to find out which SceneNode needs to propagate a dirty flag down the hierarchy
 CEngineCore::Serializable
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeMaterialExtension::ShaderParameterRepresents a single shader parameter that can be either connected or a direct value
 CEngine::Rendering::GpuBuffers::SHProbeDataSpherical harmonics probe data for dynamic lighting
 CBidirectionalMap< T, U >::Side< SideKey, SideValue >
 CEngine::Ecs::SimulatesPhysicsTag for EnTT which tags entities which should simulate physics
 CEngine::Rendering::GpuBuffers::SingleMeshletGeometryDataGPU data for single-meshlet vertex-shader path
 CEngine::Ecs::SkeletalMeshDataSkeletal mesh data component. Similar to StaticMeshData but references skin/animation
 CEngine::Assets::SkinSkeleton definition loaded from glTF skin data
 CVulkan::StagedBuffer
 CVulkan::StagedBufferSyncObjects
 CEngine::Ecs::StaticMeshData
 CEngine::Ecs::StaticMeshes
 CEngine::Assets::Loaders::GltfLoader::StaticMeshExtensionsParses all extensions and extracts recognized extensions
 CEngine::Assets::Loaders::GltfLoader::StaticMeshSettings
 CEngine::Rendering::GpuBuffers::SunLightBufferGPU-side single directional sun light. directionEnabled.xyz = direction the light travels in world space, w = enabled. colorIntensity.rgb = light color, w = intensity
 CEngine::Rendering::GpuBuffers::SunShadowCascadeBufferGPU-side cascaded shadow data for the active directional sun
 CEngine::Rendering::SunShadowResources
 CEngine::Rendering::Renderer::TaskConstantsUsed to tell the pipeline which objects are shaded with which shader
 CEngine::Ecs::TextureAssetPipelineInfrastructure to load images into the ecs
 CEngine::Assets::TextureHandleType-erased texture handle for runtime storage
 CEngine::Assets::Textures::TextureHandleRegistryCentral registry for texture handles, providing O(1) descriptor index lookup
 CEngineCore::TextureLoadData
 CEngine::Core::TextureStorage
 CEngine::Ecs::TickTag for everything which wants to receive tick events
 CEngine::Rendering::Renderer::TonemapPushConstants
 CInput::TrackedHandPose
 CBS_tracy::tracy_thread_pool
 CEngine::Ecs::Transform
 CEngine::Ecs::TransformDepth
 CEngine::Ecs::TransformDirtyTag for dirty transforms (used by scene graph synchronization)
 CEngine::Ecs::TransformDirtyRendererTag for transforms that need GPU upload
 CEngine::Ecs::TransformOperators
 CEngine::Assets::TypedTextureHandle< Type >Type-safe texture handle wrapper providing compile-time type safety
 CEngine::Rendering::GpuBuffers::UnifiedMeshletGPU-side meshlet memory location and counts
 CEngine::Ecs::UnpackedMeshletDataPre-packed GPU-ready data for a primitive's meshlets. Generated on background thread during meshlet generation
 CInput::InputManager::Vec2Action
 CInput::InputManager::Vec2CallbackEntry
 CVertexThe fundamental building block of all meshes in this engine
 CEngine::Rendering::GpuBuffers::VisibleLodPrimitiveVisible LOD primitive data for parallel cluster selection
 CEngine::Rendering::GpuBuffers::VisibleMeshletInfoVisible meshlet result from culling operation
 CEngine::Rendering::GpuBuffers::VisibleMeshletRangeVisible meshlet range per object for dispatch
 CEngine::Ecs::VRTrackingInputVR tracking input populated from OpenXR each frame. Used by the IK system to drive skeletal animation from controller poses
 CVulkanFunctions
 CVulkanHelperStores lots of different functions which shorten the amount of code which needs to be written for default vulkan operations
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeExtensionThe vulkan schnee extension for gltf files stores all data related to the engines core functionality
 CEngine::Assets::Loaders::GltfLoader::VulkanSchneeMaterialExtensionExtracts all material data from the gltf file. All data during runtime will be read from an object of this type
 CEngine::Rendering::Headset::WaitFrameResultResult from waitForXrFrame indicating what the main loop should do
 CEngine::World::WindFieldThis is the base class for a wind field. (An area in which a vector field pushes the player glider component)
 CEngine::World::WindFieldConfigHolds the parameters of a wind field which can be configured through imgui
 CEngine::World::WindSampleA wind sample is the wind force at one point in the wind field
 CEngine::Ecs::WorldTransform
 CInput::XrInputHandlerHandles OpenXR input actions and controller state
 CInput::XrRig