![]() |
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 Más...
#include <moTexture.h>
Métodos públicos | |
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? Más... | |
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 () |
![]() | |
moAbstract () | |
virtual | ~moAbstract () |
virtual MOboolean | Init () |
Inicializa el objeto. Más... | |
MOboolean | Initialized () |
Pregunta si está inicializado. Más... | |
Métodos públicos estáticos | |
static MOuint | NextPowerOf2 (MOuint p_seed) |
Métodos protegidos | |
void | SetParam () |
void | CalculateSize (MOuint p_width, MOuint p_height) |
MOboolean | Build () |
bool | ResetBufferData (bool force_creation=false, int bytes_per_pixel=0) |
Otros miembros heredados | |
![]() | |
MOboolean | m_bInitialized |
Valor de inicialización. Más... | |
![]() | |
static moDebug * | MODebug2 = new moDebug() |
Clase de impresión de errores para depuración. Más... | |
static moTextHeap * | MODebug = new moTextHeap() |
Lista de textos. Más... | |
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.
Definición en la línea 78 del archivo moTexture.h.
moTexture::moTexture | ( | ) |
Constructor por defecto.
|
virtual |
Destructor por defecto.
Definición en la línea 80 del archivo moTexture.cpp.
|
protected |
Definición en la línea 765 del archivo 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. |
Definición en la línea 113 del archivo 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. |
Definición en la línea 136 del archivo 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. |
Definición en la línea 142 del archivo 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
Definición en la línea 468 del archivo moTexture.cpp.
Definición en la línea 671 del archivo 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. |
Definición en la línea 617 del archivo 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..."
Definición en la línea 856 del archivo moTexture.cpp.
|
virtual |
Destruye la textura openGL.
Reimplementado de moAbstract.
Reimplementado en moMovie, moTextureMultiple, moTextureAnimated, moTextureMemory, moCircularVideoBuffer y moVideoBuffer.
Definición en la línea 101 del archivo 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. |
Definición en la línea 595 del archivo 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
Definición en la línea 426 del archivo moTexture.cpp.
|
inline |
Devuelve el número de componentes por píxel.
Definición en la línea 280 del archivo moTexture.h.
|
inline |
Definición en la línea 382 del archivo 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.
Definición en la línea 583 del archivo 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).
Definición en la línea 290 del archivo 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.
Definición en la línea 577 del archivo moTexture.cpp.
|
inline |
Devuelve el FBO actualmente asociado a la textura.
Definición en la línea 208 del archivo moTexture.h.
|
inline |
Devuelve el punto de attachement de la textura.
Definición en la línea 213 del archivo moTexture.h.
|
inline |
Devuelve el identificador OpenGL de la textura.
Definición en la línea 224 del archivo 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 |
Definición en la línea 590 del archivo moTexture.cpp.
|
inline |
Devuelve el alto de la textura.
Definición en la línea 261 del archivo moTexture.h.
|
inline |
Definición en la línea 381 del archivo moTexture.h.
|
inline |
Devuelve el método utilizado en el filtro de magnificación (GL_NEAREST o GL_LINEAR).
Definición en la línea 329 del archivo moTexture.h.
|
inline |
Devuelve el valor máximo de la coordenada S de textura.
Definición en la línea 296 del archivo moTexture.h.
|
inline |
Devuelve el valor máximo de la coordenada T de textura.
Definición en la línea 301 del archivo 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.).
Definición en la línea 324 del archivo moTexture.h.
|
inline |
Devuelve el identificador Moldeo de la textura.
Definición en la línea 235 del archivo moTexture.h.
|
inline |
Devuelve el nombre de la textura.
Definición en la línea 245 del archivo moTexture.h.
|
inline |
Devuelve el número total de téxels (alto x ancho x número de componentes).
Definición en la línea 285 del archivo 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.).
Definición en la línea 318 del archivo moTexture.h.
|
inline |
Devuelve los parámetros de la textura.
Definición en la línea 307 del archivo moTexture.h.
|
inline |
Devuelve el tárget OpenGL de la textura (GL_TEXTURE_2D, GL_TEXTURE_RECT, etc.).
Definición en la línea 312 del archivo moTexture.h.
|
inline |
Devuelve el tipo de píxel de la textura.
Definición en la línea 219 del archivo moTexture.h.
|
inline |
Devuelve el ancho de la textura.
Definición en la línea 256 del archivo moTexture.h.
|
inline |
Devuelve el método de envolvimiento utilizado en la coordenada S de textura (GL_CLAMP, GL_REPEAT).
Definición en la línea 334 del archivo moTexture.h.
|
inline |
Devuelve el método de envolvimiento utilizado en la coordenada T de textura (GL_CLAMP, GL_REPEAT).
Definición en la línea 339 del archivo 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. |
Reimplementado en moMovie, moTextureMultiple, moTextureAnimated y moTextureMemory.
Definición en la línea 85 del archivo moTexture.cpp.
|
inline |
Devuelve verdadero si esta textura fue cargada desde un archivo
Definición en la línea 363 del archivo 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. |
Definición en la línea 375 del archivo moTexture.cpp.
Definición en la línea 640 del archivo moTexture.cpp.
MOboolean moTexture::Refresh | ( | ) |
Definición en la línea 840 del archivo 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...
Definición en la línea 721 del archivo 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.). |
Definición en la línea 388 del archivo 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.). |
Definición en la línea 393 del archivo moTexture.cpp.
|
inline |
Utiliza p_dataman como nuevo administrador de datos de la textura.
p_dataman | puntero al administrador de datos. |
Definición en la línea 180 del archivo moTexture.h.
|
inline |
Utiliza p_fbo como nuevo objeto de Framebuffer para la textura.
p_fbo | puntero al FBO. |
Definición en la línea 191 del archivo 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. |
Definición en la línea 568 del archivo 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.). |
Definición en la línea 203 del archivo moTexture.h.
|
inline |
Utiliza p_fileman como nuevo administrador de archivos de la textura.
p_fileman | puntero al administrador de archivos. |
Definición en la línea 185 del archivo moTexture.h.
|
inline |
Utiliza p_gl como nuevo administrador de OpenGL de la textura.
p_gl | puntero al administrador de OpenGL. |
Definición en la línea 175 del archivo moTexture.h.
|
inline |
Utiliza p_moid como nuevo Moldeo ID de la textura.
p_moid | nuevo Moldeo ID. |
Definición en la línea 240 del archivo moTexture.h.
|
inline |
Utiliza p_name como nuevo nombre de la textura.
p_name | nuevo nombre de la textura. |
Definición en la línea 250 del archivo moTexture.h.
|
protected |
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.
Definición en la línea 351 del archivo moTexture.cpp.
|
protected |
Definición en la línea 417 del archivo moTexture.h.
|
protected |
Definición en la línea 419 del archivo moTexture.h.
|
protected |
Definición en la línea 416 del archivo moTexture.h.
|
protected |
Definición en la línea 388 del archivo moTexture.h.
|
protected |
Definición en la línea 423 del archivo moTexture.h.
|
protected |
Definición en la línea 422 del archivo moTexture.h.
|
protected |
Definición en la línea 421 del archivo moTexture.h.
|
protected |
Definición en la línea 407 del archivo moTexture.h.
|
protected |
Definición en la línea 408 del archivo moTexture.h.
|
protected |
Definición en la línea 396 del archivo moTexture.h.
|
protected |
Definición en la línea 397 del archivo moTexture.h.
|
protected |
Definición en la línea 393 del archivo moTexture.h.
|
protected |
Definición en la línea 401 del archivo moTexture.h.
|
protected |
Definición en la línea 406 del archivo moTexture.h.
|
protected |
Definición en la línea 409 del archivo moTexture.h.
|
protected |
Definición en la línea 410 del archivo moTexture.h.
|
protected |
Definición en la línea 400 del archivo moTexture.h.
|
protected |
Definición en la línea 402 del archivo moTexture.h.
|
protected |
Definición en la línea 404 del archivo moTexture.h.
|
protected |
Definición en la línea 420 del archivo moTexture.h.
|
protected |
Definición en la línea 391 del archivo moTexture.h.
|
protected |
Definición en la línea 390 del archivo moTexture.h.
|
protected |
Definición en la línea 392 del archivo moTexture.h.
|
protected |
Definición en la línea 394 del archivo moTexture.h.
|
protected |
Definición en la línea 399 del archivo moTexture.h.
|
protected |
Definición en la línea 405 del archivo moTexture.h.