LkEngine 0.1.2
 
Loading...
Searching...
No Matches
IndexBuffer.h
1#pragma once
2
4#include "LkEngine/Core/LObject/ObjectPtr.h"
5#include "LkEngine/Core/Memory/Buffer.h"
6
7
8namespace LkEngine {
9
10 class LIndexBuffer : public LObject
11 {
12 public:
13 virtual ~LIndexBuffer() = default;
14
15 virtual void SetData(void* InData,
16 const uint64_t InSize,
17 const uint64_t InOffset = 0) = 0;
18
19 virtual FBuffer GetLocalData() = 0;
20
21 virtual void Bind() const = 0;
22
23 virtual uint32_t GetCount() const = 0;
24 virtual uint64_t GetSize() const = 0;
25
26 virtual LRendererID GetRendererID() const = 0;
27 virtual LRendererID& GetRendererID() = 0;
28
29 static TObjectPtr<LIndexBuffer> Create(const uint32_t InSize);
30 static TObjectPtr<LIndexBuffer> Create(void* Data, const uint32_t InSize = 0);
31
32 private:
34 };
35
36}
LObject implementation.
Definition IndexBuffer.h:11
Definition Object.h:46
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226
uint32_t LRendererID
Definition CoreTypes.h:30
Definition Asset.h:11
Definition Buffer.h:9