2
* Copyright 2010 Inalogic Inc.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3, as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranties of
10
* MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11
* PURPOSE. See the applicable version of the GNU Lesser General Public
12
* License for more details.
14
* You should have received a copy of both the GNU Lesser General Public
15
* License version 3 along with this program. If not, see
16
* <http://www.gnu.org/licenses/>
18
* Authored by: Jay Taoko <jay.taoko_AT_gmail_DOT_com>
23
#ifndef IOPENGLCUBETEXTURE_H
24
#define IOPENGLCUBETEXTURE_H
28
class IOpenGLBaseTexture;
29
class IOpenGLCubeTexture: public IOpenGLBaseTexture
31
DECLARE_OBJECT_TYPE(IOpenGLCubeTexture, IOpenGLBaseTexture);
34
virtual ~IOpenGLCubeTexture();
36
int GetCubeMapSurface(
37
eCUBEMAP_FACES FaceType,
39
IOpenGLSurface ** ppCubeMapSurface
43
eCUBEMAP_FACES FaceType,
45
SURFACE_LOCKED_RECT * pLockedRect,
46
const SURFACE_RECT * pRect);
49
eCUBEMAP_FACES FaceType,
53
unsigned int EnableGammaCorrection(bool b);
60
nuxAssert(Level >= 0 );
61
nuxAssert(Level < _NumMipLevel);
63
if((Level < 0) || (Level > _NumMipLevel))
67
pDesc->PixelFormat = BITFMT_UNKNOWN;
68
pDesc->Type = _ResourceType;
72
pDesc->Width = Max<unsigned int>(1, _Width >> Level);
73
pDesc->Height = Max<unsigned int>(1, _Height >> Level);
74
pDesc->PixelFormat = _PixelFormat;
75
pDesc->Type = _ResourceType;
83
unsigned int EdgeLength
85
, BitmapFormat PixelFormat);
87
// unsigned int _Width;
88
// unsigned int _Height;
89
std::map<eCUBEMAP_FACES, std::vector<IOpenGLSurface*>* > _SurfaceArray;
91
friend class GLDeviceFactory;
92
friend class IOpenGLSurface;
96
#endif // IOPENGLCUBETEXTURE_H