#include <img_rgb.h>
Diagrama de herencias de IMAGEN_RGB
Métodos públicos | |
IMAGEN_RGB () | |
virtual | ~IMAGEN_RGB () |
void | pintar_gl (void) |
void | activar_gl (void) |
OJO: Debe mejorarse para implementaciones OpenGL 1.0: si no hay glBind, debe crearse y usarse una lista OpenGL... | |
BOOLEAN | importar_gl (int x, int y, int xtam, int ytam) |
Se crea a partir de la imagen generada por OpenGL en el contexto OpenGL actual. | |
BOOLEAN | init (int width, int height) |
OJO: Si antes tenia algo y ahora no logra armar una nueva imagen, es destructiva y queda limpia. | |
void | elim (void) |
BOOLEAN | importar_ppm (FILE *fd) |
Se crea a partir de los datos en un archivo binario en formato "PPM raw". | |
BOOLEAN | importar_sgirgb (FILE *fd) |
BOOLEAN | importar_pcx (FILE *fd) |
BOOLEAN | importar_jpeg (FILE *fd) |
BOOLEAN | exportar_jpeg (FILE *fd, int calidad_jpeg) |
BOOLEAN | importar_png (FILE *fd) |
void | exportar_ppm (FILE *fd) |
void | anx_BYTE (BYTE b) |
void | putpixel (int x, int y, BYTE r, BYTE g, BYTE b) |
void | getpixel (int x, int y, BYTE &r, BYTE &g, BYTE &b) |
void | linea (int x0, int y0, int x1, int y1, BYTE r, BYTE g, BYTE b) |
void | activar_como_contexto_gl (void) |
void | desactivar_como_contexto_gl (void) |
BOOLEAN | combinar_stereo (IMAGEN_RGB *Izq, IMAGEN_RGB *Der, int modo) |
Recibe dos imagenes, correspondientes a un par stereo de una escena 3D, y genera una nueva imagen que constituye una combinacion del par stereo. | |
Pixmap | exportar_pixmap (Display *_display, Screen *_screen, Window _window) |
XImage * | exportar_ximage (Display *Mi_display) |
Cuando se ejecuta una version XWindow (i.e. | |
void | copiar_ximage (Display *Mi_display, XImage *imagen) |
Copiado de los datos de imagen al arreglo de pixels de una estructura XImage. | |
void | importar_win32dc (HDC dc, int xpos, int ypos, int ancho, int alto) |
void | exportar_win32dc (HDC dc, int xpos, int ypos) |
void | exportar_palm (int xpos, int ypos) |
void | tmp_degradecito (int tipo) |
Metodo usado para generar imagenes de prueba. | |
void | aplicar_correccion_gamma (BYTE funcion_gamma[256]) |
IMAGEN * | copie (void) |
IMAGEN_PAL * | exportar_a_grises (PALETA *Pal) |
Crea una nueva imagen, con las mismas dimensiones de la original pero en modo paleta y con grises. | |
Métodos privados | |
XImage * | crear_imagenX_depth8 (Display *Mi_display) |
Version de RGB 24 bits a Visual 8 bits Metodo privado! | |
XImage * | crear_imagenX_depth16 (Display *Mi_display) |
Version de RGB 24 bits a Visual 16 bits Metodo privado! | |
XImage * | crear_imagenX_depth24 (Display *Mi_display) |
Version de RGB 24 bits a Visual 24 bits Metodo privado! | |
void | copiar_imagenX_depth8 (Display *Mi_display, XImage *imagen) |
Copiado de los datos de imagen al arreglo de pixels. | |
void | copiar_imagenX_depth16 (Display *Mi_display, XImage *imagen) |
Copiado de los datos de imagen al arreglo de pixels. | |
void | copiar_imagenX_depth24 (Display *Mi_display, XImage *imagen) |
Copiado de los datos de imagen `*this` al arreglo de pixels dentro de la estructura XImage de X11. | |
Atributos privados | |
PIXEL_RGB * | Data |
PIXEL_RGB ** | Data |
int | _anx_x |
int | _anx_y |
BYTE | _anx_r |
BYTE | _anx_g |
BYTE | _anx_b |
BYTE | _anx_c |
OSMesaContext | _contexto_osmesa |
|
Definición en la línea 67 del archivo img_rgb.C. References _anx_b, _anx_c, _anx_g, _anx_r, _anx_x, _anx_y, IMAGEN::con_lista, Data, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por copie(). |
|
|
Here is the call graph for this function:
|
Definición en la línea 314 del archivo img_rgb.C. References _contexto_osmesa, Data, IMAGEN::x_tam, y IMAGEN::y_tam. |
|
OJO: Debe mejorarse para implementaciones OpenGL 1.0: si no hay glBind, debe crearse y usarse una lista OpenGL... Pero debe haber algo como char *version = (char *) glGetString(GL_VERSION); if (glutExtensionSupported("GL_EXT_texture_object") || strncmp(version, "1.1", 3) == 0) { HaveTexObj = GL_TRUE; } o que tal esto? #if defined(GL_VERSION_1_1) #define TEXTURE_OBJECT 1 #elif defined(GL_EXT_texture_object) #define TEXTURE_OBJECT 1 #define glBindTexture(A,B) glBindTextureEXT(A,B) #define glGenTextures(A,B) glGenTexturesEXT(A,B) #define glDeleteTextures(A,B) glDeleteTexturesEXT(A,B) #ifndef GL_REPLACE #define GL_REPLACE GL_REPLACE_EXT #endif #else #define glBindTexture(A,B) #define glGenTextures(A,B) #define glDeleteTextures(A,B) #endif Implements IMAGEN. Definición en la línea 246 del archivo img_rgb.C. References IMAGEN::con_lista, Data, IMAGEN::lista_gl, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por CUADRICULA::pintar_nucleo_gl(). |
|
Definición en la línea 124 del archivo img_rgb.h. References _anx_b, _anx_c, _anx_g, _anx_r, _anx_x, _anx_y, putpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Definición en la línea 1384 del archivo img_rgb.C. References PIXEL_RGB::b, PIXEL_RGB::g, getpixel(), PIXEL_RGB::r, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por LECTOR_QUAKE_MD2::leer(). |
Here is the call graph for this function:
|
Recibe dos imagenes, correspondientes a un par stereo de una escena 3D, y genera una nueva imagen que constituye una combinacion del par stereo. 'modo' es uno de los ENUM_MODOS_STEREO. Definición en la línea 168 del archivo img_rgb.C. References BYTE, getpixel(), init(), putpixel(), STEREO_INTERLACED, IMAGEN::xtam(), y IMAGEN::ytam(). Referenciado por VISOR_GEOMETRIA::pintar_gl(). |
Here is the call graph for this function:
|
Copiado de los datos de imagen al arreglo de pixels. Metodo privado! Definición en la línea 1074 del archivo img_rgb.C. References BYTE, Data, highbit(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por copiar_ximage(), y crear_imagenX_depth16(). |
Here is the call graph for this function:
|
Copiado de los datos de imagen `*this` al arreglo de pixels dentro de la estructura XImage de X11. Metodo privado! OJO: Este código debe revisarse en detalle para tener en cuenta el formato de la estructura XImage que requiere X11. Desde el principio de AQUYNZA (i.e. o desde NUKAK!) se había copiado un ejemplo que hacia uso del concepto de "corrimiento" y usaba una función "highbit", pero parecia no estar funcionando. Por eso se re-elaboró , pero la nueva versión no ha sido probada exhaustivamente en varias combinaciones de servidores X con diversas configuraciones. Esta funcion todavía puede estar fallando. Definición en la línea 1109 del archivo img_rgb.C. References PIXEL_RGB::b, Data, PIXEL_RGB::g, PIXEL_RGB::r, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por copiar_ximage(), y crear_imagenX_depth24(). |
|
Copiado de los datos de imagen al arreglo de pixels. Método privado! OJO: Inicialmente se tenía un algoritmo de busqueda exhaustiva de colores por cercanía a los de una paleta que era muy ineficiente. Actualmente ese algoritmo básico se mejoró aplicando una técnica de programación dinámica, que desmejora la presición de representacion de color (al usar un subcubo del espacio RGB de solo 64^3 elementos), pero da resultados de calidad similiar en 1/20 del tiempo del algoritmo original. Sin embargo, el esquema actual puede mejorarse por un algoritmo de coloreado por combinación (dithering) de error por difusión o alguna técnica que de mejores resultados visuales. En el módulo app/convert.c de gimp (1.2.5) se tienen algoritmos de ese estilo que toman en cuenta una paleta determinada. Queda pendiente estudiar cómo tomar ventaja de algo así. Definición en la línea 1000 del archivo img_rgb.C. References PIXEL_RGB::b, BYTE, Data, PIXEL_RGB::g, PALETA::importe_x(), PIXEL_RGB::r, PALETA::tabla, PALETA::tam_tabla, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por copiar_ximage(), y crear_imagenX_depth8(). |
Here is the call graph for this function:
|
Copiado de los datos de imagen al arreglo de pixels de una estructura XImage. Use este metodo solo en aplicaciones que usen el "XWindow System". Definición en la línea 969 del archivo img_rgb.C. References copiar_imagenX_depth16(), copiar_imagenX_depth24(), y copiar_imagenX_depth8(). Referenciado por pintar_logo_motif(). |
Here is the call graph for this function:
|
Reimplementado de IMAGEN. Definición en la línea 429 del archivo img_rgb.C. References BYTE, getpixel(), IMAGEN_RGB(), init(), putpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Version de RGB 24 bits a Visual 16 bits Metodo privado!
Definición en la línea 1233 del archivo img_rgb.C. References copiar_imagenX_depth16(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por exportar_ximage(). |
Here is the call graph for this function:
|
Version de RGB 24 bits a Visual 24 bits Metodo privado!
Definición en la línea 1257 del archivo img_rgb.C. References copiar_imagenX_depth24(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por exportar_ximage(). |
Here is the call graph for this function:
|
Version de RGB 24 bits a Visual 8 bits Metodo privado! OJO: Esto debe mejorarse: Se propone crear una imagen con coloreado por combinacion (dithering), usando un algoritmo de difusion de error sobre los colores de la paleta global de la aplicacion. Definición en la línea 1205 del archivo img_rgb.C. References copiar_imagenX_depth8(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por exportar_ximage(). |
Here is the call graph for this function:
|
Definición en la línea 329 del archivo img_rgb.C. References _contexto_osmesa. |
|
Implements IMAGEN. Definición en la línea 146 del archivo img_rgb.C. References Data, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por importar_pcx(), importar_png(), init(), y ~IMAGEN_RGB(). |
|
Crea una nueva imagen, con las mismas dimensiones de la original pero en modo paleta y con grises. Pal no se usa, solo esta aqui por compatibilidad con las versiones de este metodo en las clases hermanas. Aqui puede usarse NULL. Retorna la imagen, o NULL si algo sale mal. Se asume que la imagen resultante se usara con una paleta uniforme de 256 tonos de gris que van desde negro (en su posicion 0) hasta el blanco (en su posicion 255). OJO: ESTA RUTINA DEBE GENERALIZARSE PARA CALCULAR EL UMBRAL DE MANERAS DISTINTAS Implements IMAGEN. Definición en la línea 382 del archivo img_rgb.C. References BYTE, getpixel(), IMAGEN_PAL::init(), IMAGEN::nivel_de_gris(), IMAGEN_PAL::putcolorindex(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Definición en la línea 913 del archivo img_rgb.C. References BYTE, Data, IMAGEN_exportar_jpeg(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Definición en la línea 1367 del archivo img_rgb.C. References BYTE, getpixel(), PALM_putpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Definición en la línea 1291 del archivo img_rgb.C. References exportar_ximage(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por GUI_SUB_BOTONERA::crear_motif(), JED_MOTIF_INTERFACE::init_extra(), y LOGO::LOGO(). |
Here is the call graph for this function:
|
Definición en la línea 936 del archivo img_rgb.C. References Data, IMAGEN::x_tam, y IMAGEN::y_tam. |
|
Definición en la línea 1349 del archivo img_rgb.C. References BYTE, getpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Cuando se ejecuta una version XWindow (i.e. Motif, entornos Unix), este metodo crea una estructura de imagen con su correspondiente arreglo de Pixels. El arreglo de datos de esta imagen se copia al arreglo de pixels de la imagen X, con el debido mapeo de valores, que es dependiente del hardware grafico y de detalles como la "profundidad" (i.e. los bits por pixel usados). Definición en la línea 1165 del archivo img_rgb.C. References crear_imagenX_depth16(), crear_imagenX_depth24(), y crear_imagenX_depth8(). Referenciado por exportar_pixmap(), y pintar_logo_motif(). |
Here is the call graph for this function:
|
Definición en la línea 172 del archivo img_rgb.h. References Data, PIXEL_RGB::r, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por aplicar_correccion_gamma(), combinar_stereo(), copie(), exportar_a_grises(), exportar_palm(), exportar_win32dc(), CUADRICULA::extraer_sub_imagen(), y IMAGEN_RGBA::generar_con_stencil(). |
|
Se crea a partir de la imagen generada por OpenGL en el contexto OpenGL actual.
Definición en la línea 337 del archivo img_rgb.C. References Data, init(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por VISOR_GEOMETRIA::pintar_gl(). |
Here is the call graph for this function:
|
Definición en la línea 834 del archivo img_rgb.C. References BYTE, Data, IMAGEN_importar_jpeg(), putpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por TROZO_GL::init(). |
Here is the call graph for this function:
|
Definición en la línea 594 del archivo img_rgb.C. References BYTE, Data, elim(), putpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por LECTOR_QUAKE_MD2::leer(). |
Here is the call graph for this function:
|
Definición en la línea 687 del archivo img_rgb.C. References BYTE, Data, elim(), init(), y putpixel(). |
Here is the call graph for this function:
|
Se crea a partir de los datos en un archivo binario en formato "PPM raw". PRE: fd esta apuntando al inicio de datos (encabezado) de un archivo con informacion en formato PPM. Definición en la línea 464 del archivo img_rgb.C. References PIXEL_RGB::b, BYTE, Data, PIXEL_RGB::g, init(), PIXEL_RGB::r, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por cargar_imagen(), GUI_SUB_BOTONERA::crear_motif(), JED_MOTIF_INTERFACE::init_extra(), y LOGO::LOGO(). |
Here is the call graph for this function:
|
Definición en la línea 557 del archivo img_rgb.C. References BYTE, Data, LECTOR_SGIRGB::elim(), init(), LECTOR_SGIRGB::init(), LECTOR_SGIRGB::leer(), LECTOR_SGIRGB::sizeZ, LECTOR_SGIRGB::x_tam, y LECTOR_SGIRGB::y_tam. |
Here is the call graph for this function:
|
Definición en la línea 1327 del archivo img_rgb.C. References BYTE, init(), putpixel(), IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
OJO: Si antes tenia algo y ahora no logra armar una nueva imagen, es destructiva y queda limpia. Esto no facilita operaciones de Undo. Retorna TRUE si todo sale bien y FALSE si algo falla. Implements IMAGEN. Definición en la línea 95 del archivo img_rgb.C. References _anx_b, _anx_c, _anx_g, _anx_r, _anx_x, _anx_y, Data, elim(), IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por combinar_stereo(), CUADRICULA::copiar_textura(), copie(), importar_gl(), importar_png(), importar_ppm(), importar_sgirgb(), y importar_win32dc(). |
Here is the call graph for this function:
|
Definición en la línea 1460 del archivo img_rgb.C. References putpixel(), IMAGEN::xtam(), y IMAGEN::ytam(). |
Here is the call graph for this function:
|
Implements IMAGEN. Definición en la línea 228 del archivo img_rgb.C. References Data, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por VISOR_GEOMETRIA::pintar_gl(). |
|
Definición en la línea 155 del archivo img_rgb.h. References PIXEL_RGB::b, Data, PIXEL_RGB::g, PIXEL_RGB::r, IMAGEN::x_tam, y IMAGEN::y_tam. Referenciado por anx_BYTE(), combinar_stereo(), copie(), RAYTRACER_CRIOLLO::ejecutar(), GLOBAL_DEM::exportar_imagen(), CUADRICULA::extraer_sub_imagen(), importar_jpeg(), importar_pcx(), importar_png(), importar_win32dc(), linea(), y tmp_degradecito(). |
|
Metodo usado para generar imagenes de prueba.
Definición en la línea 1404 del archivo img_rgb.C. References PIXEL_RGB::b, BYTE, PIXEL_RGB::g, putpixel(), PIXEL_RGB::r, IMAGEN::x_tam, y IMAGEN::y_tam. |
Here is the call graph for this function:
|
Definición en la línea 47 del archivo img_rgb.h. Referenciado por anx_BYTE(), IMAGEN_RGB(), y init(). |
|
Definición en la línea 48 del archivo img_rgb.h. Referenciado por anx_BYTE(), IMAGEN_RGB(), y init(). |
|
Definición en la línea 46 del archivo img_rgb.h. Referenciado por anx_BYTE(), IMAGEN_RGB(), y init(). |
|
Definición en la línea 45 del archivo img_rgb.h. Referenciado por anx_BYTE(), IMAGEN_RGB(), y init(). |
|
Definición en la línea 43 del archivo img_rgb.h. Referenciado por anx_BYTE(), IMAGEN_RGB(), y init(). |
|
Definición en la línea 44 del archivo img_rgb.h. Referenciado por anx_BYTE(), IMAGEN_RGB(), y init(). |
|
Definición en la línea 51 del archivo img_rgb.h. Referenciado por activar_como_contexto_gl(), y desactivar_como_contexto_gl(). |
|
|
|
Definición en la línea 35 del archivo img_rgb.h. Referenciado por activar_como_contexto_gl(), activar_gl(), copiar_imagenX_depth16(), copiar_imagenX_depth24(), copiar_imagenX_depth8(), elim(), exportar_jpeg(), exportar_ppm(), getpixel(), IMAGEN_RGB(), importar_gl(), importar_jpeg(), importar_pcx(), importar_png(), importar_ppm(), importar_sgirgb(), init(), pintar_gl(), putpixel(), y ~IMAGEN_RGB(). |