libmoldeo (Moldeo 1.0 Core)
1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
|
clase base para el manejo de una textura More...
#include <moTexture.h>
Public Member Functions | |
moTexture () | |
virtual | ~moTexture () |
virtual MOboolean | Init (moText p_name, MOuint p_moid, moResourceManager *p_res, moTexParam p_param=MODefTex2DParams) |
virtual MOboolean | Finish () |
MOboolean | BuildEmpty (MOuint p_width, MOuint p_height) |
MOboolean | BuildFromBuffer (MOuint p_width, MOuint p_height, const GLvoid *p_buffer, GLenum p_format=GL_RGBA, GLenum p_type=GL_UNSIGNED_BYTE) |
MOboolean | BuildFromFile (moText p_filename) |
MOboolean | SupportedFile (moText p_filename) |
MOboolean | Load (moParam *p_param) |
MOboolean | Load (moValue *p_value) |
MOboolean | SetBuffer (const GLvoid *p_buffer, GLenum p_format=GL_RGBA, GLenum p_type=GL_UNSIGNED_BYTE) |
MOboolean | SetBuffer (MOuint p_width, MOuint p_height, const GLvoid *p_buffer, GLenum p_format=GL_RGBA, GLenum p_type=GL_UNSIGNED_BYTE) |
MOboolean | GetBuffer (GLvoid *p_buffer, GLenum p_format=GL_RGBA, GLenum p_type=GL_UNSIGNED_BYTE) |
void | SetGLMan (moGLManager *p_gl) |
void | SetDataMan (moDataManager *p_dataman) |
void | SetFileMan (moFileManager *p_fileman) |
void | SetFBO (moFBO *p_fbo) |
MOuint | SetFBOandAttachPoint (moFBO *p_fbo) |
void | SetFBOAttachPoint (MOuint p_fbo_attach_point) |
moFBO * | GetFBO () const |
MOuint | GetFBOAttachPoint () const |
moTextureType | GetType () const |
MOuint | GetGLId () const |
MOuint | GetGLId (moMoldeoObject *p_src_mob) |
TODO: check this! obsolete? More... | |
MOuint | GetMOId () const |
void | SetMOId (MOuint p_moid) |
moText | GetName () const |
void | SetName (moText p_name) |
MOuint | GetWidth () const |
MOuint | GetHeight () const |
MOuint | GetDataWidth () const |
MOuint | GetDataHeight () const |
MOuint | GetComponents () const |
MOlong | GetTexelCount () const |
MOlong | GetDataTexelCount () const |
MOfloat | GetMaxCoordS () const |
MOfloat | GetMaxCoordT () const |
moTexParam | GetTexParam () const |
GLenum | GetTexTarget () const |
GLenum | GetTexInternalFormat () const |
GLint | GetMinFilter () const |
GLint | GetMagFilter () const |
GLint | GetWrapS () const |
GLint | GetWrapT () const |
void | FlipBufferVert (MOubyte *pBuffer, MOint p_depth) |
void | CopyFromTex (moTexture *p_src_tex, MOboolean p_copy_glid, MOboolean p_copy_moid, MOboolean p_copy_type, MOboolean p_copy_name) |
moTexture & | operator= (const moTexture &p_src_tex) |
MOboolean | IsBuildedFromFile () const |
moText | CreateThumbnail (moText p_bufferformat, int w, int h, moText newfilename=moText("")) |
bool | CalculateLuminanceAndConstrast (int x0=0, int y0=0, int x1=0, int y1=0) |
int | GetLuminance () const |
int | GetContrast () const |
MOboolean | Refresh () |
Public Member Functions inherited from moAbstract | |
moAbstract () | |
virtual | ~moAbstract () |
virtual MOboolean | Init () |
Inicializa el objeto. More... | |
MOboolean | Initialized () |
Pregunta si está inicializado. More... | |
Static Public Member Functions | |
static MOuint | NextPowerOf2 (MOuint p_seed) |
Protected Member Functions | |
void | SetParam () |
void | CalculateSize (MOuint p_width, MOuint p_height) |
MOboolean | Build () |
bool | ResetBufferData (bool force_creation=false, int bytes_per_pixel=0) |
Additional Inherited Members | |
Public Attributes inherited from moAbstract | |
MOboolean | m_bInitialized |
Valor de inicialización More... | |
Static Public Attributes inherited from moAbstract | |
static moDebug * | MODebug2 = new moDebug() |
Clase de impresión de errores para depuración More... | |
static moTextHeap * | MODebug = new moTextHeap() |
Lista de textos. More... | |
clase base para el manejo de una textura
Clase que encapsula una textura openGL y provee funcionalidades básicas tales como copiar contenidos desde o hacia búfer, leer desde un archivo, manejar el FBO al cual pueda estar asociada la textura, etc.
Definition at line 78 of file moTexture.h.
moTexture::moTexture | ( | ) |
Constructor por defecto.
|
virtual |
Destructor por defecto.
Definition at line 80 of file moTexture.cpp.
|
protected |
Definition at line 748 of file moTexture.cpp.
Construye una textura vacía con el ancho y alto especificados.
p_width | ancho de la textura. |
p_heigh | alto de la textura. |
Definition at line 113 of file moTexture.cpp.
MOboolean moTexture::BuildFromBuffer | ( | MOuint | p_width, |
MOuint | p_height, | ||
const GLvoid * | p_buffer, | ||
GLenum | p_format = GL_RGBA , |
||
GLenum | p_type = GL_UNSIGNED_BYTE |
||
) |
Construye una textura con el ancho, alto, formato y tipo especificados, copiando en la misma el contenido apuntado por p_buffer.
p_width | ancho de la textura. |
p_heigh | alto de la textura. |
p_buffer | buffer utilizado para inicializar el contenido de la textura. |
p_format | formato de la textura, por ejemplo: GL_RGBA o GL_RGB. |
p_type | tipo de la textura, por ejemplo: GL_UNSIGNED_BYTE o GL_FLOAT. |
Definition at line 136 of file moTexture.cpp.
Construye una textura a partir de la imágen contenida en p_filename.
p_filename | nombre del archivo que contiene la imágen a cargar en la textura. |
Definition at line 142 of file moTexture.cpp.
bool moTexture::CalculateLuminanceAndConstrast | ( | int | x0 = 0 , |
int | y0 = 0 , |
||
int | x1 = 0 , |
||
int | y1 = 0 |
||
) |
calculate luminance
Calculating contrast difference or luminance variance
Definition at line 451 of file moTexture.cpp.
Definition at line 654 of file moTexture.cpp.
void moTexture::CopyFromTex | ( | moTexture * | p_src_tex, |
MOboolean | p_copy_glid, | ||
MOboolean | p_copy_moid, | ||
MOboolean | p_copy_type, | ||
MOboolean | p_copy_name | ||
) |
Copia a esta textura la que esta siendo apuntada por p_src_tex.
p_src_tex | puntero al objeto de textura desde el cual se está realizando la copia. |
p_copy_glid | si es true entonces el OpenGL ID es copiado. |
p_copy_moid | si es true entonces el Moldeo ID es copiado. |
p_copy_type | si es true entonces el tipo de textura es copiado. |
p_copy_name | si es true entonces el nombre de la textura es copiado. |
Definition at line 600 of file moTexture.cpp.
moText moTexture::CreateThumbnail | ( | moText | p_bufferformat, |
int | w, | ||
int | h, | ||
moText | newfilename = moText("") |
||
) |
Salva al disco la textura especificando el nuevo tamaño y el formato El nombre del archivo es opcional, se toma en general el nombre de la textura y se le agrega: .thm.jpg o .thm.tga
p_bufferformat | el formato: "JPG" (75:1), "JPGSUPERB" (100:1), "JPGBAD" (10:1), "JPGNORMAL" (50:1), "JPGAVERAGE" (25:1), "JPGGOOD" (75:1), "TGA" |
w | ancho de la nueva imagen |
h | alto de la nueva imagen |
newfilename | el nombre del archivo, si no especifica se usa: GetName() y se le agrega: .thm.jpg o .thm.tga |
return moText(); for(int j=0;j<(int)1;j++) {
for(int i=0;i<(int)1;i++) { MODebug2->Message( "R:" + IntToStr( (int)m_pBufferData[pitch*j + i*3+2])
TODO: release when we really no render anymore..."
Definition at line 829 of file moTexture.cpp.
|
virtual |
Destruye la textura openGL.
Reimplemented from moAbstract.
Reimplemented in moMovie, moTextureMultiple, moTextureAnimated, moTextureMemory, moCircularVideoBuffer, and moVideoBuffer.
Definition at line 101 of file moTexture.cpp.
Invierte verticalmente el búfer de imágen apuntado por pBuffer.
pBuffer | puntero al búffer que contiene la imágen a invertir. |
p_depth | número de componentes de color por píxel. |
Definition at line 578 of file moTexture.cpp.
MOboolean moTexture::GetBuffer | ( | GLvoid * | p_buffer, |
GLenum | p_format = GL_RGBA , |
||
GLenum | p_type = GL_UNSIGNED_BYTE |
||
) |
Copia el contenido actual de la textura al búfer pasado como parametro.
p_buffer | puntero al búfer en memoria donde será copiada la textura. |
p_format | especifica el formato de píxel de los datos copiados al búfer (GL_RGBA, GL_RGB, etc.). |
p_type | especifica el tipo de píxel de los datos copiados al búfer (GL_UNSIGNED_BYTE, GL_FLOAT, etc.). |
Atamos la textura (propia) retenida por this->m_glid
Copiamos los bytes de la textura al buffer
Definition at line 409 of file moTexture.cpp.
|
inline |
Devuelve el número de componentes por píxel.
Definition at line 280 of file moTexture.h.
|
inline |
Definition at line 382 of file moTexture.h.
MOuint moTexture::GetDataHeight | ( | ) | const |
Si la textura es rectangular, devuelve el mismo valor que GetHeight. En caso contrario, devuelve la altura origial escalada por el rango máximo de la coordenada T de texturas.
Definition at line 566 of file moTexture.cpp.
|
inline |
Devuelve el número total de téxels de datos (alto de datos x ancho de datos x número de componentes).
Definition at line 290 of file moTexture.h.
MOuint moTexture::GetDataWidth | ( | ) | const |
Si la textura es rectangular, devuelve el mismo valor que GetWidth. En caso contrario, devuelve el ancho origial escalado por el rango máximo de la coordenada S de texturas.
Definition at line 560 of file moTexture.cpp.
|
inline |
Devuelve el FBO actualmente asociado a la textura.
Definition at line 208 of file moTexture.h.
|
inline |
Devuelve el punto de attachement de la textura.
Definition at line 213 of file moTexture.h.
|
inline |
Devuelve el identificador OpenGL de la textura.
Definition at line 224 of file moTexture.h.
MOuint moTexture::GetGLId | ( | moMoldeoObject * | p_src_mob | ) |
TODO: check this! obsolete?
Devuelve el identificador OpenGL de la textura.
p_src_mob | puntero a un moMoldeoObject para evaluar sus parámetros |
Definition at line 573 of file moTexture.cpp.
|
inline |
Devuelve el alto de la textura.
Definition at line 261 of file moTexture.h.
|
inline |
Definition at line 381 of file moTexture.h.
|
inline |
Devuelve el método utilizado en el filtro de magnificación (GL_NEAREST o GL_LINEAR).
Definition at line 329 of file moTexture.h.
|
inline |
Devuelve el valor máximo de la coordenada S de textura.
Definition at line 296 of file moTexture.h.
|
inline |
Devuelve el valor máximo de la coordenada T de textura.
Definition at line 301 of file moTexture.h.
|
inline |
Devuelve el método utilizado en el filtro de minificación (GL_NEAREST, GL_LINEAR, GL_NEAREST, GL_NEAREST_MIPMAP_NEAREST, etc.).
Definition at line 324 of file moTexture.h.
|
inline |
Devuelve el identificador Moldeo de la textura.
Definition at line 235 of file moTexture.h.
|
inline |
Devuelve el nombre de la textura.
Definition at line 245 of file moTexture.h.
|
inline |
Devuelve el número total de téxels (alto x ancho x número de componentes).
Definition at line 285 of file moTexture.h.
|
inline |
Devuelve el formato interno de la textura, es decir, el número de componentes de color de la misma (GL_RGBA, GL_RGB, etc.).
Definition at line 318 of file moTexture.h.
|
inline |
Devuelve los parámetros de la textura.
Definition at line 307 of file moTexture.h.
|
inline |
Devuelve el tárget OpenGL de la textura (GL_TEXTURE_2D, GL_TEXTURE_RECT, etc.).
Definition at line 312 of file moTexture.h.
|
inline |
Devuelve el tipo de píxel de la textura.
Definition at line 219 of file moTexture.h.
|
inline |
Devuelve el ancho de la textura.
Definition at line 256 of file moTexture.h.
|
inline |
Devuelve el método de envolvimiento utilizado en la coordenada S de textura (GL_CLAMP, GL_REPEAT).
Definition at line 334 of file moTexture.h.
|
inline |
Devuelve el método de envolvimiento utilizado en la coordenada T de textura (GL_CLAMP, GL_REPEAT).
Definition at line 339 of file moTexture.h.
|
virtual |
Inicializa propiedades básicas de la textura tales como el nombre, id, administradores y parámetros.
p_name | nombre de la textura. |
p_moid | Moldeo ID de la textura. |
p_res | puntero al administrador de recursos, del cual son extraidos todos los administradores que la textura necesita (GL, Data, File, etc). |
p_param | parámetros de textura. |
Reimplemented in moMovie, moTextureMultiple, moTextureAnimated, and moTextureMemory.
Definition at line 85 of file moTexture.cpp.
|
inline |
Devuelve verdadero si esta textura fue cargada desde un archivo
Definition at line 363 of file moTexture.h.
Construye una textura a partir de la imágen especificada en los parámetros p_param.
p_param | puntero a un objeto de parámetros que contiene el nombre del archivo del cual la textura será leida. |
Definition at line 358 of file moTexture.cpp.
Definition at line 364 of file moTexture.cpp.
Definition at line 741 of file moTexture.cpp.
Definition at line 623 of file moTexture.cpp.
MOboolean moTexture::Refresh | ( | ) |
Definition at line 823 of file moTexture.cpp.
|
protected |
bytes_per_pixel > forcing new buffer with bytes_per_pixel (check CreateThumbnail) force_creation: true if it always create a buffer
free memory
recreate buffer with new size TODO: check for every internal_format...
Definition at line 704 of file moTexture.cpp.
MOboolean moTexture::SetBuffer | ( | const GLvoid * | p_buffer, |
GLenum | p_format = GL_RGBA , |
||
GLenum | p_type = GL_UNSIGNED_BYTE |
||
) |
Copia a la textura el búfer pasado como parametro, asumiendo que el mismo tiene el alto y ancho correcto.
p_buffer | puntero al búfer en memoria que será copiado a la textura. |
p_format | formato de los datos contenidos en el búfer (GL_RGBA, GL_RGB, etc.). |
p_type | tipo de los datos contenidos en el búfer (GL_UNSIGNED_BYTE, GL_FLOAT, etc.). |
Definition at line 371 of file moTexture.cpp.
MOboolean moTexture::SetBuffer | ( | MOuint | p_width, |
MOuint | p_height, | ||
const GLvoid * | p_buffer, | ||
GLenum | p_format = GL_RGBA , |
||
GLenum | p_type = GL_UNSIGNED_BYTE |
||
) |
Copia a la textura el búfer pasado como parametro, y usando los parametros de alto y ancho como las nuevas dimensiones de la textura.
p_width | ancho de los datos contenidos en el búfer. |
p_height | alto de los datos contenidos en el búfer. |
p_buffer | puntero al búfer en memoria que será copiado a la textura. |
p_format | formato de los datos contenidos en el búfer (GL_RGBA, GL_RGB, etc.). |
p_type | tipo de los datos contenidos en el búfer (GL_UNSIGNED_BYTE, GL_FLOAT, etc.). |
Definition at line 376 of file moTexture.cpp.
|
inline |
Utiliza p_dataman como nuevo administrador de datos de la textura.
p_dataman | puntero al administrador de datos. |
Definition at line 180 of file moTexture.h.
|
inline |
Utiliza p_fbo como nuevo objeto de Framebuffer para la textura.
p_fbo | puntero al FBO. |
Definition at line 191 of file moTexture.h.
Utiliza p_fbo como nuevo objeto de Framebuffer para la textura, además de generar un nuevo punto de attachement de la textura en el FBO.
p_fbo | puntero al FBO. |
Definition at line 551 of file moTexture.cpp.
|
inline |
Utiliza p_fbo_attach_point como nuevo punto de attachement para la textura.
p_fbo_attach_point | índice del nuevo punto de attachement (0 para GL_COLOR_ATTACHMENT0_EXT, 1 para GL_COLOR_ATTACHMENT1_EXT, etc.). |
Definition at line 203 of file moTexture.h.
|
inline |
Utiliza p_fileman como nuevo administrador de archivos de la textura.
p_fileman | puntero al administrador de archivos. |
Definition at line 185 of file moTexture.h.
|
inline |
Utiliza p_gl como nuevo administrador de OpenGL de la textura.
p_gl | puntero al administrador de OpenGL. |
Definition at line 175 of file moTexture.h.
|
inline |
Utiliza p_moid como nuevo Moldeo ID de la textura.
p_moid | nuevo Moldeo ID. |
Definition at line 240 of file moTexture.h.
|
inline |
Utiliza p_name como nuevo nombre de la textura.
p_name | nuevo nombre de la textura. |
Definition at line 250 of file moTexture.h.
|
protected |
Definition at line 645 of file moTexture.cpp.
Revisa que el archivo especificado con p_filename sea un archivo de imágen soportado. En estos momentos, los formatos soportados son tga jpg, png, gif, bmp, xpm, y ppm.
Definition at line 345 of file moTexture.cpp.
|
protected |
Definition at line 417 of file moTexture.h.
|
protected |
Definition at line 419 of file moTexture.h.
|
protected |
Definition at line 416 of file moTexture.h.
|
protected |
Definition at line 388 of file moTexture.h.
|
protected |
Definition at line 423 of file moTexture.h.
|
protected |
Definition at line 422 of file moTexture.h.
|
protected |
Definition at line 421 of file moTexture.h.
|
protected |
Definition at line 407 of file moTexture.h.
|
protected |
Definition at line 408 of file moTexture.h.
|
protected |
Definition at line 396 of file moTexture.h.
|
protected |
Definition at line 397 of file moTexture.h.
|
protected |
Definition at line 393 of file moTexture.h.
|
protected |
Definition at line 401 of file moTexture.h.
|
protected |
Definition at line 406 of file moTexture.h.
|
protected |
Definition at line 409 of file moTexture.h.
|
protected |
Definition at line 410 of file moTexture.h.
|
protected |
Definition at line 400 of file moTexture.h.
|
protected |
Definition at line 402 of file moTexture.h.
|
protected |
Definition at line 404 of file moTexture.h.
|
protected |
Definition at line 420 of file moTexture.h.
|
protected |
Definition at line 391 of file moTexture.h.
|
protected |
Definition at line 390 of file moTexture.h.
|
protected |
Definition at line 392 of file moTexture.h.
|
protected |
Definition at line 394 of file moTexture.h.
|
protected |
Definition at line 399 of file moTexture.h.
|
protected |
Definition at line 405 of file moTexture.h.