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 WindowResized(const CoreGraphics::WindowId id, SizeT width, SizeT height);
44
47private:
48
50 static void UpdateClusters();
51};
52} // namespace Clustering
static const std::array< SizeT, 3 > GetClusterDimensions()
get cluster dimensions
Definition clustercontext.cc:150
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:159
virtual ~ClusterContext()
destructor
Definition clustercontext.cc:58
static void OnRenderDebug(uint32_t flags)
implement me
Definition clustercontext.cc:185
ClusterContext()
constructor
Definition clustercontext.cc:51
static void UpdateClusters()
run light classification compute
static void WindowResized(const CoreGraphics::WindowId id, SizeT width, SizeT height)
Update when window resized.
Definition clustercontext.cc:193
static const SizeT GetNumClusters()
get number of clusters
Definition clustercontext.cc:141
static const CoreGraphics::BufferId * GetClusterBuffer()
Get cluster AABB buffer.
Definition clustercontext.cc:238
Definition graphicscontext.h:165
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