|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
#include "Engine/Entity/Entity.h"#include "Engine/Files/AssetPath.h"#include "Engine/Mesh/Vertex.h"#include "Engine/Renderer/RenderData.h"#include "Engine/Texture/ExrLoader.h"#include "entt/entt.hpp"#include "meshoptimizer.h"#include "tiny_gltf.h"#include <filesystem>#include <future>#include <glm/glm.hpp>#include <optional>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | Ecs::AssetLoadingImage |
| struct | Ecs::Parent |
| Stores parent relationships. More... | |
| struct | Ecs::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. More... | |
| struct | Ecs::StaticMeshData |
| struct | Ecs::StaticMeshes |
| struct | Ecs::ExrHeaderData |
| struct | Ecs::ExrHeaderFuture |
| struct | Ecs::GltfModelFuture |
| struct | Ecs::MaterialLoadingData |
| struct | Ecs::ImageData |
| struct | Ecs::Model |
| struct | Ecs::SimulatesPhysics |
| Tag for EnTT which tags entities which should simulate physics. More... | |
| struct | Ecs::TransformDirty |
| Tag for dirty transforms (used by scene graph synchronization) More... | |
| struct | Ecs::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. More... | |
| struct | Ecs::SceneNodeRef |
| A struct which allows the engine to find out which SceneNode needs to propagate a dirty flag down the hierarchy. More... | |
| struct | Ecs::MeshComponentRef |
| Reference to a MeshComponent for ECS-based iteration. Allows efficient querying of all mesh components without iterating all actors. More... | |
| struct | Ecs::Tick |
| Tag for everything which wants to receive tick events. More... | |
| struct | Ecs::MeshIndex |
| The index of the mesh inside the scene. Used to query the mesh index of a scene. More... | |
| struct | Ecs::Mesh |
| struct | Ecs::ModelNode |
| struct | Ecs::PrimitiveData |
| struct | Ecs::MeshletData |
| struct | Ecs::PrimitiveDataLoading |
| struct | Ecs::BoundingSphere |
| A bounding sphere for an entity. Used for frustum culling. More... | |
| struct | Ecs::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. More... | |
| struct | Ecs::UnpackedMeshletData |
| Pre-packed GPU-ready data for a primitive's meshlets. Generated on background thread during meshlet generation. More... | |
| struct | Ecs::LodHierarchyResult |
| Result of LOD hierarchy generation for a mesh primitive. Contains per-cluster and per-group data for all LOD levels. More... | |
| struct | Ecs::PrimitiveMeshletResult |
| Result of meshlet generation for a single primitive. Used to transfer data from background thread to main thread safely. More... | |
| struct | Ecs::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. More... | |
| struct | Ecs::MeshPrimitive |
| struct | Ecs::MeshPrimitiveData |
| struct | Ecs::MaterialDiffuseFlatColor |
| struct | Ecs::MaterialNormals |
| struct | Ecs::ModelFuture |
| struct | Ecs::LocalTransform |
| struct | Ecs::WorldTransform |
| struct | Ecs::TransformDepth |
| struct | Ecs::ActiveCamera |
| Tag for the active camera in the scene. More... | |
| struct | Ecs::CameraProperties |
| Camera properties for projection matrix calculation. More... | |
| struct | Ecs::PrimitiveMetaData |
| Metadata about a primitive being loaded from gltf file. More... | |
| struct | Ecs::RawMeshData |
| Raw mesh geometry data extracted from gltf file Contains unprocessed vertices and indices. More... | |
| struct | Ecs::AssetLoadingStatus |
| Status information for asset loading pipeline. More... | |
| struct | Ecs::PipelineGeometryData |
| Temporary holder for raw geometry data during pipeline execution This is used to pass data between pipeline stages. More... | |
Namespaces | |
| namespace | EngineCore |
| Log category system implementation. | |
| namespace | Ecs |
| Data structs for the Entity Component System. | |
| namespace | Ecs::AssetPipeline |
Typedefs | |
| using | Ecs::Meshlet = meshopt_Meshlet |
| information about the vertex and index data of a single meshlet | |
| using | Ecs::UnpackedTriangle = PackedTriangle |
Enumerations | |
| enum class | Ecs::AssetLoadingStage : uint8_t { Ecs::Pending = 0 , Ecs::MetadataExtracted = 1 , Ecs::MaterialLoaded = 2 , Ecs::GeometryValidated = 3 , Ecs::GeometryExtracted = 4 , Ecs::VerticesAssembled = 5 , Ecs::Complete = 6 , Ecs::Failed = 7 } |
| Tracks the current stage of asset loading in the pipeline. More... | |