LkEngine
0.1.2
Loading...
Searching...
No Matches
ArrayTexture.h
1
#pragma once
2
3
#include "LkEngine/Renderer/Texture.h"
4
#include "LkEngine/Renderer/ArrayTextureSpecification.h"
5
6
7
namespace
LkEngine
{
8
9
class
LArrayTexture
:
public
LObject
10
{
11
public
:
12
virtual
~LArrayTexture
() =
default
;
13
14
virtual
void
Bind() = 0;
15
virtual
void
Unbind() = 0;
16
17
virtual
void
AddTextureToArray(
const
TObjectPtr<LTexture>
InTexture) = 0;
18
virtual
bool
RemoveTextureFromArray(
const
LRendererID
InTextureID) = 0;
19
20
virtual
const
LRendererID
GetRendererID()
const
= 0;
21
virtual
LRendererID
& GetRendererID() = 0;
22
23
virtual
int
GetTextureSlot()
const
= 0;
24
virtual
const
EArrayTextureDimension GetDimension()
const
= 0;
25
virtual
const
FArrayTextureSpecification
& GetSpecification()
const
= 0;
26
27
virtual
int
GetWidth()
const
= 0;
28
virtual
int
GetHeight()
const
= 0;
29
virtual
void
SetWidth(
const
int
InWidth) = 0;
30
virtual
void
SetHeight(
const
int
InHeight) = 0;
31
32
virtual
bool
HasTexture(
const
TObjectPtr<LTexture>
& Texture) = 0;
33
virtual
TObjectPtr<LTexture>
GetTextureWithID(
LRendererID
id
) = 0;
34
virtual
int
GetIndexOfTexture(
const
TObjectPtr<LTexture>
& Texture) = 0;
35
36
static
TObjectPtr<LArrayTexture>
Create(
const
FArrayTextureSpecification
& Specification);
37
38
private
:
39
LCLASS
(
LArrayTexture
)
40
};
41
42
}
LkEngine::LArrayTexture
Definition
ArrayTexture.h:10
LkEngine::LObject
Definition
Object.h:46
LkEngine::TObjectPtr
Definition
ObjectPtr.h:102
LCLASS
#define LCLASS(Class)
Definition
CoreMacros.h:226
LkEngine::LRendererID
uint32_t LRendererID
Definition
CoreTypes.h:30
LkEngine
Definition
Asset.h:11
LkEngine::FArrayTextureSpecification
Definition
ArrayTextureSpecification.h:15
LkEngine
Source
LkEngine
Renderer
ArrayTexture.h
Generated by
1.12.0