Raito
0.1
Loading...
Searching...
No Matches
Texture.h
Go to the documentation of this file.
1
/*
2
MIT License
3
4
Copyright (c) 2023 Víctor Falcón Zaro
5
6
Permission is hereby granted, free of charge, to any person obtaining a copy
7
of this software and associated documentation files (the "Software"), to deal
8
in the Software without restriction, including without limitation the rights
9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
copies of the Software, and to permit persons to whom the Software is
11
furnished to do so, subject to the following conditions:
12
13
The above copyright notice and this permission notice shall be included in all
14
copies or substantial portions of the Software.
15
16
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
SOFTWARE.
23
*/
24
25
#pragma once
26
27
28
namespace
Raito::Assets
29
{
30
31
// TODO: Create texture import options distinct maps etc...
32
// For now all textures will have mip maps
33
enum
TextureType
:
u8
34
{
35
DIFFUSE
,
36
NORMAL
,
37
HEIGHT
,
38
EMISSIVE
,
39
AMBIENT_OCCLUSION
,
40
METAL_ROUGHNESS
,
41
HDR
42
};
43
44
struct
Texture
final
45
{
46
Texture
(
u32
width,
u32
height,
u32
nComponents,
ubyte
* data,
TextureType
type);
47
~Texture
();
48
49
DEFAULT_MOVE_AND_COPY
(
Texture
)
50
51
u32
Id
= 0;
52
struct
TextureData
53
{
54
u64
Handle
= 0;
55
u32
RenderId = 0;
56
}
RenderData
;
57
58
u32
Width
= 0;
59
u32
Height
= 0;
60
u32
ComponentsNum
= 0;
61
62
TextureType
Type
{};
63
};
64
}
ubyte
unsigned char ubyte
Unsigned byte type.
Definition
BasicTypes.h:31
u32
unsigned __int32 u32
Unsigned integer 32 bit type.
Definition
BasicTypes.h:55
u64
unsigned __int64 u64
Unsigned integer 64 bit type.
Definition
BasicTypes.h:57
u8
unsigned __int8 u8
Unsigned integer 8 bit type.
Definition
BasicTypes.h:51
DEFAULT_MOVE_AND_COPY
#define DEFAULT_MOVE_AND_COPY(T)
Definition
Common.h:56
Texture
GLuint Texture
Definition
OpenGLPostProcessPass.cpp:29
Handle
u64 Handle
Definition
OpenGLPostProcessPass.cpp:28
Raito::Assets
Definition
AssetImport.cpp:47
Raito::Assets::TextureType
TextureType
Definition
Texture.h:34
Raito::Assets::METAL_ROUGHNESS
@ METAL_ROUGHNESS
Definition
Texture.h:40
Raito::Assets::AMBIENT_OCCLUSION
@ AMBIENT_OCCLUSION
Definition
Texture.h:39
Raito::Assets::HDR
@ HDR
Definition
Texture.h:41
Raito::Assets::DIFFUSE
@ DIFFUSE
Definition
Texture.h:35
Raito::Assets::NORMAL
@ NORMAL
Definition
Texture.h:36
Raito::Assets::EMISSIVE
@ EMISSIVE
Definition
Texture.h:38
Raito::Assets::HEIGHT
@ HEIGHT
Definition
Texture.h:37
Raito::Assets::Texture::TextureData
Definition
Texture.h:53
Raito::Assets::Texture
Definition
Texture.h:45
Raito::Assets::Texture::RenderData
struct Raito::Assets::Texture::TextureData RenderData
Raito::Assets::Texture::ComponentsNum
u32 ComponentsNum
Definition
Texture.h:60
Raito::Assets::Texture::Id
u32 Id
Definition
Texture.h:51
Raito::Assets::Texture::~Texture
~Texture()
Definition
Texture.cpp:39
Raito::Assets::Texture::Type
TextureType Type
Definition
Texture.h:62
Raito::Assets::Texture::Height
u32 Height
Definition
Texture.h:59
Raito::Assets::Texture::Width
u32 Width
Definition
Texture.h:58
Core
Source
Raito
Assets
Texture.h
Generated by
1.11.0