Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
RenderData.h File Reference
#include <array>
#include <cstddef>
#include <glm/mat4x4.hpp>
#include <vector>
#include "GpuDataLayouts.hpp"
Include dependency graph for RenderData.h:
This graph shows which files directly or indirectly include this file:

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.