28 #ifndef BERSERK_GLRESOURCESET_HPP
29 #define BERSERK_GLRESOURCESET_HPP
35 #include <unordered_map>
54 static const uint32 UNUSED_SLOT = 0xffffffff;
56 uint32 index = UNUSED_SLOT;
60 std::unordered_map<uint32, Slot> mBoundSlots;
80 const std::vector<TextureBinding> &
GetTextures()
const {
return mTextures; }
81 const std::vector<SamplerBinding> &
GetSamplers()
const {
return mSamplers; }
82 const std::vector<BufferBinding> &
GetBuffers()
const {
return mBuffers; }
85 std::vector<TextureBinding> mTextures;
86 std::vector<SamplerBinding> mSamplers;
87 std::vector<BufferBinding> mBuffers;
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
std::uint32_t uint32
Definition: Typedefs.hpp:44
Auxiliary class used to bind textures and samplers to pipeline.
Definition: GLResourceSet.hpp:48
BRK_API void Clear()
Definition: GLResourceSet.cpp:43
BRK_API uint32 GetSlot(uint32 location)
Definition: GLResourceSet.cpp:37
GL set of pipeline resources.
Definition: GLResourceSet.hpp:68
BRK_API void Bind(GLResourceBindingState &state, const Ref< GLShader > &shader) const
Definition: GLResourceSet.cpp:58
BRK_API GLResourceSet(const RHIResourceSetDesc &desc)
Definition: GLResourceSet.cpp:48
BRK_API void Update(const RHIResourceSetDesc &desc)
Definition: GLResourceSet.cpp:52
const std::vector< TextureBinding > & GetTextures() const
Definition: GLResourceSet.hpp:80
BRK_API ~GLResourceSet() override=default
const std::vector< BufferBinding > & GetBuffers() const
Definition: GLResourceSet.hpp:82
const std::vector< SamplerBinding > & GetSamplers() const
Definition: GLResourceSet.hpp:81
Describes single set of GPU resource for shader.
Definition: RHIResourceSet.hpp:52
Set of resource ready to be bound to the pipeline.
Definition: RHIResourceSet.hpp:111
Definition: GLDevice.cpp:46
Definition: RHIResourceSet.hpp:66
Definition: RHIResourceSet.hpp:60
Definition: RHIResourceSet.hpp:54