LkEngine 0.1.2
 
Loading...
Searching...
No Matches
OpenGLIndexBuffer.h
1#pragma once
2
3#include "LkEngine/Renderer/IndexBuffer.h"
4
5#include "LkOpenGL.h"
6
7
8namespace LkEngine {
9
11 {
12 public:
13 OpenGLIndexBuffer(const uint32_t InSize);
14 OpenGLIndexBuffer(void* InData, const uint32_t InSize);
16
17 void SetData(void* InData, const uint64_t InSize, const uint64_t InOffset = 0) override;
18
19 FORCEINLINE virtual FBuffer GetLocalData() override
20 {
21 return FBuffer::Copy(m_LocalData.Data, m_Size);
22 }
23
24 FORCEINLINE virtual uint64_t GetSize() const override { return m_Size; }
25 FORCEINLINE virtual unsigned int GetCount() const override { return m_Count; }
26
27 virtual void Bind() const override;
28
29 FORCEINLINE virtual LRendererID GetRendererID() const override { return m_RendererID; }
30 FORCEINLINE virtual LRendererID& GetRendererID() override { return m_RendererID; }
31
32 private:
33 LRendererID m_RendererID = 0;
34 FBuffer m_LocalData;
35
36 uint32_t m_Size = 0;
37 uint32_t m_Count = 0;
38
40 };
41
42}
Definition IndexBuffer.h:11
Definition OpenGLIndexBuffer.h:11
#define LCLASS(Class)
Definition CoreMacros.h:226
uint32_t LRendererID
Definition CoreTypes.h:30
Definition Asset.h:11
Definition Buffer.h:9