Oolite 1.91.0.7645-241119-222d325
Loading...
Searching...
No Matches
OOConcreteTexture Class Reference

#include <OOConcreteTexture.h>

+ Inheritance diagram for OOConcreteTexture:
+ Collaboration diagram for OOConcreteTexture:

Instance Methods

(id) - initWithLoader:key:options:anisotropy:lodBias:
 
(id) - initWithPath:key:options:anisotropy:lodBias:
 
(void) - dealloc [implementation]
 
(NSString *) - descriptionComponents [implementation]
 
(NSString *) - shortDescriptionComponents [implementation]
 
(NSString *) - name [implementation]
 
(void) - apply [implementation]
 
(void) - ensureFinishedLoading [implementation]
 
(BOOL) - isFinishedLoading [implementation]
 
(NSString *) - cacheKey [implementation]
 
(NSSize) - dimensions [implementation]
 
(NSSize) - originalDimensions [implementation]
 
(BOOL) - isMipMapped [implementation]
 
(struct OOPixMap- copyPixMapRepresentation [implementation]
 
(BOOL) - isRectangleTexture [implementation]
 
(BOOL) - isCubeMap [implementation]
 
(NSSize) - texCoordsScale [implementation]
 
(GLint) - glTextureName [implementation]
 
(void) - setUpTexture [implementation]
 
(void) - uploadTexture [implementation]
 
(void) - uploadTextureDataWithMipMap:format: [implementation]
 
(GLenum) - glTextureTarget [implementation]
 
(BOOL) - isReloadable [implementation]
 
(void) - forceRebind [implementation]
 
- Instance Methods inherited from OOTexture
(void) - setTrace:
 
(size_t) - dataSize
 
(id) - init [implementation]
 
(void) - addToCaches [implementation]
 
(void) - removeFromCaches [implementation]
 
(id) - retainInContext: [implementation]
 
(void) - releaseInContext: [implementation]
 
(id) - autoreleaseInContext: [implementation]
 
(id) - retain [implementation]
 
(oneway void) - release [implementation]
 
(id) - autorelease [implementation]
 
- Instance Methods inherited from OOWeakRefObject
(id) - weakSelf
 
(id) - weakRetain [implementation]
 
(void) - weakRefDied: [implementation]
 
- Instance Methods inherited from <OOWeakReferenceSupport>
(id) - OO_RETURNS_RETAINED
 

Private Attributes

NSString * _path
 
NSString * _key
 
uint8_t _loaded: 1
 
uint8_t _uploaded: 1
 
uint8_t _valid: 1
 
uint8_t _mipLevels
 
OOTextureLoader_loader
 
void * _bytes
 
GLuint _textureName
 
uint32_t _width
 
uint32_t _height
 
uint32_t _originalWidth
 
uint32_t _originalHeight
 
OOTextureDataFormat _format
 
uint32_t _options
 
NSString * _name
 

Additional Inherited Members

- Class Methods inherited from OOTexture
(id) + textureWithName:inFolder:options:anisotropy:lodBias:
 
(id) + textureWithName:inFolder:
 
(id) + textureWithConfiguration:
 
(id) + textureWithConfiguration:extraOptions:
 
(id) + nullTexture
 
(id) + textureWithGenerator:
 
(id) + textureWithGenerator:enqueue:
 
(void) + applyNone
 
(void) + clearCache
 
(void) + rebindAllTextures
 
(NSArray *) + cachedTexturesByAge
 
(NSSet *) + allTextures
 
(OOTexture *) + existingTextureForKey: [implementation]
 
(void) + checkExtensions [implementation]
 
- Protected Attributes inherited from OOTexture
BOOL _trace
 
- Protected Attributes inherited from OOWeakRefObject
OOWeakReferenceweakSelf
 

Detailed Description

Definition at line 37 of file OOConcreteTexture.h.

Method Documentation

◆ apply

- (void) apply
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

248{
250
251 if (EXPECT_NOT(!_loaded)) [self setUpTexture];
252 else if (EXPECT_NOT(!_uploaded)) [self uploadTexture];
253 else OOGL(glBindTexture([self glTextureTarget], _textureName));
254
255#if GL_EXT_texture_lod_bias
256 if (gOOTextureInfo.textureLODBiasAvailable) OOGL(glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, _lodBias));
257#endif
258}
#define EXPECT_NOT(x)
#define OO_ENTER_OPENGL()
#define OOGL(statement)
Definition OOOpenGL.h:251
OOTextureInfo gOOTextureInfo
Definition OOTexture.m:101
unsigned textureLODBiasAvailable

References kOOLogParameterError, kOOTextureAlphaMask, kOOTextureDataGrayscale, kOOTextureDataGrayscaleAlpha, kOOTextureDataRGBA, kOOTextureSRGBA, and OOLog.

◆ cacheKey

- (NSString *) cacheKey
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

274{
275 return _key;
276}

◆ copyPixMapRepresentation

- (struct OOPixMap) copyPixMapRepresentation
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

304{
305 [self ensureFinishedLoading];
306
308
309 if (_bytes != NULL)
310 {
311 // If possible, just copy our existing buffer.
313 px = OODuplicatePixMap(px, 0);
314 }
315#if OOTEXTURE_RELOADABLE
316 else
317 {
318 // Otherwise, read it back from OpenGL.
320
321 GLenum format, internalFormat, type;
322 if (!DecodeFormat(_format, _options, &format, &internalFormat, &type))
323 {
324 return kOONullPixMap;
325 }
326
327 if (![self isCubeMap])
328 {
329
331 if (!OOIsValidPixMap(px)) return kOONullPixMap;
332
333 glGetTexImage(GL_TEXTURE_2D, 0, format, type, px.pixels);
334 }
335#if OO_TEXTURE_CUBE_MAP
336 else
337 {
338 px = OOAllocatePixMap(_width, _width * 6, _format, 0, 0);
339 if (!OOIsValidPixMap(px)) return kOONullPixMap;
340 uint8_t *pixels = px.pixels;
341
342 unsigned i;
343 for (i = 0; i < 6; i++)
344 {
345 glGetTexImage(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, format, type, pixels);
347 }
348 }
349#endif
350 }
351#endif
352
353 return px;
354}
static BOOL DecodeFormat(OOTextureDataFormat format, uint32_t options, GLenum *outFormat, GLenum *outInternalFormat, GLenum *outType)
unsigned short OOPixMapBytesPerPixelForFormat(OOPixMapFormat format) PURE_FUNC
Definition OOPixMap.m:202
const OOPixMap kOONullPixMap
Definition OOPixMap.m:31
OOPixMap OOAllocatePixMap(OOPixMapDimension width, OOPixMapDimension height, OOPixMapFormat format, size_t rowBytes, size_t bufferSize)
Definition OOPixMap.m:73
OOPixMap OOMakePixMap(void *pixels, OOPixMapDimension width, OOPixMapDimension height, OOPixMapFormat format, size_t rowBytes, size_t bufferSize)
Definition OOPixMap.m:53
BOOL OOIsValidPixMap(OOPixMap pixMap)
Definition OOPixMap.m:42
OOPixMap OODuplicatePixMap(OOPixMap srcPixMap, size_t desiredSize)
Definition OOPixMap.m:95
OOTextureDataFormat _format
void * pixels
Definition OOPixMap.h:49

◆ dealloc

- (void) dealloc
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

142{
143#ifndef NDEBUG
144 OOLog(_trace ? @"texture.allocTrace.dealloc" : @"texture.dealloc", @"Deallocating and uncaching texture %p", self);
145#endif
146
147#if OOTEXTURE_RELOADABLE
148 DESTROY(_path);
149#endif
150
151 if (_loaded)
152 {
153 if (_textureName != 0)
154 {
156 OOGL(glDeleteTextures(1, &_textureName));
157 _textureName = 0;
158 }
159 free(_bytes);
160 _bytes = NULL;
161 }
162
163#ifndef OOTEXTURE_NO_CACHE
164 [self removeFromCaches];
165 [_key autorelease];
166 _key = nil;
167#endif
168
170
171#ifndef NDEBUG
172 DESTROY(_name);
173#endif
174
175 [super dealloc];
176}
#define DESTROY(x)
Definition OOCocoa.h:77
#define OOLog(class, format,...)
Definition OOLogging.h:88
return nil
OOTextureLoader * _loader
BOOL _trace
Definition OOTexture.h:120

◆ descriptionComponents

- (NSString *) descriptionComponents
implementation

Definition at line 671 of file OOConcreteTexture.m.

180{
181 NSString *stateDesc = nil;
182
183 if (_loaded)
184 {
185 if (_valid)
186 {
187 stateDesc = [NSString stringWithFormat:@"%u x %u", _width, _height];
188 }
189 else
190 {
191 stateDesc = @"LOAD ERROR";
192 }
193 }
194 else
195 {
196 stateDesc = @"loading";
197 }
198
199 return [NSString stringWithFormat:@"%@, %@", _key, stateDesc];
200}

◆ dimensions

- (NSSize) dimensions
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

280{
281 [self ensureFinishedLoading];
282
283 return NSMakeSize(_width, _height);
284}

◆ ensureFinishedLoading

- (void) ensureFinishedLoading
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

262{
263 if (!_loaded) [self setUpTexture];
264}

◆ forceRebind

- (void) forceRebind
implementation

Reimplemented from OOTexture.

Provided by category OOConcreteTexture(Private).

Definition at line 671 of file OOConcreteTexture.m.

632{
633 if (_loaded && _uploaded && _valid)
634 {
636
637 _uploaded = NO;
638 OOGL(glDeleteTextures(1, &_textureName));
639 _textureName = 0;
640
641#if OOTEXTURE_RELOADABLE
642 if ([self isReloadable])
643 {
644 OOLog(@"texture.reload", @"Reloading texture %@", self);
645
646 free(_bytes);
647 _bytes = NULL;
648 _loaded = NO;
649 _uploaded = NO;
650 _valid = NO;
651
652 _loader = [[OOTextureLoader loaderWithPath:_path options:_options] retain];
653 }
654#endif
655 }
656}
id loaderWithPath:options:(NSString *path,[options] uint32_t options)

◆ glTextureName

- (GLint) glTextureName
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

412{
413 [self ensureFinishedLoading];
414
415 return _textureName;
416}

◆ glTextureTarget

- (GLenum) glTextureTarget
implementation

Provided by category OOConcreteTexture(Private).

Definition at line 671 of file OOConcreteTexture.m.

619{
620 GLenum texTarget = GL_TEXTURE_2D;
621#if OO_TEXTURE_CUBE_MAP
622 if (_isCubeMap)
623 {
624 texTarget = GL_TEXTURE_CUBE_MAP;
625 }
626#endif
627 return texTarget;
628}

◆ initWithLoader:key:options:anisotropy:lodBias:

- (id) initWithLoader: (OOTextureLoader *) loader
key: (NSString *) key
options: (uint32_t) options
anisotropy: (GLfloat) anisotropy
lodBias: (GLfloat) lodBias 

Definition at line 671 of file OOConcreteTexture.m.

77 :(OOTextureLoader *)loader
78 key:(NSString *)key
79 options:(uint32_t)options
80 anisotropy:(GLfloat)anisotropy
81 lodBias:(GLfloat)lodBias
82{
83 if (loader == nil)
84 {
85 [self release];
86 return nil;
87 }
88
89 self = [super init];
90 if (EXPECT_NOT(self == nil)) return nil;
91
92 _loader = [loader retain];
93 _options = options;
94
95#if GL_EXT_texture_filter_anisotropic
96 _anisotropy = OOClamp_0_1_f(anisotropy) * gOOTextureInfo.anisotropyScale;
97#endif
98#if GL_EXT_texture_lod_bias
99 _lodBias = lodBias;
100#endif
101
102#ifndef NDEBUG
103 if ([loader isKindOfClass:[OOTextureGenerator class]])
104 {
105 _name = [[NSString alloc] initWithFormat:@"<%@>", [loader class]];
106 }
107#endif
108
109 _key = [key copy];
110
111 [self addToCaches];
112
113 return self;
114}

◆ initWithPath:key:options:anisotropy:lodBias:

- (id) initWithPath: (NSString *) path
key: (NSString *) key
options: (uint32_t) options
anisotropy: (float) anisotropy
lodBias: (GLfloat) lodBias 

Definition at line 671 of file OOConcreteTexture.m.

117 :(NSString *)path
118 key:(NSString *)key
119 options:(uint32_t)options
120 anisotropy:(float)anisotropy
121 lodBias:(GLfloat)lodBias
122{
123 OOTextureLoader *loader = [OOTextureLoader loaderWithPath:path options:options];
124 if (loader == nil)
125 {
126 [self release];
127 return nil;
128 }
129
130 if ((self = [self initWithLoader:loader key:key options:options anisotropy:anisotropy lodBias:lodBias]))
131 {
132#if OOTEXTURE_RELOADABLE
133 _path = [path retain];
134#endif
135 }
136
137 return self;
138}

◆ isCubeMap

- (BOOL) isCubeMap
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

368{
369#if OO_TEXTURE_CUBE_MAP
370 return _isCubeMap;
371#else
372 return NO;
373#endif
374}

◆ isFinishedLoading

- (BOOL) isFinishedLoading
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

268{
269 return _loaded || [_loader isReady];
270}

◆ isMipMapped

- (BOOL) isMipMapped
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

296{
297 [self ensureFinishedLoading];
298
299 return _mipLevels != 0;
300}

◆ isRectangleTexture

- (BOOL) isRectangleTexture
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

358{
359#if GL_EXT_texture_rectangle
360 return _isRectTexture;
361#else
362 return NO;
363#endif
364}

◆ isReloadable

- (BOOL) isReloadable
implementation

Provided by category OOConcreteTexture(Private).

Definition at line 671 of file OOConcreteTexture.m.

662{
663 return _path != nil;
664}

◆ name

- (NSString *) name
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

211{
212 if (_name != nil) return _name;
213
214#if OOTEXTURE_RELOADABLE
215 NSString *name = [_path lastPathComponent];
216#else
217 NSString *name = [[[[self cacheKey] componentsSeparatedByString:@":"] objectAtIndex:0] lastPathComponent];
218#endif
219
220 NSString *channelSuffix = nil;
222 {
224 channelSuffix = @":r";
225 break;
226
228 channelSuffix = @":g";
229 break;
230
232 channelSuffix = @":b";
233 break;
234
236 channelSuffix = @":a";
237 break;
238 }
239
240 if (channelSuffix != nil) name = [name stringByAppendingString:channelSuffix];
241
242 return name;
243}
@ kOOTextureExtractChannelA
Definition OOTexture.h:70
@ kOOTextureExtractChannelB
Definition OOTexture.h:69
@ kOOTextureExtractChannelMask
Definition OOTexture.h:65
@ kOOTextureExtractChannelG
Definition OOTexture.h:68
@ kOOTextureExtractChannelR
Definition OOTexture.h:67

◆ originalDimensions

- (NSSize) originalDimensions
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

288{
289 [self ensureFinishedLoading];
290
291 return NSMakeSize(_originalWidth, _originalHeight);
292}

◆ setUpTexture

- (void) setUpTexture
implementation

Provided by category OOConcreteTexture(Private).

Definition at line 671 of file OOConcreteTexture.m.

424{
425 OOPixMap pm;
426
427 // This will block until loading is completed, if necessary.
428 if ([_loader getResult:&pm format:&_format originalWidth:&_originalWidth originalHeight:&_originalHeight])
429 {
430 _bytes = pm.pixels;
431 _width = pm.width;
432 _height = pm.height;
433
434#if OO_TEXTURE_CUBE_MAP
435 if (_options & kOOTextureAllowCubeMap && _height == _width * 6 && gOOTextureInfo.cubeMapAvailable)
436 {
437 _isCubeMap = YES;
438 }
439#endif
440
441#if !defined(NDEBUG) && OOTEXTURE_RELOADABLE
442 if (_trace)
443 {
444 static unsigned dumpID = 0;
445 NSString *name = [NSString stringWithFormat:@"tex dump %u \"%@\"", ++dumpID,[self name]];
446 OOLog(@"texture.trace.dump", @"Dumped traced texture %@ to \'%@.png\'", self, name);
447 OODumpPixMap(pm, name);
448 }
449#endif
450
451 [self uploadTexture];
452 }
453 else
454 {
455 _textureName = 0;
456 _valid = NO;
457 _uploaded = YES;
458 }
459
460 _loaded = YES;
461
462 DESTROY(_loader);
463}
void OODumpPixMap(OOPixMap pixMap, NSString *name)
Definition OOPixMap.m:145
@ kOOTextureAllowCubeMap
Definition OOTexture.h:61
OOPixMapDimension height
Definition OOPixMap.h:50
OOPixMapDimension width
Definition OOPixMap.h:50
unsigned cubeMapAvailable

◆ shortDescriptionComponents

- (NSString *) shortDescriptionComponents
implementation

Definition at line 671 of file OOConcreteTexture.m.

204{
205 return _key;
206}

◆ texCoordsScale

- (NSSize) texCoordsScale
implementation

Reimplemented from OOTexture.

Definition at line 671 of file OOConcreteTexture.m.

378{
379#if GL_EXT_texture_rectangle
380 if (_loaded)
381 {
382 if (!_isRectTexture)
383 {
384 return NSMakeSize(1.0f, 1.0f);
385 }
386 else
387 {
388 return NSMakeSize(_width, _height);
389 }
390 }
391 else
392 {
393 // Not loaded
395 {
396 return NSMakeSize(1.0f, 1.0f);
397 }
398 else
399 {
400 // Finishing may clear the rectangle texture flag (if the texture turns out to be POT)
401 [self ensureFinishedLoading];
402 return [self texCoordsScale];
403 }
404 }
405#else
406 return NSMakeSize(1.0f, 1.0f);
407#endif
408}
@ kOOTextureAllowRectTexture
Definition OOTexture.h:57

◆ uploadTexture

- (void) uploadTexture
implementation

Provided by category OOConcreteTexture(Private).

Definition at line 671 of file OOConcreteTexture.m.

467{
468 GLint filter;
469 BOOL mipMap = NO;
470
472
473 if (!_uploaded)
474 {
475 GLenum texTarget = [self glTextureTarget];
476
477 OOGL(glGenTextures(1, &_textureName));
478 OOGL(glBindTexture(texTarget, _textureName));
479
480 // Select wrap mode
481 GLint clampMode = gOOTextureInfo.clampToEdgeAvailable ? GL_CLAMP_TO_EDGE : GL_CLAMP;
482 GLint wrapS = (_options & kOOTextureRepeatS) ? GL_REPEAT : clampMode;
483 GLint wrapT = (_options & kOOTextureRepeatT) ? GL_REPEAT : clampMode;
484
485#if OO_TEXTURE_CUBE_MAP
486 if (texTarget == GL_TEXTURE_CUBE_MAP)
487 {
488 wrapS = wrapT = clampMode;
489 OOGL(glTexParameteri(texTarget, GL_TEXTURE_WRAP_R, clampMode));
490 }
491#endif
492
493 OOGL(glTexParameteri(texTarget, GL_TEXTURE_WRAP_S, wrapS));
494 OOGL(glTexParameteri(texTarget, GL_TEXTURE_WRAP_T, wrapT));
495
496 // Select min filter
497 filter = _options & kOOTextureMinFilterMask;
498 if (filter == kOOTextureMinFilterNearest) filter = GL_NEAREST;
499 else if (filter == kOOTextureMinFilterMipMap)
500 {
501 mipMap = YES;
502 filter = GL_LINEAR_MIPMAP_LINEAR;
503 }
504 else filter = GL_LINEAR;
505 OOGL(glTexParameteri(texTarget, GL_TEXTURE_MIN_FILTER, filter));
506
507#if GL_EXT_texture_filter_anisotropic
508 if (gOOTextureInfo.anisotropyAvailable && mipMap && 1.0 < _anisotropy)
509 {
510 OOGL(glTexParameterf(texTarget, GL_TEXTURE_MAX_ANISOTROPY_EXT, _anisotropy));
511 }
512#endif
513
514 // Select mag filter
515 filter = _options & kOOTextureMagFilterMask;
516 if (filter == kOOTextureMagFilterNearest) filter = GL_NEAREST;
517 else filter = GL_LINEAR;
518 OOGL(glTexParameteri(texTarget, GL_TEXTURE_MAG_FILTER, filter));
519
520 // if (gOOTextureInfo.clientStorageAvailable) EnableClientStorage();
521
522 if (texTarget == GL_TEXTURE_2D)
523 {
524 [self uploadTextureDataWithMipMap:mipMap format:_format];
525 OOLog(@"texture.upload", @"Uploaded texture %u (%ux%u pixels, %@)", _textureName, _width, _height, _key);
526 }
527#if OO_TEXTURE_CUBE_MAP
528 else if (texTarget == GL_TEXTURE_CUBE_MAP)
529 {
530 [self uploadTextureCubeMapDataWithMipMap:mipMap format:_format];
531 OOLog(@"texture.upload", @"Uploaded cube map texture %u (%ux%ux6 pixels, %@)", _textureName, _width, _width, _key);
532 }
533#endif
534 else
535 {
536 [NSException raise:NSInternalInconsistencyException format:@"Unhandled texture target 0x%X.", texTarget];
537 }
538
539 _valid = YES;
540 _uploaded = YES;
541
542#if OOTEXTURE_RELOADABLE
543 if ([self isReloadable])
544 {
545 free(_bytes);
546 _bytes = NULL;
547 }
548#endif
549 }
550}
#define GL_CLAMP_TO_EDGE
@ kOOTextureRepeatS
Definition OOTexture.h:55
@ kOOTextureMagFilterMask
Definition OOTexture.h:73
@ kOOTextureMinFilterMask
Definition OOTexture.h:72
@ kOOTextureRepeatT
Definition OOTexture.h:56
@ kOOTextureMinFilterMipMap
Definition OOTexture.h:48
@ kOOTextureMagFilterNearest
Definition OOTexture.h:50
@ kOOTextureMinFilterNearest
Definition OOTexture.h:46
unsigned anisotropyAvailable
unsigned clampToEdgeAvailable

◆ uploadTextureDataWithMipMap:format:

- (void) uploadTextureDataWithMipMap: (BOOL) mipMap
format: (OOTextureDataFormat) format 
implementation

Provided by category OOConcreteTexture(Private).

Definition at line 671 of file OOConcreteTexture.m.

553 :(BOOL)mipMap format:(OOTextureDataFormat)format
554{
555 GLenum glFormat = 0, internalFormat = 0, type = 0;
556 unsigned w = _width,
557 h = _height,
558 level = 0;
559 char *bytes = _bytes;
560 uint8_t components = OOTextureComponentsForFormat(format);
561
563
564 if (!DecodeFormat(format, _options, &glFormat, &internalFormat, &type)) return;
565
566 while (0 < w && 0 < h)
567 {
568 OOGL(glTexImage2D(GL_TEXTURE_2D, level++, internalFormat, w, h, 0, glFormat, type, bytes));
569 if (!mipMap) return;
570 bytes += w * components * h;
571 w >>= 1;
572 h >>= 1;
573 }
574
575 // Note: we only reach here if (mipMap).
576 _mipLevels = level - 1;
577 OOGL(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, _mipLevels));
578}
OOPixMapFormat
Definition OOPixMap.h:39
#define GL_TEXTURE_MAX_LEVEL
uint8_t OOTextureComponentsForFormat(OOTextureDataFormat format)
Definition OOTexture.m:667

Member Data Documentation

◆ _bytes

- (void*) _bytes
private

Definition at line 57 of file OOConcreteTexture.h.

◆ _format

- (OOTextureDataFormat) _format
private

Definition at line 64 of file OOConcreteTexture.h.

◆ _height

- (uint32_t) _height
private

Definition at line 60 of file OOConcreteTexture.h.

◆ _key

- (NSString*) _key
private

Definition at line 43 of file OOConcreteTexture.h.

◆ _loaded

- (uint8_t) _loaded
private

Definition at line 44 of file OOConcreteTexture.h.

◆ _loader

- (OOTextureLoader*) _loader
private

Definition at line 55 of file OOConcreteTexture.h.

◆ _mipLevels

- (uint8_t) _mipLevels
private

Definition at line 53 of file OOConcreteTexture.h.

◆ _name

- (NSString*) _name
private

Definition at line 74 of file OOConcreteTexture.h.

◆ _options

- (uint32_t) _options
private

Definition at line 65 of file OOConcreteTexture.h.

◆ _originalHeight

- (uint32_t) _originalHeight
private

Definition at line 62 of file OOConcreteTexture.h.

◆ _originalWidth

- (uint32_t) _originalWidth
private

Definition at line 61 of file OOConcreteTexture.h.

◆ _path

- (NSString*) _path
private

Definition at line 41 of file OOConcreteTexture.h.

◆ _textureName

- (GLuint) _textureName
private

Definition at line 58 of file OOConcreteTexture.h.

◆ _uploaded

- (uint8_t) _uploaded
private

Definition at line 45 of file OOConcreteTexture.h.

◆ _valid

- (uint8_t) _valid
private

Definition at line 52 of file OOConcreteTexture.h.

◆ _width

- (uint32_t) _width
private

Definition at line 59 of file OOConcreteTexture.h.


The documentation for this class was generated from the following files: