|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
#include <array>#include <cstddef>#include <glm/mat4x4.hpp>#include <vector>#include "GpuDataLayouts.hpp"Go to the source code of this file.
Classes | |
| struct | EngineCore::CpuPrimitiveData |
| Cpu primitive data. Stores data which corresponds to a primitive. More... | |
| struct | EngineCore::CpuMeshData |
| CPU side data for per object data. This will get divided up into multiple gpu buffers. More... | |
| struct | EngineCore::GpuMeshDescription |
| Describes a mesh on the gpu. Where it is in the memory and how many meshlets it consists of. More... | |
| struct | EngineCore::Dispatch |
| Alignment at 4 bytes. More... | |
| struct | EngineCore::UnifiedMeshlet |
| Information about the wereabouts of a meshlet in memory on the gpu. More... | |
| struct | EngineCore::MeshletBounds |
| Used in meshlet culling. More... | |
| struct | EngineCore::MeshPrimitiveRenderData |
| struct | EngineCore::PerObjectPrimitiveData |
| struct | EngineCore::PerObjectData |
| Stores all data which is unique to each object. More... | |
| struct | EngineCore::ObjectCullingData |
| Data for object culling. More... | |
| struct | EngineCore::LocalBoundsData |
| Local-space bounding sphere data - uploaded once, never changes. More... | |
| struct | EngineCore::PrimitiveMeshletData |
| Data for the primitive culling shader to assemble and pass on to the unpacking shader. More... | |
| struct | EngineCore::MeshUnpackingData |
| Data for the metadata buffer which handles the unpacking of meshes into their meshlets. More... | |
| struct | EngineCore::FrustumPlanes |
| Frustum planes for frustum culling in the first compute shader stage. More... | |
| struct | EngineCore::HiZViewProjectionData |
| View-projection data for Hi-Z occlusion culling Contains matrices and screen info needed to project bounding spheres to screen space. More... | |
| struct | EngineCore::VisibleMeshletInfo |
| Struct for the result buffer of the culling operation. Stores which objects have passed the culling test. More... | |
| struct | EngineCore::VisibleMeshletRange |
| struct | EngineCore::ObjectCullingCounters |
| struct | EngineCore::MeshGeometryData |
| Shared geometry metadata - one per unique MeshAsset primitive. Allows multiple instances to reference the same geometry data. More... | |
| struct | EngineCore::InstanceData |
| Per-instance data - one per visible MeshComponent. References shared geometry via meshGeometryId. More... | |
| struct | EngineCore::InstanceCullingData |
| Instance culling data - replaces ObjectCullingData for instancing. Contains world-space bounding sphere and references to instance/geometry data. More... | |
| struct | EngineCore::MeshGeometryMapping |
| Mapping from MeshAsset primitive to shared geometry buffer location. Used by RenderingDataManager to track deduplicated geometry. More... | |
| struct | EngineCore::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... | |
| struct | EngineCore::GpuDiffuseFlatColorMaterial |
| GPU-side layout for flat color material Matches GLSL struct in triangle_flat.frag. More... | |
| struct | EngineCore::GpuDiffuseShaderMaterial |
| GPU-side layout for diffuse shader material Used for basic textured materials. More... | |
| struct | EngineCore::GpuPbrMaterial |
| GPU-side layout for PBR material with spherical harmonics Used by MovableDiffuseShader, L0/L1/L2 shaders, and DynamicTextures. More... | |
| struct | EngineCore::GpuNormalsMaterial |
| GPU-side layout for normals debug material. More... | |
| struct | EngineCore::SHProbeData |
| SH Probe data structure for dynamic lighting Contains L0-L2 RGB spherical harmonic coefficients. More... | |
| struct | EngineCore::ClusterLodData |
| Per-cluster LOD data for GPU-driven LOD selection. Each cluster maps to exactly one meshlet and contains hierarchical LOD information. More... | |
| struct | EngineCore::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 | EngineCore::LodConfigUBO |
| LOD configuration for GPU shader selection. Updated per-frame with camera and screen information. More... | |
| struct | EngineCore::ClusterSurvivor |
| Cluster survivor data passed from culling to binning shaders. Contains the LOD selection result including dither factor for transitions. More... | |
Namespaces | |
| namespace | EngineCore |
| Log category system implementation. | |