OpenGL ES SDK for Android ARM Developer Center
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Texture.h
Go to the documentation of this file.
1 /* Copyright (c) 2014-2017, ARM Limited and Contributors
2  *
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge,
6  * to any person obtaining a copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation the rights to
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
9  * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
17  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19  */
20 
21 #ifndef TEXTURE_H
22 #define TEXTURE_H
23 
24 namespace MaliSDK
25 {
29  class Texture
30  {
31  private:
39  static void getCompressedTextureFormats(GLint **textureFormats, int* numberOfTextureFormats);
40  public:
48  static bool isETCSupported(bool verbose = false);
49 
57  static void createTexture(unsigned int width, unsigned int height, GLvoid **textureData);
58 
67  static void createTexture(unsigned int width, unsigned int height, unsigned int red, GLvoid **textureData);
68 
77  static void createTexture(unsigned int width, unsigned int height, short red, short **textureData);
78 
84  static void deleteTextureData(GLvoid **textureData);
85 
92  static void loadData(const char *filename, unsigned char **textureData);
93 
102  static void reversePixelLine(float* destination, const float* source, int lineWidth);
103  };
104 }
105 #endif /* TEXTURE_H */
static void createTexture(unsigned int width, unsigned int height, GLvoid **textureData)
Create a texture using random data.
Definition: Texture.cpp:103
const GLenum textureFormats[]
GLint GLsizei GLsizei height
Definition: gl2ext.h:179
static void getCompressedTextureFormats(GLint **textureFormats, int *numberOfTextureFormats)
Uses glGetIntegerv to get the number of compressed texture formats and the formats themselves...
Definition: Texture.cpp:38
static void deleteTextureData(GLvoid **textureData)
Deletes previously created texture.
Definition: Texture.cpp:162
GLsizei GLsizei GLchar * source
Definition: gl2ext.h:877
static void reversePixelLine(float *destination, const float *source, int lineWidth)
Copies float pixel data of one line of the image from source to destination in the reverse direction...
Definition: Texture.cpp:318
unsigned char * textureData
Definition: ThreadSync.cpp:109
static void loadData(const char *filename, unsigned char **textureData)
Load texture data from a file into memory.
Definition: Texture.cpp:167
GLint GLsizei width
Definition: gl2ext.h:179
static bool isETCSupported(bool verbose=false)
Reports whether or not ETC (Ericsson Texture Compression) is supported.
Definition: Texture.cpp:46