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
 CEcs::ActiveCameraTag for the active camera in the scene
 CEngineCore::ApplicationContextThe application context is the core class which stores the basic openxr and vulkan objects
 CAsset::AssetBaseBase class for asset wrappers. The data is stored in the private member variable 'data' in form of entt components
 CEcs::AssetLoadingImage
 CEcs::AssetLoadingStatusStatus information for asset loading pipeline
 CAsset::AssetManager< Key, AssetClass >A manager which is used to look up existing assets and their loading state
 CEngineCore::AssetManager
 CAsset::AssetManager< Asset::Path, MaterialAsset >
 CAsset::AssetManager< Asset::Path, MeshAsset >
 CAsset::AssetManager< std::filesystem::path, ModelAsset >
 CAsset::AssetManager< std::filesystem::path, RenderingAsset >
 CAsset::AssetManager< std::filesystem::path, TextureAsset >
 CEcs::AssetRequestedIs a tag for asset loading. When an asset has been rquested for loading but isnt yet created this tag is applied to the entity which will possess the Ecs::StaticMeshData
 CVulkan::BarrierBundle
 CVulkan::ChainBuilder::BaseChain
 CBidirectionalMap< T, U >
 CEcs::BoundingSphereA bounding sphere for an entity. Used for frustum culling
 CMath::BoundingSphereA helper class which is used to generate a bounding sphere for a list of points. In most cases these are vertex positions of a mesh
 CBufferCopyObject
 CEcs::CameraPropertiesCamera properties for projection matrix calculation
 CVulkan::ChainBuilder
 CEngineCore::ClusterGroupDataPer-group LOD data representing a simplified version of child clusters. Groups are created by merging and simplifying clusters from the finer LOD level
 CEngineCore::ClusterLodDataPer-cluster LOD data for GPU-driven LOD selection. Each cluster maps to exactly one meshlet and contains hierarchical LOD information
 CEngineCore::ClusterLodGeneratorGenerates LOD hierarchy for meshes using meshoptimizer
 CEngineCore::ClusterSurvivorCluster survivor data passed from culling to binning shaders. Contains the LOD selection result including dither factor for transitions
 CPhysics::CollisionShape
 CEcs::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
 CEngineCore::ComputePipelineA wrapper for vulkan pipeline resources. In this case a typesafe compute pipeline
 CEngineCore::ConstexprPath
 CEngineCore::CpuMeshDataCPU side data for per object data. This will get divided up into multiple gpu buffers
 CEngineCore::CpuPrimitiveDataCpu primitive data. Stores data which corresponds to a primitive
 CEngineCore::ComputePipelineSpecializationData::Data
 CEngineCore::DispatcherComputePipelineSpecializationData::Data
 CEngineCore::MeshShaderSpecializationData::Data
 CEngineCore::DataBuffer
 CDebugLabelAn RAII-style wrapper for Vulkan debug labels
 CEngineCore::DefaultJsonGenerator
 CEngineCore::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
 CEngineCore::DescriptorSetLayoutBuilder
 CEngineCore::DescriptorSetUpdaterThe Descriptor set updater is used to create a list of descriptor set writes which are executed with update()
 CEngineCore::DispatchAlignment at 4 bytes
 CEngineCore::DynamicMaterialUniformData
 Cstd::enable_shared_from_this
 CEngineCore::Engine
 CEngineCore::EngineManagerSingleton which stores a pointer to the engine object
 CEngineCore::TextureHandleRegistry::EntryRegistry entry storing texture metadata
 Cstd::exceptionSTL class
 CEngineCore::ExrChannelInfoRepresents channel information from an EXR file header
 CEngineCore::ExrHeaderWrapper for EXR file header information with owned data
 CEcs::ExrHeaderData
 CEcs::ExrHeaderFuture
 CEngineCore::ExrLoaderLoader for EXR (OpenEXR) image files
 CEngineCore::Headset::Eye
 CEngineCore::Factory
 Cstd::false_type
 CEngineCore::ApplicationContext::QueueFamily::Family
 CFileHandler
 CEngineCore::FrustumPlanesFrustum planes for frustum culling in the first compute shader stage
 CEngineCore::GameModule
 CEngineCore::RenderingDataManager::GeometryCacheKeyKey for geometry cache - uniquely identifies a primitive within a mesh. Uses MeshAsset pointer and primitive index since the same MeshAsset can have multiple primitives
 CEngineCore::RenderingDataManager::GeometryCacheKeyHash
 CEngineCore::GlmSerialize
 CEngineCore::GltfLoader::GltfBufferDataView
 CEngineCore::GltfLoader
 CEngineCore::GltfLoader::GltfMaterialDataStores the material data which is relevant for our current set of shaders
 CEngineCore::GltfLoader::GltfMeshData
 CEngineCore::GltfLoader::GltfMeshPrimitiveDataStores intermediate data from loading the asset from disk. These are the vertices, indices and material data
 CEcs::GltfModelFuture
 CEngineCore::GltfSpawnerUtility class for spawning GLTF meshes into a scene
 CEngineCore::GltfLoader::GltfTextureData
 CEngineCore::GltfLoader::GltfVertexData
 CEngineCore::GpuDiffuseFlatColorMaterialGPU-side layout for flat color material Matches GLSL struct in triangle_flat.frag
 CEngineCore::GpuDiffuseShaderMaterialGPU-side layout for diffuse shader material Used for basic textured materials
 CEngineCore::GpuMeshDescriptionDescribes a mesh on the gpu. Where it is in the memory and how many meshlets it consists of
 CEngineCore::GpuNormalsMaterialGPU-side layout for normals debug material
 CEngineCore::GpuPbrMaterialGPU-side layout for PBR material with spherical harmonics Used by MovableDiffuseShader, L0/L1/L2 shaders, and DynamicTextures
 CEngineCore::GraphicsPipeline
 CInput::HandPoseInfo
 Cstd::hash< Asset::Path >
 Cstd::hash< EngineCore::TextureLoadData >
 CEngineCore::Headset
 CEngineCore::RenderProcess::HiZPyramid
 CEngineCore::HiZViewProjectionDataView-projection data for Hi-Z occlusion culling Contains matrices and screen info needed to project bounding spheres to screen space
 CEngineCore::Headset::ImageBuffer
 CEcs::ImageData
 CEngineCore::InputInterface
 CEngineCore::InstanceCullingDataInstance culling data - replaces ObjectCullingData for instancing. Contains world-space bounding sphere and references to instance/geometry data
 CEngineCore::InstanceDataPer-instance data - one per visible MeshComponent. References shared geometry via meshGeometryId
 CEngineCore::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
 CEngineCore::JsonArchive
 CEngineCore::JsonHandler
 CEngineCore::LayoutBinding
 CEngineCore::LayoutBindingsBuilder
 CEcs::LightingProperties
 CEngineCore::GltfLoader::VulkanSchneeExtension::LightProperties::LightmapProperties
 CEngineCore::GltfLoader::VulkanSchneeExtension::LightPropertiesStores all properties related to lighting information
 CEngineCore::LocalBoundsDataLocal-space bounding sphere data - uploaded once, never changes
 CEcs::LocalTransform
 CEngineCore::LodConfigUBOLOD configuration for GPU shader selection. Updated per-frame with camera and screen information
 CEngineCore::LodGenerationConfigConfiguration for LOD hierarchy generation
 CEcs::LodHierarchyResultResult of LOD hierarchy generation for a mesh primitive. Contains per-cluster and per-group data for all LOD levels
 CEngineCore::ClusterLodGenerator::LodLevelDataGenerate a single LOD level by simplifying geometry
 CLodSettingsLOD (Level of Detail) system settings. Controls the Nanite-style per-cluster LOD selection behavior
 CEngineCore::LogCategoryRepresents a single log category with verbosity control
 CEngineCore::LogCategoryManagerGlobal registry for log categories with runtime verbosity control
 CEngineCore::LogicComponentBase class for all logic components that can be attached to an actor. Provides access to the scene, tick functionality, and lifecycle events
 CEngineCore::Material
 CEngineCore::AssetManager::MaterialData< MaterialDataType >Storage for material data on the cpu side
 CEngineCore::MaterialData
 CEngineCore::MaterialDataStorageThe material data storage is designed to have all material data at a compact layout
 CEcs::MaterialDiffuseFlatColor
 CEngineCore::GltfLoader::MaterialExtensionsStores all material extensions. So if another extension for some kind of specific material attribute is needed we can add it here
 CEcs::MaterialLoadingData
 CEngineCore::MaterialNameTrait< T >
 CEngineCore::MaterialNameTrait< DiffuseFlatColorMaterialData >
 CEngineCore::MaterialNameTrait< DiffuseShaderMaterialData >
 CEngineCore::MaterialNameTrait< DynamicTexturesMaterialData >
 CEngineCore::MaterialNameTrait< L0ShaderMaterialData >
 CEngineCore::MaterialNameTrait< L1ShaderMaterialData >
 CEngineCore::MaterialNameTrait< L2ShaderMaterialData >
 CEngineCore::MaterialNameTrait< MovableDiffuseShaderMaterialData >
 CEngineCore::MaterialNameTrait< NormalMaterialData >
 CEngineCore::MaterialNameTrait< StaticLightmapMaterialData >
 CEcs::MaterialNormals
 CEngineCore::MaterialShader
 CEcs::TransformOperators::MatrixTransformComponent
 CEngineCore::Transform::MatrixTransformComponent
 CEcs::Mesh
 CEngineCore::Mesh
 CEcs::MeshComponentRefReference to a MeshComponent for ECS-based iteration. Allows efficient querying of all mesh components without iterating all actors
 CEngineCore::Renderer::MeshConstantsA texture index push constant
 CEngineCore::MeshGeometryDataShared geometry metadata - one per unique MeshAsset primitive. Allows multiple instances to reference the same geometry data
 CEngineCore::MeshGeometryMappingMapping from MeshAsset primitive to shared geometry buffer location. Used by RenderingDataManager to track deduplicated geometry
 CEcs::MeshIndexThe index of the mesh inside the scene. Used to query the mesh index of a scene
 CEngineCore::MeshletBoundsUsed in meshlet culling
 CEngineCore::MeshPrimitive::MeshletBoundsHelper
 CEcs::MeshletData
 CEngineCore::MeshLoader
 CEcs::MeshPrimitive
 CEngineCore::MeshPrimitive
 CEcs::MeshPrimitiveData
 CEngineCore::MeshPrimitiveRenderData
 CEcs::MeshProperties
 CEngineCore::GltfLoader::VulkanSchneeExtension::MeshPropertiesStores the mesh information like if it is a static object and if it simulates physics
 CEngineCore::MeshUnpackingDataData for the metadata buffer which handles the unpacking of meshes into their meshlets
 CEngineCore::GltfLoader::VulkanSchneeExtension::metadata
 CEngineCore::MirrorViewThis class houses the components needed to display a vr image on the desktop
 CEcs::Model
 CEcs::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
 CEcs::ModelFuture
 CEcs::ModelNode
 CEngineCore::NodeFactoryFactory class for creating SceneNodes with proper parent-child relationships. This ensures that nodes are always created with a valid parent
 CEngineCore::ObjectCullingCounters
 CEngineCore::ObjectCullingDataData for object culling
 CEngineCore::OpenXrHelper
 CEcs::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
 CEngineCore::PackedVertex
 CEcs::ParentStores parent relationships
 CAsset::Path
 CEngineCore::Path
 CEngineCore::PathHasher
 CEngineCore::VulkanStagedBuffer::PendingDeletionOld buffers waiting to be deleted after all frames complete
 CEngineCore::PerObjectDataStores all data which is unique to each object
 CEngineCore::PerObjectPrimitiveData
 CEngineCore::PhysicsEngineThe physics engine manages creating and destroying physics objects for the physics simulation
 CEngineCore::PipelineConfigStatic configuration for a graphics pipeline Defines which shaders to use for a given PipelineNames enum
 CEcs::PipelineGeometryDataTemporary holder for raw geometry data during pipeline execution This is used to pass data between pipeline stages
 CEngineCore::PipelineMaterialPayload
 CEngineCore::PipelineSpecializationDataBase class which defines the interface for pipeline specialization data. This can be thread count. Max object count etc
 CEngineCore::OpenXrHelper::posefA glm based posef struct
 CEcs::PrimitiveData
 CEcs::PrimitiveDataLoading
 CEngineCore::PrimitiveMeshletDataData for the primitive culling shader to assemble and pass on to the unpacking shader
 CEcs::PrimitiveMeshletResultResult of meshlet generation for a single primitive. Used to transfer data from background thread to main thread safely
 CEcs::PrimitiveMetaDataMetadata about a primitive being loaded from gltf file
 CEcs::PrimitiveUvData
 CEngineCore::PushConstants
 CEngineCore::GlmSerialize::QuaternionSerial
 CEngineCore::ApplicationContext::QueueFamily
 CEngineCore::QueueSubmitBuilderFluent builder for queue submissions with timeline and binary semaphores
 CEcs::RawMeshDataRaw mesh geometry data extracted from gltf file Contains unprocessed vertices and indices
 CEngineCore::Registrar< T >
 CEcs::RegistryManagerSingleton which holds the entt registry
 CRenderDoc
 CEngineCore::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
 CEngineCore::RenderingDataManagerThe 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
 CEngineCore::RenderingPass
 CEngineCore::RenderListThe render list stores all actors to render this frame
 CEngineCore::RenderProcessThe 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
 CEngineCore::MirrorView::RenderResultValues that represent mirror view render results
 CEngineCore::RenderTargetA render target which contains all resources to access the rendered image
 CEngineCore::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
 CEngineCore::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
 CEngineCore::SceneManagerManages game objects within a scene, handling registration, ID allocation, and GPU buffer synchronization for meshlet-to-object mappings
 CEcs::SceneNodeRefA struct which allows the engine to find out which SceneNode needs to propagate a dirty flag down the hierarchy
 CEngineCore::Transform::serial
 CEngineCore::Serializable
 CShader
 CEngineCore::GltfLoader::VulkanSchneeMaterialExtension::ShaderParameterRepresents a single shader parameter that can be either connected or a direct value
 CEngineCore::SHProbeDataSH Probe data structure for dynamic lighting Contains L0-L2 RGB spherical harmonic coefficients
 CBidirectionalMap< T, U >::Side< SideKey, SideValue >
 CEcs::SimulatesPhysicsTag for EnTT which tags entities which should simulate physics
 CEngineCore::SingleMeshletGeometryDataGPU 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
 CEngineCore::RenderProcess::StaticFragmentUniformDataStores the time for time based shader effects
 CEcs::StaticMeshData
 CEcs::StaticMeshes
 CEngineCore::GltfLoader::StaticMeshExtensionsParses all extensions and extracts recognized extensions
 CEngineCore::GltfLoader::StaticMeshSettings
 CEngineCore::Renderer::TaskConstantsUsed to tell the pipeline which objects are shaded with which shader
 CEngineCore::Texture
 CEcs::TextureAssetPipelineInfrastructure to load images into the ecs
 CEngineCore::TextureHandleType-erased texture handle for runtime storage
 CEngineCore::TextureHandleRegistryCentral registry for texture handles, providing O(1) descriptor index lookup
 CEngineCore::TextureLoadData
 CEngineCore::TextureLoader
 CEngineCore::TextureStorage
 CEngineCore::RenderProcess::TextureWriteContainer
 CEcs::TickTag for everything which wants to receive tick events
 CEngineCore::Ticker
 CEngineCore::TimelineSynchronizerCentralized timeline semaphore management for the rendering pipeline
 CBS_tracy::tracy_thread_pool
 CEcs::TransformDepth
 CEcs::TransformDirtyTag for dirty transforms (used by scene graph synchronization)
 CEcs::TransformDirtyRendererTag for transforms that need GPU upload. Separate from TransformDirty because the renderer clears this after upload, while TransformDirty is cleared during scene graph sync. This allows transforms changed in tick/events to be properly uploaded
 CEcs::TransformOperators
 Cstd::true_type
 Cplog::TxtFormatterImpl
 CEngineCore::TypedTextureHandle< Type >Type-safe texture handle wrapper providing compile-time type safety
 CEngineCore::UnifiedGeometryManager
 CEngineCore::UnifiedMeshletInformation about the wereabouts of a meshlet in memory on the gpu
 CEngineCore::UniformBufferObject
 CEcs::UnpackedMeshletDataPre-packed GPU-ready data for a primitive's meshlets. Generated on background thread during meshlet generation
 CEngineCore::UuidManager
 CEngineCore::UuidSingleton
 CEngineCore::GlmSerialize::VectorSerial
 CVertexThe fundamental building block of all meshes in this engine
 CEcs::VertexData
 CEngineCore::RenderProcess::ViewMatrixUniformDataThis struct holds the data for the view projection matrix which will be passed to every rendered object
 CEngineCore::VisibleMeshletInfoStruct for the result buffer of the culling operation. Stores which objects have passed the culling test
 CEngineCore::VisibleMeshletRange
 CEngineCore::VulkanBufferRAII wrapper for Vulkan buffer and device memory
 CVulkanFunctions
 CVulkanHelperStores lots of different functions which shorten the amount of code which needs to be written for default vulkan operations
 CEcs::VulkanSchneeExtension
 CEngineCore::GltfLoader::VulkanSchneeExtensionThe vulkan schnee extension for gltf files stores all data related to the engines core functionality
 CEngineCore::GltfLoader::VulkanSchneeMaterialExtensionExtracts all material data from the gltf file. All data during runtime will be read from an object of this type
 CEngineCore::VulkanStagedBuffer
 CEngineCore::VulkanStagedBufferSyncObjects
 CEngineCore::Headset::WaitFrameResultResult from waitForXrFrame indicating what the main loop should do
 CEngineCore::Window
 CEcs::WorldTransform
 CEngineCore::XrErrorCodes
 CInput::XrInputHandler