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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#ifndef __GXTEXTURE_H__
#define __GXTEXTURE_H__
#ifdef __cplusplus
extern "C" {
#endif
/*---------------------------------------------------------------------------*/
typedef GXTexRegion* (*GXTexRegionCallback) (const GXTexObj* t_obj, GXTexMapID id);
typedef GXTlutRegion* (*GXTlutRegionCallback)(u32 idx);
/*---------------------------------------------------------------------------*/
void GXInitTexObj(
GXTexObj* obj,
void* image_ptr,
u16 width,
u16 height,
GXTexFmt format,
GXTexWrapMode wrap_s,
GXTexWrapMode wrap_t,
GXBool mipmap);
void GXInitTexObjCI(
GXTexObj* obj,
void* image_ptr,
u16 width,
u16 height,
GXCITexFmt format,
GXTexWrapMode wrap_s,
GXTexWrapMode wrap_t,
GXBool mipmap,
u32 tlut_name);
void GXInitTexObjLOD(
GXTexObj* obj,
GXTexFilter min_filt,
GXTexFilter mag_filt,
f32 min_lod,
f32 max_lod,
f32 lod_bias,
GXBool bias_clamp,
GXBool do_edge_lod,
GXAnisotropy max_aniso );
void GXInitTexObjData ( GXTexObj* obj, void* image_ptr );
void GXInitTexObjWrapMode ( GXTexObj* obj, GXTexWrapMode s, GXTexWrapMode t );
void GXInitTexObjTlut ( GXTexObj* obj, u32 tlut_name );
void GXInitTexObjFilter ( GXTexObj* obj, GXTexFilter min_filt, GXTexFilter mag_filt );
void GXInitTexObjMaxLOD ( GXTexObj* obj, f32 max_lod );
void GXInitTexObjMinLOD ( GXTexObj* obj, f32 min_lod );
void GXInitTexObjLODBias ( GXTexObj* obj, f32 lod_bias );
void GXInitTexObjBiasClamp( GXTexObj* obj, GXBool bias_clamp );
void GXInitTexObjEdgeLOD ( GXTexObj* obj, GXBool do_edge_lod );
void GXInitTexObjMaxAniso ( GXTexObj* obj, GXAnisotropy max_aniso );
void GXInitTexObjUserData ( GXTexObj* obj, void* user_data );
void* GXGetTexObjUserData ( const GXTexObj* obj );
void GXLoadTexObj ( const GXTexObj* obj, GXTexMapID id );
u32 GXGetTexBufferSize(
u16 width,
u16 height,
u32 format,
GXBool mipmap,
u8 max_lod );
void GXInitTlutObj(
GXTlutObj* tlut_obj,
void* lut,
GXTlutFmt fmt,
u16 n_entries );
void GXLoadTlut ( const GXTlutObj* tlut_obj, u32 tlut_name );
void GXInitTexCacheRegion(
GXTexRegion* region,
GXBool is_32b_mipmap,
u32 tmem_even,
GXTexCacheSize size_even,
u32 tmem_odd,
GXTexCacheSize size_odd );
void GXInitTexPreLoadRegion(
GXTexRegion* region,
u32 tmem_even,
u32 size_even,
u32 tmem_odd,
u32 size_odd );
void GXInitTlutRegion(
GXTlutRegion* region,
u32 tmem_addr,
GXTlutSize tlut_size );
void GXInvalidateTexRegion ( const GXTexRegion* region );
void GXInvalidateTexAll ( void );
void GXPreLoadEntireTexture ( const GXTexObj* tex_obj, const GXTexRegion* region );
GXTexRegionCallback GXSetTexRegionCallback ( GXTexRegionCallback f );
GXTlutRegionCallback GXSetTlutRegionCallback( GXTlutRegionCallback f );
void GXLoadTexObjPreLoaded(
const GXTexObj* obj,
const GXTexRegion* region,
GXTexMapID id );
void GXSetTexCoordScaleManually(GXTexCoordID coord,
GXBool enable,
u16 ss, u16 ts);
void GXSetTexCoordCylWrap(GXTexCoordID coord,
GXBool s_enable,
GXBool t_enable);
void GXSetTexCoordBias(GXTexCoordID coord,
GXBool s_enable,
GXBool t_enable);
/*---------------------------------------------------------------------------*/
#ifdef __cplusplus
}
#endif
#endif // __GXTEXTURE_H__
|