You.i Engine
YiGNMTextureObject.h
Go to the documentation of this file.
1
// © You i Labs Inc. 2000-2017. All rights reserved.
2
#ifndef _YI_GNM_TEXTURE_OBJECT_H_
3
#define _YI_GNM_TEXTURE_OBJECT_H_
4
5
#include "
YiGNMAbstractBufferObject.h
"
6
#include "
asset/YiAssetTexture.h
"
7
8
namespace
sce
9
{
10
namespace
Gnm
11
{
12
class
Texture;
13
class
Sampler;
14
}
15
}
16
17
class
CYIGNMFramebufferObject
;
18
27
class
CYIGNMTextureObject
:
public
CYIGNMAbstractBufferObject
28
{
29
public
:
33
CYIGNMTextureObject
();
34
38
virtual
~
CYIGNMTextureObject
();
39
40
//Inherited from IYIGPUObject
41
virtual
void
Load(
const
std::shared_ptr<CYIAssetHardware> &pAsset)
override
;
42
virtual
void
Unload()
override
;
43
virtual
void
Use()
const override
;
44
virtual
void
Generate()
override
;
45
virtual
void
Free()
override
;
46
virtual
void
InvalidateHandle()
override
;
47
51
void
Configure(int32_t width,
52
int32_t height,
53
int32_t format,
54
int32_t type,
55
CYIGNMFramebufferObject
*pFrameBufferObject =
nullptr
);
56
57
void
LoadEmpty();
58
void
Bind(uint32_t slot = 0)
const
;
59
60
sce::Gnm::Texture * GetGnmTexture();
61
62
private
:
63
void
CleanupInternal();
64
65
sce::Gnm::FilterMode ConvertFilterType(
CYIAssetTexture::YI_MIN_MAG_FILTER
filterType)
const
;
66
sce::Gnm::WrapMode ConvertTextureAddressType(
CYIAssetTexture::YI_TEXTURE_WRAP
addressType)
const
;
67
68
int32_t m_width;
69
int32_t m_height;
70
int32_t m_format;
71
int32_t m_type;
72
73
void
*m_pTextureData;
74
sce::Gnm::Texture *m_pTexture;
75
sce::Gnm::Sampler *m_pSampler;
76
CYIGNMFramebufferObject
*m_pFrameBufferObject;
77
};
78
82
#endif // _YI_GNM_TEXTURE_OBJECT_H_
YiAssetTexture.h
sce
Definition:
YiGNMTextureObject.h:8
CYIAssetTextureBase::YI_TEXTURE_WRAP
YI_TEXTURE_WRAP
Definition:
YiAssetTextureBase.h:40
CYIGNMAbstractBufferObject
An abstract class for common Gnm buffer functionality.
Definition:
YiGNMAbstractBufferObject.h:17
CYIAssetTextureBase::YI_MIN_MAG_FILTER
YI_MIN_MAG_FILTER
Definition:
YiAssetTextureBase.h:30
YiGNMAbstractBufferObject.h
CYIGNMTextureObject
IYIGPUObject implementation for GNM textures on PS4.
Definition:
YiGNMTextureObject.h:27
CYIGNMFramebufferObject
Definition:
YiGNMFramebufferObject.h:17
renderer
YiGNMTextureObject.h
Generated on Thu Aug 23 2018 03:08:10 for You.i Engine by
1.8.11