LkEngine 0.1.2
 
Loading...
Searching...
No Matches
OpenGLUniformBuffer.h
1#pragma once
2
3#include "LkEngine/Renderer/UniformBuffer.h"
4
5
6namespace LkEngine {
7
9 {
10 public:
11 LOpenGLUniformBuffer(const uint64_t InSize);
12 LOpenGLUniformBuffer() = delete;
14
15 virtual void SetData(const void* InData, const uint64_t InSize, const uint64_t InOffset = 0) override;
16 virtual void RT_SetData(const void* InData, const uint64_t InSize, const uint64_t InOffset = 0) override;
17
21 virtual void SetBinding(const TObjectPtr<LShader> Shader, std::string_view UBName, const uint32_t BlockIndex) override;
22
23 void Bind();
24 void Unbind();
25
26 private:
27 LRendererID m_ID;
28 uint64_t m_Size = 0;
29 std::string m_Name{};
30 uint8_t* m_LocalData = nullptr;
31
33 };
34
35}
Definition OpenGLUniformBuffer.h:9
virtual void RT_SetData(const void *InData, const uint64_t InSize, const uint64_t InOffset=0) override
Set buffer data.
Definition OpenGLUniformBuffer.cpp:30
virtual void SetData(const void *InData, const uint64_t InSize, const uint64_t InOffset=0) override
Set buffer data.
Definition OpenGLUniformBuffer.cpp:23
virtual void SetBinding(const TObjectPtr< LShader > Shader, std::string_view UBName, const uint32_t BlockIndex) override
Set uniform binding.
Definition OpenGLUniformBuffer.cpp:47
Definition UniformBuffer.h:16
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226
uint32_t LRendererID
Definition CoreTypes.h:30
Definition Asset.h:11