Oolite
1.91.0.7646-241128-10e222e
Loading...
Searching...
No Matches
src
Core
Materials
OOConcreteTexture.h
Go to the documentation of this file.
1
/*
2
3
OOConcreteTexture.h
4
5
Standard implementation of OOTexture. This is an implementation detail, use
6
OOTexture instead.
7
8
9
Copyright (C) 2007-2013 Jens Ayton and contributors
10
11
Permission is hereby granted, free of charge, to any person obtaining a copy
12
of this software and associated documentation files (the "Software"), to deal
13
in the Software without restriction, including without limitation the rights
14
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
copies of the Software, and to permit persons to whom the Software is
16
furnished to do so, subject to the following conditions:
17
18
The above copyright notice and this permission notice shall be included in all
19
copies or substantial portions of the Software.
20
21
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
SOFTWARE.
28
29
*/
30
31
#import "
OOTexture.h
"
32
33
34
#define OOTEXTURE_RELOADABLE 1
35
36
37
@interface
OOConcreteTexture
:
OOTexture
38
{
39
@private
40
#if OOTEXTURE_RELOADABLE
41
NSString *
_path
;
42
#endif
43
NSString *
_key
;
44
uint8_t
_loaded
: 1,
45
_uploaded
: 1,
46
#if GL_EXT_texture_rectangle
47
_isRectTexture: 1,
48
#endif
49
#if OO_TEXTURE_CUBE_MAP
50
_isCubeMap: 1,
51
#endif
52
_valid
: 1;
53
uint8_t
_mipLevels
;
54
55
OOTextureLoader
*
_loader
;
56
57
void
*
_bytes
;
58
GLuint
_textureName
;
59
uint32_t
_width
,
60
_height
,
61
_originalWidth
,
62
_originalHeight
;
63
64
OOTextureDataFormat
_format
;
65
uint32_t
_options
;
66
#if GL_EXT_texture_lod_bias
67
GLfloat _lodBias;
68
#endif
69
#if GL_EXT_texture_filter_anisotropic
70
float
_anisotropy;
71
#endif
72
73
#ifndef NDEBUG
74
NSString *
_name
;
75
#endif
76
}
77
78
- (id) initWithLoader:(
OOTextureLoader
*)loader
79
key:(NSString *)key
80
options:(uint32_t)options
81
anisotropy:(GLfloat)anisotropy
82
lodBias:(GLfloat)lodBias;
83
84
- (id)initWithPath:(NSString *)path
85
key:(NSString *)key
86
options:(uint32_t)options
87
anisotropy:(
float
)anisotropy
88
lodBias:(GLfloat)lodBias;
89
90
@end
OOPixMapFormat
OOPixMapFormat
Definition
OOPixMap.h:39
OOTexture.h
OOConcreteTexture
Definition
OOConcreteTexture.h:38
OOConcreteTexture::_originalWidth
uint32_t _originalWidth
Definition
OOConcreteTexture.h:61
OOConcreteTexture::_loaded
uint8_t _loaded
Definition
OOConcreteTexture.h:44
OOConcreteTexture::_format
OOTextureDataFormat _format
Definition
OOConcreteTexture.h:64
OOConcreteTexture::_textureName
GLuint _textureName
Definition
OOConcreteTexture.h:58
OOConcreteTexture::_height
uint32_t _height
Definition
OOConcreteTexture.h:60
OOConcreteTexture::_width
uint32_t _width
Definition
OOConcreteTexture.h:59
OOConcreteTexture::_uploaded
uint8_t _uploaded
Definition
OOConcreteTexture.h:45
OOConcreteTexture::_options
uint32_t _options
Definition
OOConcreteTexture.h:65
OOConcreteTexture::_name
NSString * _name
Definition
OOConcreteTexture.h:74
OOConcreteTexture::_originalHeight
uint32_t _originalHeight
Definition
OOConcreteTexture.h:62
OOConcreteTexture::_path
NSString * _path
Definition
OOConcreteTexture.h:41
OOConcreteTexture::_key
NSString * _key
Definition
OOConcreteTexture.h:43
OOConcreteTexture::_bytes
void * _bytes
Definition
OOConcreteTexture.h:57
OOConcreteTexture::_loader
OOTextureLoader * _loader
Definition
OOConcreteTexture.h:55
OOConcreteTexture::_valid
uint8_t _valid
Definition
OOConcreteTexture.h:52
OOConcreteTexture::_mipLevels
uint8_t _mipLevels
Definition
OOConcreteTexture.h:53
OOTextureLoader
Definition
OOTextureLoader.h:40
OOTexture
Definition
OOTexture.h:117
Generated by
1.12.0