|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
| CInput::ActionProfileBase | The base profile for controller support of any device |
| CInput::ActionProfileBase::ActionProfiles | |
| CEcs::ActiveCamera | Tag for the active camera in the scene |
| CEngineCore::ApplicationContext | The application context is the core class which stores the basic openxr and vulkan objects |
| CAsset::AssetBase | Base class for asset wrappers. The data is stored in the private member variable 'data' in form of entt components |
| CEcs::AssetLoadingImage | |
| CEcs::AssetLoadingStatus | Status 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::AssetRequested | Is 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::BoundingSphere | A bounding sphere for an entity. Used for frustum culling |
| CMath::BoundingSphere | A 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::CameraProperties | Camera properties for projection matrix calculation |
| CVulkan::ChainBuilder | |
| CEngineCore::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 |
| CEngineCore::ClusterLodData | Per-cluster LOD data for GPU-driven LOD selection. Each cluster maps to exactly one meshlet and contains hierarchical LOD information |
| CEngineCore::ClusterLodGenerator | Generates LOD hierarchy for meshes using meshoptimizer |
| CEngineCore::ClusterSurvivor | Cluster survivor data passed from culling to binning shaders. Contains the LOD selection result including dither factor for transitions |
| CPhysics::CollisionShape | |
| CEcs::CompletedMeshletGeneration | Complete 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::ComputePipeline | A wrapper for vulkan pipeline resources. In this case a typesafe compute pipeline |
| CEngineCore::ConstexprPath | |
| CEngineCore::CpuMeshData | CPU side data for per object data. This will get divided up into multiple gpu buffers |
| CEngineCore::CpuPrimitiveData | Cpu primitive data. Stores data which corresponds to a primitive |
| CEngineCore::ComputePipelineSpecializationData::Data | |
| CEngineCore::DispatcherComputePipelineSpecializationData::Data | |
| CEngineCore::MeshShaderSpecializationData::Data | |
| CEngineCore::DataBuffer | |
| CDebugLabel | An RAII-style wrapper for Vulkan debug labels |
| CEngineCore::DefaultJsonGenerator | |
| CEngineCore::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 |
| CEngineCore::DescriptorSetLayoutBuilder | |
| CEngineCore::DescriptorSetUpdater | The Descriptor set updater is used to create a list of descriptor set writes which are executed with update() |
| CEngineCore::Dispatch | Alignment at 4 bytes |
| CEngineCore::DynamicMaterialUniformData | |
| Cstd::enable_shared_from_this | |
| CEngineCore::Engine | |
| CEngineCore::EngineManager | Singleton which stores a pointer to the engine object |
| CEngineCore::TextureHandleRegistry::Entry | Registry entry storing texture metadata |
| Cstd::exception | STL class |
| CEngineCore::ExrChannelInfo | Represents channel information from an EXR file header |
| CEngineCore::ExrHeader | Wrapper for EXR file header information with owned data |
| CEcs::ExrHeaderData | |
| CEcs::ExrHeaderFuture | |
| CEngineCore::ExrLoader | Loader for EXR (OpenEXR) image files |
| CEngineCore::Headset::Eye | |
| CEngineCore::Factory | |
| Cstd::false_type | |
| CEngineCore::ApplicationContext::QueueFamily::Family | |
| CFileHandler | |
| CEngineCore::FrustumPlanes | Frustum planes for frustum culling in the first compute shader stage |
| CEngineCore::GameModule | |
| CEngineCore::RenderingDataManager::GeometryCacheKey | Key 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::GltfMaterialData | Stores the material data which is relevant for our current set of shaders |
| CEngineCore::GltfLoader::GltfMeshData | |
| CEngineCore::GltfLoader::GltfMeshPrimitiveData | Stores intermediate data from loading the asset from disk. These are the vertices, indices and material data |
| CEcs::GltfModelFuture | |
| CEngineCore::GltfSpawner | Utility class for spawning GLTF meshes into a scene |
| CEngineCore::GltfLoader::GltfTextureData | |
| CEngineCore::GltfLoader::GltfVertexData | |
| CEngineCore::GpuDiffuseFlatColorMaterial | GPU-side layout for flat color material Matches GLSL struct in triangle_flat.frag |
| CEngineCore::GpuDiffuseShaderMaterial | GPU-side layout for diffuse shader material Used for basic textured materials |
| CEngineCore::GpuMeshDescription | Describes a mesh on the gpu. Where it is in the memory and how many meshlets it consists of |
| CEngineCore::GpuNormalsMaterial | GPU-side layout for normals debug material |
| CEngineCore::GpuPbrMaterial | GPU-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::HiZViewProjectionData | View-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::InstanceCullingData | Instance culling data - replaces ObjectCullingData for instancing. Contains world-space bounding sphere and references to instance/geometry data |
| CEngineCore::InstanceData | Per-instance data - one per visible MeshComponent. References shared geometry via meshGeometryId |
| CEngineCore::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 |
| CEngineCore::JsonArchive | |
| CEngineCore::JsonHandler | |
| CEngineCore::LayoutBinding | |
| CEngineCore::LayoutBindingsBuilder | |
| CEcs::LightingProperties | |
| CEngineCore::GltfLoader::VulkanSchneeExtension::LightProperties::LightmapProperties | |
| CEngineCore::GltfLoader::VulkanSchneeExtension::LightProperties | Stores all properties related to lighting information |
| CEngineCore::LocalBoundsData | Local-space bounding sphere data - uploaded once, never changes |
| CEcs::LocalTransform | |
| CEngineCore::LodConfigUBO | LOD configuration for GPU shader selection. Updated per-frame with camera and screen information |
| CEngineCore::LodGenerationConfig | Configuration for LOD hierarchy generation |
| CEcs::LodHierarchyResult | Result of LOD hierarchy generation for a mesh primitive. Contains per-cluster and per-group data for all LOD levels |
| CEngineCore::ClusterLodGenerator::LodLevelData | Generate a single LOD level by simplifying geometry |
| CLodSettings | LOD (Level of Detail) system settings. Controls the Nanite-style per-cluster LOD selection behavior |
| CEngineCore::LogCategory | Represents a single log category with verbosity control |
| CEngineCore::LogCategoryManager | Global registry for log categories with runtime verbosity control |
| CEngineCore::LogicComponent | Base 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::MaterialDataStorage | The material data storage is designed to have all material data at a compact layout |
| CEcs::MaterialDiffuseFlatColor | |
| CEngineCore::GltfLoader::MaterialExtensions | Stores 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::MeshComponentRef | Reference to a MeshComponent for ECS-based iteration. Allows efficient querying of all mesh components without iterating all actors |
| CEngineCore::Renderer::MeshConstants | A texture index push constant |
| CEngineCore::MeshGeometryData | Shared geometry metadata - one per unique MeshAsset primitive. Allows multiple instances to reference the same geometry data |
| CEngineCore::MeshGeometryMapping | Mapping from MeshAsset primitive to shared geometry buffer location. Used by RenderingDataManager to track deduplicated geometry |
| CEcs::MeshIndex | The index of the mesh inside the scene. Used to query the mesh index of a scene |
| CEngineCore::MeshletBounds | Used in meshlet culling |
| CEngineCore::MeshPrimitive::MeshletBoundsHelper | |
| CEcs::MeshletData | |
| CEngineCore::MeshLoader | |
| CEcs::MeshPrimitive | |
| CEngineCore::MeshPrimitive | |
| CEcs::MeshPrimitiveData | |
| CEngineCore::MeshPrimitiveRenderData | |
| CEcs::MeshProperties | |
| CEngineCore::GltfLoader::VulkanSchneeExtension::MeshProperties | Stores the mesh information like if it is a static object and if it simulates physics |
| CEngineCore::MeshUnpackingData | Data for the metadata buffer which handles the unpacking of meshes into their meshlets |
| CEngineCore::GltfLoader::VulkanSchneeExtension::metadata | |
| CEngineCore::MirrorView | This class houses the components needed to display a vr image on the desktop |
| CEcs::Model | |
| CEcs::ModelAssetPipeline | The 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::NodeFactory | Factory class for creating SceneNodes with proper parent-child relationships. This ensures that nodes are always created with a valid parent |
| CEngineCore::ObjectCullingCounters | |
| CEngineCore::ObjectCullingData | Data for object culling |
| CEngineCore::OpenXrHelper | |
| CEcs::PackedTriangle | GPU-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::Parent | Stores parent relationships |
| CAsset::Path | |
| CEngineCore::Path | |
| CEngineCore::PathHasher | |
| CEngineCore::VulkanStagedBuffer::PendingDeletion | Old buffers waiting to be deleted after all frames complete |
| CEngineCore::PerObjectData | Stores all data which is unique to each object |
| CEngineCore::PerObjectPrimitiveData | |
| CEngineCore::PhysicsEngine | The physics engine manages creating and destroying physics objects for the physics simulation |
| CEngineCore::PipelineConfig | Static configuration for a graphics pipeline Defines which shaders to use for a given PipelineNames enum |
| CEcs::PipelineGeometryData | Temporary holder for raw geometry data during pipeline execution This is used to pass data between pipeline stages |
| CEngineCore::PipelineMaterialPayload | |
| CEngineCore::PipelineSpecializationData | Base class which defines the interface for pipeline specialization data. This can be thread count. Max object count etc |
| CEngineCore::OpenXrHelper::posef | A glm based posef struct |
| CEcs::PrimitiveData | |
| CEcs::PrimitiveDataLoading | |
| CEngineCore::PrimitiveMeshletData | Data for the primitive culling shader to assemble and pass on to the unpacking shader |
| CEcs::PrimitiveMeshletResult | Result of meshlet generation for a single primitive. Used to transfer data from background thread to main thread safely |
| CEcs::PrimitiveMetaData | Metadata about a primitive being loaded from gltf file |
| CEcs::PrimitiveUvData | |
| CEngineCore::PushConstants | |
| CEngineCore::GlmSerialize::QuaternionSerial | |
| CEngineCore::ApplicationContext::QueueFamily | |
| CEngineCore::QueueSubmitBuilder | Fluent builder for queue submissions with timeline and binary semaphores |
| CEcs::RawMeshData | Raw mesh geometry data extracted from gltf file Contains unprocessed vertices and indices |
| CEngineCore::Registrar< T > | |
| CEcs::RegistryManager | Singleton which holds the entt registry |
| CRenderDoc | |
| CEngineCore::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 |
| CEngineCore::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 |
| CEngineCore::RenderingPass | |
| CEngineCore::RenderList | The render list stores all actors to render this frame |
| CEngineCore::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 |
| CEngineCore::MirrorView::RenderResult | Values that represent mirror view render results |
| CEngineCore::RenderTarget | A render target which contains all resources to access the rendered image |
| CEngineCore::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 |
| CEngineCore::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 |
| CEngineCore::SceneManager | Manages game objects within a scene, handling registration, ID allocation, and GPU buffer synchronization for meshlet-to-object mappings |
| CEcs::SceneNodeRef | A 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::ShaderParameter | Represents a single shader parameter that can be either connected or a direct value |
| CEngineCore::SHProbeData | SH Probe data structure for dynamic lighting Contains L0-L2 RGB spherical harmonic coefficients |
| CBidirectionalMap< T, U >::Side< SideKey, SideValue > | |
| CEcs::SimulatesPhysics | Tag for EnTT which tags entities which should simulate physics |
| CEngineCore::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 |
| CEngineCore::RenderProcess::StaticFragmentUniformData | Stores the time for time based shader effects |
| CEcs::StaticMeshData | |
| CEcs::StaticMeshes | |
| CEngineCore::GltfLoader::StaticMeshExtensions | Parses all extensions and extracts recognized extensions |
| CEngineCore::GltfLoader::StaticMeshSettings | |
| CEngineCore::Renderer::TaskConstants | Used to tell the pipeline which objects are shaded with which shader |
| CEngineCore::Texture | |
| CEcs::TextureAssetPipeline | Infrastructure to load images into the ecs |
| CEngineCore::TextureHandle | Type-erased texture handle for runtime storage |
| CEngineCore::TextureHandleRegistry | Central registry for texture handles, providing O(1) descriptor index lookup |
| CEngineCore::TextureLoadData | |
| CEngineCore::TextureLoader | |
| CEngineCore::TextureStorage | |
| CEngineCore::RenderProcess::TextureWriteContainer | |
| CEcs::Tick | Tag for everything which wants to receive tick events |
| CEngineCore::Ticker | |
| CEngineCore::TimelineSynchronizer | Centralized timeline semaphore management for the rendering pipeline |
| CBS_tracy::tracy_thread_pool | |
| CEcs::TransformDepth | |
| CEcs::TransformDirty | Tag for dirty transforms (used by scene graph synchronization) |
| CEcs::TransformDirtyRenderer | Tag 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::UnifiedMeshlet | Information about the wereabouts of a meshlet in memory on the gpu |
| CEngineCore::UniformBufferObject | |
| CEcs::UnpackedMeshletData | Pre-packed GPU-ready data for a primitive's meshlets. Generated on background thread during meshlet generation |
| CEngineCore::UuidManager | |
| CEngineCore::UuidSingleton | |
| CEngineCore::GlmSerialize::VectorSerial | |
| CVertex | The fundamental building block of all meshes in this engine |
| CEcs::VertexData | |
| CEngineCore::RenderProcess::ViewMatrixUniformData | This struct holds the data for the view projection matrix which will be passed to every rendered object |
| CEngineCore::VisibleMeshletInfo | Struct for the result buffer of the culling operation. Stores which objects have passed the culling test |
| CEngineCore::VisibleMeshletRange | |
| CEngineCore::VulkanBuffer | RAII wrapper for Vulkan buffer and device memory |
| CVulkanFunctions | |
| CVulkanHelper | Stores lots of different functions which shorten the amount of code which needs to be written for default vulkan operations |
| CEcs::VulkanSchneeExtension | |
| CEngineCore::GltfLoader::VulkanSchneeExtension | The vulkan schnee extension for gltf files stores all data related to the engines core functionality |
| CEngineCore::GltfLoader::VulkanSchneeMaterialExtension | Extracts 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::WaitFrameResult | Result from waitForXrFrame indicating what the main loop should do |
| CEngineCore::Window | |
| CEcs::WorldTransform | |
| CEngineCore::XrErrorCodes | |
| CInput::XrInputHandler |