![]() |
libmoldeo (Moldeo 1.0 Core)
1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
|
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 () |
Métodos públicos heredados desde moAbstract | |
| 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 | |
Atributos públicos heredados desde moAbstract | |
| MOboolean | m_bInitialized |
| Valor de inicialización. Más... | |
Atributos públicos estáticos heredados desde moAbstract | |
| 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.