Nameless Engine
Loading...
Searching...
No Matches
GlslGlobalShaderResourceBinding.h
1#pragma once
2
3// Standard.
4#include <optional>
5
6// Custom.
7#include "shader/general/resource/binding/global/GlobalShaderResourceBinding.h"
8
9// External.
10#include "vulkan/vulkan_core.h"
11
12namespace ne {
13 class GpuResource;
14
20 // Only base class is allowed to create such objects.
21 friend class GlobalShaderResourceBinding;
22
23 public:
25
26 virtual ~GlslGlobalShaderResourceBinding() override;
27
28 protected:
41 const std::string& sShaderResourceName,
42 const std::array<GpuResource*, FrameResourceManager::getFrameResourceCount()>& vResourcesToBind);
43
52 [[nodiscard]] virtual std::optional<Error> bindToPipelines(Pipeline* pSpecificPipeline) override;
53 };
54}
static constexpr unsigned int getFrameResourceCount()
Definition: FrameResourceManager.h:74
Definition: GlobalShaderResourceBindingManager.h:21
Definition: GlobalShaderResourceBinding.h:27
GlobalShaderResourceBindingManager *const pManager
Definition: GlobalShaderResourceBinding.h:121
const std::string sShaderResourceName
Definition: GlobalShaderResourceBinding.h:110
Definition: GlslGlobalShaderResourceBinding.h:19
virtual std::optional< Error > bindToPipelines(Pipeline *pSpecificPipeline) override
Definition: GlslGlobalShaderResourceBinding.cpp:21
Definition: GpuResource.h:16
Definition: Pipeline.h:20