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  Engine::Rendering::CpuPrimitiveData
 CPU-side primitive data. More...
struct  Engine::Rendering::CpuMeshData
 CPU-side mesh data with per-object transform and primitives. More...
struct  Engine::Rendering::PerObjectPrimitiveData
 CPU-side per-object meshlet, vertex, and index data. More...
struct  Engine::Rendering::MeshGeometryMapping
 CPU-side mapping from MeshAsset to shared geometry buffer. More...
struct  Engine::Rendering::FrustumPlanes
 Frustum planes for compute shader culling. More...
struct  Engine::Rendering::GpuBuffers::Dispatch
 Compute dispatch dimensions. More...
struct  Engine::Rendering::GpuBuffers::GpuMeshDescription
 GPU-side mesh location and meshlet count. More...
struct  Engine::Rendering::GpuBuffers::UnifiedMeshlet
 GPU-side meshlet memory location and counts. More...
struct  Engine::Rendering::GpuBuffers::MeshletBounds
 Used in meshlet culling. More...
struct  Engine::Rendering::GpuBuffers::MeshPrimitiveRenderData
 Per-primitive render data for GPU shader access. More...
struct  Engine::Rendering::GpuBuffers::ObjectCullingData
 Object culling data for compute shader. More...
struct  Engine::Rendering::GpuBuffers::LocalBoundsData
 Local-space bounding sphere data for GPU transformation. More...
struct  Engine::Rendering::GpuBuffers::PrimitiveMeshletData
 Per-primitive meshlet range for culling shader. More...
struct  Engine::Rendering::GpuBuffers::MeshUnpackingData
 Mesh unpacking metadata for compute shader. More...
struct  Engine::Rendering::GpuBuffers::VisibleMeshletInfo
 Visible meshlet result from culling operation. More...
struct  Engine::Rendering::GpuBuffers::VisibleMeshletRange
 Visible meshlet range per object for dispatch. More...
struct  Engine::Rendering::GpuBuffers::ObjectCullingCounters
 Culling operation counters for GPU buffers. More...
struct  Engine::Rendering::GpuBuffers::MeshGeometryData
 Shared geometry metadata for instanced rendering with LOD support. More...
struct  Engine::Rendering::GpuBuffers::InstanceData
 Per-instance data referencing shared geometry. More...
struct  Engine::Rendering::GpuBuffers::InstanceCullingData
 Instance culling data for compute shader. More...
struct  Engine::Rendering::GpuBuffers::SingleMeshletGeometryData
 GPU data for single-meshlet vertex-shader path. More...
struct  Engine::Rendering::GpuBuffers::DiffuseFlatColorMaterial
 GPU-side flat color material. More...
struct  Engine::Rendering::GpuBuffers::DiffuseShaderMaterial
 GPU-side diffuse textured material. More...
struct  Engine::Rendering::GpuBuffers::PbrMaterial
 GPU-side PBR material with spherical harmonics. More...
struct  Engine::Rendering::GpuBuffers::NormalsMaterial
 GPU-side normals debug material. More...
struct  Engine::Rendering::GpuBuffers::SHProbeData
 Spherical harmonics probe data for dynamic lighting. More...
struct  Engine::Rendering::GpuBuffers::DynamicPointLight
 GPU-side dynamic point light. positionRadius.xyz = world position, w = influence radius. colorIntensity.rgb = light color, w = intensity. More...
struct  Engine::Rendering::GpuBuffers::DynamicPointLightBuffer
 Fixed-size dynamic point light buffer for shaders. More...
struct  Engine::Rendering::GpuBuffers::SunLightBuffer
 GPU-side single directional sun light. directionEnabled.xyz = direction the light travels in world space, w = enabled. colorIntensity.rgb = light color, w = intensity. More...
struct  Engine::Rendering::GpuBuffers::SunShadowCascadeBuffer
 GPU-side cascaded shadow data for the active directional sun. More...
struct  Engine::Rendering::GpuBuffers::ClusterLodData
 Per-cluster LOD data for GPU-driven LOD selection. More...
struct  Engine::Rendering::GpuBuffers::ClusterGroupData
 Per-group LOD data representing simplified child clusters. More...
struct  Engine::Rendering::GpuBuffers::LodConfigUBO
 LOD configuration UBO for GPU shader selection. More...
struct  Engine::Rendering::GpuBuffers::ClusterSurvivor
 Cluster survivor data passed from culling to binning shaders. More...
struct  Engine::Rendering::GpuBuffers::VisibleLodPrimitive
 Visible LOD primitive data for parallel cluster selection. More...

Namespaces

namespace  Engine
namespace  Engine::Rendering
namespace  Engine::Rendering::GpuBuffers

Typedefs

using Engine::Rendering::GpuMeshDescription = GpuBuffers::GpuMeshDescription
using Engine::Rendering::UnifiedMeshlet = GpuBuffers::UnifiedMeshlet
using Engine::Rendering::MeshletBounds = GpuBuffers::MeshletBounds
using Engine::Rendering::MeshPrimitiveRenderData = GpuBuffers::MeshPrimitiveRenderData
using Engine::Rendering::ObjectCullingData = GpuBuffers::ObjectCullingData
using Engine::Rendering::LocalBoundsData = GpuBuffers::LocalBoundsData
using Engine::Rendering::PrimitiveMeshletData = GpuBuffers::PrimitiveMeshletData
using Engine::Rendering::MeshUnpackingData = GpuBuffers::MeshUnpackingData
using Engine::Rendering::VisibleMeshletInfo = GpuBuffers::VisibleMeshletInfo
using Engine::Rendering::VisibleMeshletRange = GpuBuffers::VisibleMeshletRange
using Engine::Rendering::ObjectCullingCounters = GpuBuffers::ObjectCullingCounters
using Engine::Rendering::MeshGeometryData = GpuBuffers::MeshGeometryData
using Engine::Rendering::InstanceData = GpuBuffers::InstanceData
using Engine::Rendering::InstanceCullingData = GpuBuffers::InstanceCullingData
using Engine::Rendering::SingleMeshletGeometryData = GpuBuffers::SingleMeshletGeometryData
using Engine::Rendering::GpuDiffuseFlatColorMaterial = GpuBuffers::DiffuseFlatColorMaterial
using Engine::Rendering::GpuDiffuseShaderMaterial = GpuBuffers::DiffuseShaderMaterial
using Engine::Rendering::GpuPbrMaterial = GpuBuffers::PbrMaterial
using Engine::Rendering::GpuNormalsMaterial = GpuBuffers::NormalsMaterial
using Engine::Rendering::SHProbeData = GpuBuffers::SHProbeData
using Engine::Rendering::DynamicPointLight = GpuBuffers::DynamicPointLight
using Engine::Rendering::DynamicPointLightBuffer = GpuBuffers::DynamicPointLightBuffer
using Engine::Rendering::SunLightBuffer = GpuBuffers::SunLightBuffer
using Engine::Rendering::SunShadowCascadeBuffer = GpuBuffers::SunShadowCascadeBuffer
using Engine::Rendering::ClusterLodData = GpuBuffers::ClusterLodData
using Engine::Rendering::ClusterGroupData = GpuBuffers::ClusterGroupData
using Engine::Rendering::LodConfigUBO = GpuBuffers::LodConfigUBO
using Engine::Rendering::ClusterSurvivor = GpuBuffers::ClusterSurvivor
using Engine::Rendering::VisibleLodPrimitive = GpuBuffers::VisibleLodPrimitive
using Engine::Rendering::Dispatch = GpuBuffers::Dispatch

Variables

constexpr uint32_t Engine::Rendering::GpuBuffers::MAX_DYNAMIC_POINT_LIGHTS = 64
constexpr uint32_t Engine::Rendering::GpuBuffers::MAX_SUN_SHADOW_CASCADES = 4u