Nebula
Loading...
Searching...
No Matches
clustercontext.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
11#include "coregraphics/buffer.h"
12#include "coregraphics/window.h"
13#include <array>
14
15namespace Clustering
16{
17
19{
21public:
25 virtual ~ClusterContext();
26
28 static void Create(float ZNear, float ZFar, const CoreGraphics::WindowId window);
29
31 static const SizeT GetNumClusters();
33 static const std::array<SizeT, 3> GetClusterDimensions();
34
36 static void UpdateResources(const Graphics::FrameContext& ctx);
37#ifndef PUBLIC_BUILD
39 static void OnRenderDebug(uint32_t flags);
40#endif
41
43 static void Resize(const uint framescriptHash, SizeT width, SizeT height);
44
47private:
48
50 static void UpdateClusters();
51};
52} // namespace Clustering
static void Resize(const uint framescriptHash, SizeT width, SizeT height)
Update when framescript resizes.
Definition clustercontext.cc:197
static const std::array< SizeT, 3 > GetClusterDimensions()
get cluster dimensions
Definition clustercontext.cc:154
static void Create(float ZNear, float ZFar, const CoreGraphics::WindowId window)
setup light context using CameraSettings
Definition clustercontext.cc:66
static void UpdateResources(const Graphics::FrameContext &ctx)
update constants
Definition clustercontext.cc:163
virtual ~ClusterContext()
destructor
Definition clustercontext.cc:58
static void OnRenderDebug(uint32_t flags)
implement me
Definition clustercontext.cc:189
ClusterContext()
constructor
Definition clustercontext.cc:51
static void UpdateClusters()
run light classification compute
static const SizeT GetNumClusters()
get number of clusters
Definition clustercontext.cc:145
static const CoreGraphics::BufferId * GetClusterBuffer()
Get cluster AABB buffer.
Definition clustercontext.cc:246
Definition graphicscontext.h:175
Context handling GPU cluster culling.
Definition clustercontext.cc:18
CoreGraphics::WindowId window
Definition clustercontext.cc:33
Definition buffer.h:23
Definition window.h:25
Definition graphicsserver.h:31
int SizeT
Definition types.h:42
unsigned int uint
Definition types.h:33