blob: 5c8ac14685f4431ff947e0883e539cf8db252f1b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/*
* Copyright 2011-2017 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
#ifndef IMAGE_H_HEADER_GUARD
#define IMAGE_H_HEADER_GUARD
namespace bgfx
{
///
struct ImageContainer
{
bx::AllocatorI* m_allocator;
void* m_data;
TextureFormat::Enum m_format;
uint32_t m_size;
uint32_t m_offset;
uint32_t m_width;
uint32_t m_height;
uint32_t m_depth;
uint16_t m_numLayers;
uint8_t m_numMips;
bool m_hasAlpha;
bool m_cubeMap;
bool m_ktx;
bool m_ktxLE;
bool m_srgb;
};
///
ImageContainer* imageParse(
bx::AllocatorI* _allocator
, const void* _data
, uint32_t _size
, TextureFormat::Enum _dstFormat = TextureFormat::Count
);
///
ImageContainer* imageAlloc(
bx::AllocatorI* _allocator
, TextureFormat::Enum _format
, uint16_t _width
, uint16_t _height
, uint16_t _depth
, uint16_t _numLayers
, bool _cubeMap
, bool _hasMips
, const void* _data = NULL
);
///
void imageFree(ImageContainer* _imageContainer);
/// Converts format to string.
const char* getName(TextureFormat::Enum _format);
} // namespace bgfx
#endif // IMAGE_H_HEADER_GUARD
|