Gráficos Avanzados. Repaso de Gráficos I

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Gráficos Avanzados. Repaso de Gráficos I"

Transcripción

1 Gráficos Avanzados Repaso de Gráficos I

2 Introducción Veremos los conceptos fundamentales de gráficos con OpenGL aplicado a: Imágenes 2D Sistemas 3D

3 Temas a tratar Términos. Sistemas Gráficos. OpenGL. Pipeline. OpenGL. Librerías de ayuda. OpenGL en el mundo real. Visual C/C++.

4 Términos Bitmap: Imagen representada internamente como mapa de bits. Framebuffer: Zona de memoria donde se guarda el bitmap que representa a la pantalla. Suelen haber entre dos y tres FB por hardware gráfico.

5 Sistemas gráficos Partes de un sistema gráfico: Scan. Proceso de conversión de una fila del bitmap de pantalla a una fila de la pantalla. Raster. Proceso de transformación de primitivas 2D o 3D en un bitmap. Ej: Una línea. Render. Proceso o resultado de preparar una imagen para ser mostrada por pantalla.ej: Dibujar un mapa.

6 Sistemas gráficos Scan

7 Sistemas gráficos Raster

8 Sistemas gráficos Render Por Eric Hanson El Quinto Elemento

9 OpenGL Es una librería software que interacciona con el hardware gráfico. Su objetivo primario es hacer un render de gráficos 2D y 3D en un framebuffer. OpenGL sigue una secuencia de procesos para representar gráficos, esta secuencia se llama pipeline gráfico.

10 OpenGL. Pipeline gráfico.

11 OpenGL. Pipeline gráfico. Primitivas Son líneas, puntos, polígonos con su conjunto asociado de vértices. Se pintan según los estados de OpenGL, como el color, el grosor, etc... Todas las operaciones 3D utilizan matrices en coordenadas homogéneas. Las más usadas son: GL_MODELVIEW (para un modelo geométrico) GL_PROJECTION(para la vista) GL_TEXTURE (para las texturas) Adicionalmente existen luces para controlar el color de cada pixel del resultado de una

12 OpenGL. Pipeline gráfico. Primitivas

13 OpenGL. Pipeline gráfico. Primitivas Ejemplo: glcolor3f(1, 1, 0); // Set color to YELLOW glpolygonmode(gl_both, GL_LINE); // Unfilled mode glbegin(gl_polygon); // Use polygon to apprx. a circle for(i=0; i<100; i++) cosine = 25 * cos(i * 2 * PI/100.0); sine = 25 * sin(i * 2 * PI/100.0); glvertex2f(cosine, sine); glend();

14 OpenGL. Pipeline gráfico. Display lists. Idea. Ya que OpenGL utiliza comandos que debe interpretar cada vez que se ejecuta existe un método para guardar dicha interpretación de una forma compacta para la próxima ejecución ese método es el uso de display lists.

15 OpenGL. Pipeline gráfico. Display lists. Ejemplo: #include <GL/gl.h> #include <GL/glu.h> #include <GL/glaux.h> void myinit(void); void drawline (void); void CALLBACK display(void); void CALLBACK myreshape(glsizei w, GLsizei h); GLuint listname = 1; void myinit (void) glnewlist (listname, GL_COMPILE); glcolor3f (1.0, 0.0, 0.0); glbegin (GL_TRIANGLES); glvertex2f (0.0, 0.0); glvertex2f (1.0, 0.0); glvertex2f (0.0, 1.0); glend (); gltranslatef (1.5, 0.0, 0.0); glendlist (); glshademodel (GL_FLAT); void drawline (void) glbegin (GL_LINES); glvertex2f (0.0, 0.5); glvertex2f (15.0, 0.5); glend (); void CALLBACK display(void) GLuint i; glclear (GL_COLOR_BUFFER_BIT); glcolor3f (0.0, 1.0, 0.0); glpushmatrix(); for (i = 0; i < 10; i++) glcalllist (listname); drawline (); glpopmatrix(); glflush (); void CALLBACK myreshape(glsizei w, GLsizei h) if (!h) return; glviewport(0, 0, w, h); glmatrixmode(gl_projection); glloadidentity(); if (w <= h) gluortho2d (0.0, 2.0, -0.5 * (GLfloat) h/(glfloat) w, 1.5 * (GLfloat) h/(glfloat) w); else gluortho2d (0.0, 2.0 * (GLfloat) w/(glfloat) h, -0.5, 1.5); glmatrixmode(gl_modelview); glloadidentity(); int main(int argc, char** argv) auxinitdisplaymode (AUX_SINGLE AUX_RGB); auxinitposition (0, 0, 400, 50); auxinitwindow ("Display List"); myinit (); auxreshapefunc (myreshape); auxmainloop(display); return(0);

16 OpenGL. Librerías de ayuda. Son GLU, GLUT y GLAUX. Estándar GLU. Operaciones simples que facilitan la programación con OpenGL. Librerías no standard (no están soportadas por defecto) GLUT. Sistema de control de ventanas muy actualizado. GLAUX. Sistema de control de ventanas prácticamente obsoleto.

17 OpenGL. Librerías de ayuda. GLU. Partes: Iniciación. (glugetstring) Manipulación de imágenes para el uso de texturas. (gluscaleimage, glubuild1dmipmaps y glubuild2dmipmaps) Tranformaciones de coordenadas (gluperspective, glulookat,...) Teselando polígonos. (Para polígonos no convexos) Callbacks (glbegin, glend,...) Superfícies simples (Esferas, Cilindros, Discos,...) NURBS Errores

18 OpenGL. Librerías de ayuda. GLUT. Partes: Sistema de múltiples ventanas. Eventos Capacidades para sistemas de entrada sofisticados. Timers Menús Objetos simples. Texto y fuentes Sistema para controlar overlays. Hecho en ANSI C. Código fuente, specs y binarios disponibles en

19 OpenGL. Librerías de ayuda. GLAUX. Partes: Ventanas Eventos Objetos simples Teapot Texto y fuentes... Hecho en C y en TCL/TK Código fuente disponible en MSDN y binarios en Visual C/C++.

20 OpenGL en el mundo real. Visual C/C++. OpenGL no se utiliza sobre GLUT ni GLAUX sino que se utiliza dentro de aplicaciones con un sistema de ventanas no GL. En linux Qt. En Windows Visual C/C++ o un compilador de C para windows (Watcom, etc...).

21 OpenGL en el mundo real. Visual C/C++. Secuencia de iniciación. OnCreate y OnPreCreateWindow: OnCreate int COpenGLView::OnCreate(LPCREATESTRUCT lpcreatestruct) if (CView::OnCreate(lpCreateStruct) == -1) return -1; InitializeOpenGL(); return 0; OnPreCreateWindow BOOL COpenGLView::PreCreateWindow(CREATESTRUCT& cs) // An OpenGL window must be created with the following flags and must not // include CS_PARENTDC for the class style. Refer to SetPixelFormat // documentation in the "Comments" section for further information. cs.style = WS_CLIPSIBLINGS WS_CLIPCHILDREN; return CView::PreCreateWindow(cs);

22 OpenGL en el mundo real. Visual C/C++. Secuencia de iniciación. SetupPixelFormat : BOOL COpenGLView::SetupPixelFormat() static PIXELFORMATDESCRIPTOR pfd = sizeof(pixelformatdescriptor), // size of this pfd 1, // version number PFD_DRAW_TO_WINDOW // support window PFD_SUPPORT_OPENGL // support OpenGL PFD_DOUBLEBUFFER, // double buffered PFD_TYPE_RGBA, // RGBA type 24, // 24-bit color depth 0, 0, 0, 0, 0, 0, // color bits ignored 0, // no alpha buffer 0, // shift bit ignored 0, // no accumulation buffer 0, 0, 0, 0, // accum bits ignored 16, // 16-bit z-buffer 0, // no stencil buffer 0, // no auxiliary buffer PFD_MAIN_PLANE, // main layer 0, // reserved 0, 0, 0 // layer masks ignored ; if ( 0 == (m_pixelformat = ::ChoosePixelFormat(m_pDC->GetSafeHdc(), &pfd)) ) SetError(2); return FALSE; if ( FALSE == ::SetPixelFormat(m_pDC->GetSafeHdc(), m_pixelformat, &pfd) ) SetError(3); return FALSE; return TRUE;

23 OpenGL en el mundo real. Visual C/C++. Secuencia de iniciación. Init: BOOL COpenGLView::InitializeOpenGL() // Can we put this in the constructor? m_pdc = new CClientDC(this); if ( NULL == m_pdc ) // failure to get DC SetError(1); return FALSE; if (!SetupPixelFormat()) return FALSE; // For Color-Index mode, you'd probably create your palette here, right // after you select the pixel format if ( 0 == (m_hrc = ::wglcreatecontext( m_pdc->getsafehdc() ) ) ) SetError(4); return FALSE; if ( FALSE == ::wglmakecurrent( m_pdc->getsafehdc(), m_hrc ) ) SetError(5); return FALSE; // specify black as clear color ::glclearcolor(0.0f, 0.0f, 0.0f, 0.0f); // specify the back of the buffer as clear depth ::glcleardepth(1.0f); // enable depth testing ::glenable(gl_depth_test); return TRUE;

24 OpenGL en el mundo real. Visual C/C++. Secuencia de uso. OnDraw: void COpenGLView::OnDraw(CDC* pdc) CDocument* pdoc = GetDocument(); ASSERT_VALID(pDoc); // Clear out the color & depth buffers ::glclear( GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT ); PreRenderScene(); ::glpushmatrix(); RenderStockScene(); ::glpopmatrix(); ::glpushmatrix(); RenderScene(); ::glpopmatrix(); // Tell OpenGL to flush its pipeline ::glfinish(); // Now Swap the buffers if ( FALSE == ::SwapBuffers( m_pdc->getsafehdc() ) ) SetError(7); PostRenderScene();

25 OpenGL en el mundo real. Visual C/C++. Secuencia de cierre. OnDestroy: void COpenGLView::OnDestroy() CView::OnDestroy(); // TODO: Add your message handler code here // NOTE:wglDeleteContext makes the RC non-current, so this step is unnecessary // (but you can do it if it makes you feel secure) // if ( FALSE == ::wglmakecurrent( 0, 0 ) ) // // SetError(2); // return FALSE; // if ( FALSE == ::wgldeletecontext( m_hrc ) ) SetError(6); // For Color-Index mode, you should reset the palette to the original here if ( m_pdc ) delete m_pdc;

26 Ver Obtener los spec de OpenGL GLU GLUT Obtener los fuentes de GLUT Mesa3D Secuencia de inicio de OpenGL para windows. OpenGL: From the EXTensions to the SOLutions

Mi primera aplicación OpenGL con MFC. Con esta guía rápida, escribiremos nuestra primera aplicación OpenGL con MFC (Microsoft Foundations Class).

Mi primera aplicación OpenGL con MFC. Con esta guía rápida, escribiremos nuestra primera aplicación OpenGL con MFC (Microsoft Foundations Class). Mi primera aplicación OpenGL con MFC Con esta guía rápida, escribiremos nuestra primera aplicación OpenGL con MFC (Microsoft Foundations Class). Ejecutar Visual C++ 6.0 Elegir la opción File del menú para

Más detalles

La matriz de proyección especifica el tamaño y forma del volumen de visualización (0,100,1)

La matriz de proyección especifica el tamaño y forma del volumen de visualización (0,100,1) Proyecciones Proyecciones La matriz de proyección especifica el tamaño y forma del volumen de visualización glmatrixmode(gl_projection); // reseteamos la matriz glloadidentity(); // actualizamos la matriz

Más detalles

glclearcolor (1.0, 0.0, 0.0, 0.0); glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT);

glclearcolor (1.0, 0.0, 0.0, 0.0); glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); 10. EL MAPEADO DE TEXTURAS Hasta ahora las primitivas se han dibujado en OpenGL con un solo color o interpolando varios colores entre los vértices de una primitiva. OpenGL dispone de funciones específicas

Más detalles

Es un SW (en forma de librería C) que permite la comunicación entre el programador y el HW de la máquina para el diseño de gráficos.

Es un SW (en forma de librería C) que permite la comunicación entre el programador y el HW de la máquina para el diseño de gráficos. Qué es Open GL? Es un SW (en forma de librería C) que permite la comunicación entre el programador y el HW de la máquina para el diseño de gráficos. Es portable. Consta de unos 150 comandos muy básicos.

Más detalles

1. INTRODUCCIÓN A OPENGL: DIBUJANDO UNA TORTUGA CON OPENGL

1. INTRODUCCIÓN A OPENGL: DIBUJANDO UNA TORTUGA CON OPENGL 1. INTRODUCCIÓN A OPENGL: DIBUJANDO UNA TORTUGA CON OPENGL 1.1 QUÉ ES OPENGL? Qué es OpenGL? OpenGL es una interfaz software de harware gráfico, es decir define las funciones que se pueden utilizar en

Más detalles

Tema 1 Introducción. David Vallejo Fernández. Curso 2007/2008. Escuela Superior de Informática

Tema 1 Introducción. David Vallejo Fernández. Curso 2007/2008. Escuela Superior de Informática Tema 1 Introducción David Vallejo Fernández Curso 2007/2008 Escuela Superior de Informática Índice de contenidos 1.Computer Graphics. 2.Principales aplicaciones. 3.APIs gráficas. 4.. 5.Resumen. 2 1 Computer

Más detalles

Lenguaje de Programación: C++ GLUT

Lenguaje de Programación: C++ GLUT UG Lenguaje de Programación: C++ GLUT Universidad de Guanajuato Noviembre 2010 GLUT Se trata de una librería diseñada para facilitar el manejo de ventanas y eventos en aplicaciones que pretenden mostrar

Más detalles

Mini Manual de OpenGL Por Daniel Barrero (dbarrero@cable.net.co) - 11/6/2002

Mini Manual de OpenGL Por Daniel Barrero (dbarrero@cable.net.co) - 11/6/2002 Mini Manual de OpenGL Por Daniel Barrero (dbarrero@cable.net.co) - 11/6/2002 Introducción OpenGL es una interface de software para el hardware grafico, esta interface consiste de una larga serie de comandos

Más detalles

OpenGL. Domingo Martín Perandrés

OpenGL. Domingo Martín Perandrés Domingo Martín Perandrés Qué es? Open Graphics Library Una interfaz con el hardware gráfico Arquitectura cliente/servidor Independiente del hardware Un conjunto de funciones que permiten definir, crear

Más detalles

Escenarios 3D en OpenGL. Ivan Olmos Pineda

Escenarios 3D en OpenGL. Ivan Olmos Pineda Escenarios 3D en OpenGL Ivan Olmos Pineda Introducción Qué es OpenGL? Estándar creado por Silicon Graphics en 1992 para el diseño de librerias 2D/3D Qué se requiere para programar en OpenGL? Obtener las

Más detalles

Lenguaje de Programación: C++ GLUT (como instalarlo)

Lenguaje de Programación: C++ GLUT (como instalarlo) UG C++ Lenguaje de Programación: C++ GLUT (como instalarlo) Universidad de Guanajuato Noviembre 2010 Inicializar GLUT Lo primero que debemos mandar llamar en un proyecto con la librería GLUT es: void glutinit(int

Más detalles

Ejemplos de aplicaciones 3D interactivas con OpenGL

Ejemplos de aplicaciones 3D interactivas con OpenGL Ejemplos de aplicaciones 3D interactivas con OpenGL Apellidos, nombre Departamento Centro Agustí i Melchor, Manuel (magusti@disca.upv.es) Departamento de Informática de Sistemas y Computadores (DISCA)

Más detalles

TECNUNLOGO: UN LOGO EN TRES DIMENSIONES

TECNUNLOGO: UN LOGO EN TRES DIMENSIONES tecnunlogo: un logo en tres dimensiones 1 TECNUNLOGO: UN LOGO EN TRES DIMENSIONES Tutorial de OpenGL y manual de las prácticas de OpenGL de la asignatura de Gráficos por Computador y Multimedia http://www.tecnun.es/graficos

Más detalles

OPENGL. Qué es OpenGL? Desarrollo de Aplicaciones Interactivas. API gráfica

OPENGL. Qué es OpenGL? Desarrollo de Aplicaciones Interactivas. API gráfica OPENGL Desarrollo de Aplicaciones Interactivas Qué es OpenGL? API gráfica Imágenes color de alta calidad compuesta de primitivas geométricas e imágenes Independiente de Sistema de ventanas Sistema operativo

Más detalles

Gràfics per computador

Gràfics per computador Gràfics per computador Departament de Sistemas Informàtics i Computació Escola Politècnica Superior d Alcoi Enginyeria Tècnica en Informàtica de Gestió PRÀCTICA 3 Jordi Linares i Pellicer jlinares@dsic.upv.es

Más detalles

Graficación por Computadora

Graficación por Computadora Graficación por Computadora Dr. Roberto Núñez González 1 1 Departamento de Matemáticas Ciencias de la Computación Universidad de Sonora 22 de mayo de 2014 Introducción a la Graficación por Computadora

Más detalles

Tema 2. Dibujando en el espacio

Tema 2. Dibujando en el espacio Departamento de Tecnologías de la Información Tema 2 Dibujando Ciencias de la Computación e Inteligencia Artificial Índice 2.1 Primitivas geométricas 2.2 Transformaciones geométricas 2.3 Proyecciones 2

Más detalles

Sistemas de referencia Introducción a OpenGL

Sistemas de referencia Introducción a OpenGL Sistemas de referencia Introducción a OpenGL Introducción a la Computación Gráfica Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas The implementation principle: If

Más detalles

INTRODUCCIÓN A OpenGL

INTRODUCCIÓN A OpenGL INTRODUCCIÓN A OpenGL 1. Introducción...2 2. Abriendo una ventana gráfica para dibujar...2 3. Dibujo de primitivas gráficas...3 4. Tipo de datos de OpenGL...4 5. Estado de OpenGL...5 6. Sistema de Coordenadas...6

Más detalles

Introducción. Los principales conceptos que se utilizaran con mayor frecuencia:

Introducción. Los principales conceptos que se utilizaran con mayor frecuencia: Mini Manual de OpenAL Por Daniel Barrero (dbarrero@cable.net.co) - 22/4/2002 Basado en los excelentes tutoriales de: Jorge bernal Martinez (lordloki@users.berlios.de, http://worldspace.berlios.de/openal/index.html)

Más detalles

HDC hdc=null; // Dispositivo de contexto GDI HGLRC hrc=null; // Contexto de renderizado

HDC hdc=null; // Dispositivo de contexto GDI HGLRC hrc=null; // Contexto de renderizado GALVÁN CASTRO PAULINA GARCÍA SOTO CESAR MEZA MENDOZA ALEJANDRA RODRÍGUEZ CONTRERAS DAVID ISMAEL Las articulaciones tienen movimiento con las teclas F,R,T,G,H,Y, simulando tomar el lápiz. Código: Main cpp

Más detalles

Una aproximación a OpenGL

Una aproximación a OpenGL Una aproximación a OpenGL Alberto Jaspe Villanueva Julián Dorado de la Calle 1 Introducción... 4 1.1 Qué es OpenGL?... 4 1.2 OpenGL como una máquina de estados... 4 1.3 El Pipeline de renderizado de OpenGL...

Más detalles

Introducción a la programación en OpenGL (2)

Introducción a la programación en OpenGL (2) Introducción a la programación en OpenGL (2) Primitivas Todas las primitivas son definidas por sus vértics GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_POLYGON GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN

Más detalles

Lenguaje de Programación: C++ GLUTTransformaciones

Lenguaje de Programación: C++ GLUTTransformaciones UG Lenguaje de Programación: C++ GLUT Universidad de Guanajuato Noviembre 2010 Lenguaje de Programación: C++ GLUT Como se convierte un vértice en un pixel La cámara desde que visualizaremos el mundo siempre

Más detalles

Laboratorio de Graficación. Garibaldi Pineda García

Laboratorio de Graficación. Garibaldi Pineda García Laboratorio de Graficación Garibaldi Pineda García chanokin@gmail.com OpenGL API Máquina de estados Implementa un pipeline de visualización 3D OpenGL Básicamente transforma modelos a pixeles Evita que

Más detalles

3. OPERACIONES CON MATRICES: DIBUJANDO EL CAMINO

3. OPERACIONES CON MATRICES: DIBUJANDO EL CAMINO 3. OPERACIONES CON MATRICES: DIBUJANDO EL CAMINO La transforación de las coordenadas se realiza internaente en OpenGL a partir de las atrices de transforación y de las coordenadas de odelado del objeto.

Más detalles

Nuestro entorno de programación debe darnos una interfaz para llamar a OpenGL desde nuestro código

Nuestro entorno de programación debe darnos una interfaz para llamar a OpenGL desde nuestro código OpenGL en Windows OpenGL en Windows El sistema operativo debe asumir la interacción con el usuario la gestión de la ventana Nuestro entorno de programación debe darnos una interfaz para llamar a OpenGL

Más detalles

Transformaciones geométricas en 2D y 3D (Parte II)

Transformaciones geométricas en 2D y 3D (Parte II) Transformaciones geométricas en 2D y 3D (Parte II) Contenido Conmutatividad en transformaciones geométricas Tranformaciones básicas en 3D: rotación, traslación y escalamiento Otras tranformaciones 3D:

Más detalles

Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y

Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y Apéndice A Bloques DLL Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y programarlo en lenguaje C, compilarlo dentro de un archivo DLL usando el Microsoft C/C++ o el

Más detalles

Proyecciones en OpenGL

Proyecciones en OpenGL Proyecciones en OpenGL Una vez definida una escena en coordenadas del mundo, tenemos que tomar la foto. Para esto, tenemos que hacer dos cosas: colocar la cámara en el mundo (o sea, en la escena) y definir

Más detalles

1. Historia. Introducción a OpenGL

1. Historia. Introducción a OpenGL 1. Historia OpenGL es un estándar sobre gráficos por computadora. Hoy día es uno de los estándares gráficos más conocido del mundo. En 1982 nació en la Universidad de Standford el concepto de "graphics

Más detalles

Mallas poligonales y curvas cuádricas en OpenGL

Mallas poligonales y curvas cuádricas en OpenGL Mallas poligonales y curvas cuádricas en OpenGL Introducción Las aplicaciones opengl están construidas sobre un loop principal que se verá más adelante en las clases de opengl. El loop principal es donde

Más detalles

Tema 7. Técnicas de aceleración

Tema 7. Técnicas de aceleración Departamento de Tecnologías de la Información Tema 7 Técnicas de aceleración Ciencias de la Computación e Inteligencia Artificial Índice 7.1El buffer de comandos 7.2 Display lists 7.3 Vertex Arrays 7.4

Más detalles

Curso de introducción a OpenGL (v1.0)

Curso de introducción a OpenGL (v1.0) Por Jorge García (Bardok) Este manual ha sido realizado para el e-ghost, por Jorge García, está sujeto a la licencia FDL (GNU Free Document License), y confiere los derechos y obligaciones pertinentes.

Más detalles

El color es una longitud de onda de luz, visible para el ojo humano

El color es una longitud de onda de luz, visible para el ojo humano Color Teoría del color El color es una longitud de onda de luz, visible para el ojo humano 390nm 720 nm El color que vemos en los objetos es resultado de la luz reflejada por su superficie El negro es

Más detalles

3.- Vista Tridimensional.

3.- Vista Tridimensional. 3.- Vista Tridimensional. 3.1.- Proceso de vista 3D 3.2.- Comandos de transformaciones de propósito general 3.3.- Transformaciones de modelo y vista 3.4.- Transformaciones de proyección 3.5.- Transformaciones

Más detalles

Funciones GLUT para Eventos y Menús

Funciones GLUT para Eventos y Menús Funciones GLUT para Eventos y Menús Facultad de Cs. de la Computación Juan Carlos Conde Ramírez Computer Graphics Contenido 1 Eventos 2 El Mouse 3 El Teclado 4 Tamaño de Ventana 5 Menús 1 / 23 Contenido

Más detalles

Introducción rápida a la programación (estructurada ) con C++

Introducción rápida a la programación (estructurada ) con C++ Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de

Más detalles

Laboratorio de Computación Gráfica.

Laboratorio de Computación Gráfica. Practica: Modelado EFCH 2007 Laboratorio de Computación Gráfica. Objetivo 1: Que el alumno comprenda de manera general como se construye un programa básico de opengl. Objetivo 2: Que el alumno sea capaz

Más detalles

1. Introducción--------------------------------------------------------------------------- PAG 1

1. Introducción--------------------------------------------------------------------------- PAG 1 1. Introducción--------------------------------------------------------------------------- PAG 1 2. Estructura principal del programa: -------------------------------------------- PAG 2 3. Funciones relevantes:

Más detalles

GL_RED, GL_RGB, GL_LUMINANCE

GL_RED, GL_RGB, GL_LUMINANCE Mapeo de Texturas Mapeo de texturas Texturas 1D Para definir la textura: void glteximage1d (GLenum objetivo, GLint nivel, GLint componentes, GLsizei ancho, GLint borde, GLenum formato, GLenum tipo, const

Más detalles

Historia de graficación

Historia de graficación Historia de graficación Elaborado por: Ing. Apolinar Baltazar Alejandro Ing. Ascencio Camacho Nancy Anahí Ing. Bermúdez Gil Iris Ing. García Rivera Alberto Ing. Garduño Ayala Juan Carlos Ing. Martínez

Más detalles

Introducción a la programación en OpenGL

Introducción a la programación en OpenGL Introducción a la programación en OpenGL Qué es OpenGL? Es una interfaz para la generación de gráficos (Graphics rendering API) Imágenes de alta calidad generadas a partir de primitivas geométricas. Independiente

Más detalles

Proyecciones en 3D. Facultad de Cs. de la Computación. Juan Carlos Conde Ramírez. Computer Graphics

Proyecciones en 3D. Facultad de Cs. de la Computación. Juan Carlos Conde Ramírez. Computer Graphics Proyecciones en 3D Facultad de Cs. de la Computación Juan Carlos Conde Ramírez Computer Graphics Contenido 1 Introducción 2 Proyecciones 3 Tipos de Proyección 1 / 21 Contenido 1 Introducción 2 Proyecciones

Más detalles

Manual de Arduino Wifly Shield

Manual de Arduino Wifly Shield Manual de Arduino Wifly Shield Material necesario: Arduino UNO. Wifly shield Software requerido en la PC: Arduino IDE v.1.0.1 Librería Wifly Alpha2 Preparando el hardware: Como se puede ver 4 LEDs parpadean

Más detalles

Capítulo I.- Ambiente de desarrollo y bibliotecas gráficas

Capítulo I.- Ambiente de desarrollo y bibliotecas gráficas 10 Capítulo I.- Ambiente de desarrollo y bibliotecas gráficas 1.1.- Software de dominio público 1.1.1.- C++ El lenguaje en C++ es la más adecuada para la programación gráfica debido a su flexibilidad en

Más detalles

Planificaciones Sistemas Gráficos. Docente responsable: ABBATE HORACIO ANTONIO. 1 de 5

Planificaciones Sistemas Gráficos. Docente responsable: ABBATE HORACIO ANTONIO. 1 de 5 Planificaciones 6671 - Sistemas Gráficos Docente responsable: ABBATE HORACIO ANTONIO 1 de 5 OBJETIVOS El desarrollo alcanzado por la industria de hardware informático es tal, que en la actualidad aún las

Más detalles

Tema 1: Modelado poligonal

Tema 1: Modelado poligonal Tema 1: Modelado poligonal José Ribelles SIU020 Síntesis de Imagen y Animación Departamento de Lenguajes y Sistemas Informáticos, Universitat Jaume I Tema 1: Modelado poligonal 1 Hoy veremos... 1 Introducción

Más detalles

Tema 2: Modelado. J.Ribelles. SIE020: Síntesis de Imagen y Animación Institute of New Imaging Technologies, Universitat Jaume I

Tema 2: Modelado. J.Ribelles. SIE020: Síntesis de Imagen y Animación Institute of New Imaging Technologies, Universitat Jaume I J. Ribelles SIE020: Síntesis de Imagen y Animación Institute of New Imaging Technologies, Universitat Jaume I Contenido Introducción 1 Introducción 2 3 Introducción Se denomina modelo al conjunto de datos

Más detalles

Tutorial de uso de HAPTIK bajo Windows

Tutorial de uso de HAPTIK bajo Windows Tutorial de uso de HAPTIK bajo Windows Este tutorial ha sido generado gracias al trabajo de María Luisa Pinto Salamanca, de la Universidad Nacional de Colombia Resumen. Se distinguen dos partes: una primera

Más detalles

Objective C (Desarrollo con Apple)

Objective C (Desarrollo con Apple) 1 Objective C (Desarrollo con Apple) para programación en Iphone SDK: Similitudes y Diferencias entre Objective C con C/C++ y Java Dr. Moisés Alencastre Miranda, malencastre@itesm.mx 2 Introducción al

Más detalles

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1). ÁRBOL BINARIO - Un árbol binario puede definirse como un árbol que en cada nodo puede tener como mucho grado 2, es decir, a lo más 2 hijos. Los hijos suelen denominarse hijo a la izquierda e hijo a la

Más detalles

CONTROLADORA PARA PIXELS CONPIX

CONTROLADORA PARA PIXELS CONPIX The LedEdit Software Instructions 1, Install the software to PC and open English version: When we installed The LedEdit Software, on the desktop we can see following icon: Please Double-click it, then

Más detalles

Coordenadas Homogéneas y Transformaciones

Coordenadas Homogéneas y Transformaciones Computación Gráfica I Coordenadas Homogéneas y Transformaciones Daniel Fariña 06-39509 Laura Libretti 06-39796 Transformaciones Las transformaciones se usan para: o Posicionar objetos en escena o Cambiar

Más detalles

Transformaciones en OpenGL

Transformaciones en OpenGL Transformaciones en OpenGL 1 OpenGL y las bibliotecas asociadas componen por nosotros las transformaciones necesarias para posicionar los objetos, las luces y la cámara en la escena, para luego proyectarlos

Más detalles

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

Lenguaje de Programación: C++, INPUT OUTPUT(Variables)

Lenguaje de Programación: C++, INPUT OUTPUT(Variables) UG Lenguaje de Programación: C++, INPUT OUTPUT() Universidad de Guanajuato Septiembre 2010 MAIN int main (); // no arguments int main (inl argc, char* argv[]); // arguments arcg: cantidad de parámetros

Más detalles

WebForms con LeadTools

WebForms con LeadTools WebForms con LeadTools 21.01.2007 Danysoft Con la aparición de la version 15 de LEADTOOLS, LEAD ha incluido un control.net para la gestión de formularios en la Web. A continuación le incluimos unas instrucciones

Más detalles

Practica 4: Eventos y Menús GLUT

Practica 4: Eventos y Menús GLUT Practica 4: Eventos y Menús GLUT JUAN CARLOS CONDE RAMÍREZ COMPUTER GRAPHICS Volver a aplicar las principales transformaciones geométricas de OpenGL. Objetivos: Utilizar las funciones de la librería GLUT

Más detalles

Curso de introducción a OpenGL (v1.1)

Curso de introducción a OpenGL (v1.1) Curso de introducción a OpenGL (v1.1) Por Jorge García -aka Bardok (2004)- bardok@telefonica.net - shadow@bardok.net http://www.bardok.net This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Más detalles

Tema 4: Viendo en 3D

Tema 4: Viendo en 3D J. Ribelles SIE020: Síntesis de Imagen y Animación Institute of New Imaging Technologies, Universitat Jaume I Contenido Introducción 1 Introducción 2 3 Proyección Paralela Proyección Perspectiva 4 5 6

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

El pipeline de visualización es el conjunto de

El pipeline de visualización es el conjunto de Sistemas de Visualización Pipeline de visualización 3D Definición del modelo geométrico Transformaciones geométricas Transformaciones de visualización Volumen de visualización Proyecciones Pipeline de

Más detalles

Introducción a la Programación Gráfica con OpenGL

Introducción a la Programación Gráfica con OpenGL Introducción a la Programación Gráfica con OpenGL Oscar García Alex Guevara Escola Tècnica Superior d Enginyeria Electrònica i Informàtica La Salle Enero 2004 Oscar García - Alex Guevara La Salle 2004

Más detalles

Tutorial de uso de OHAE sobre windows

Tutorial de uso de OHAE sobre windows Tutorial de uso de OHAE sobre windows Este tutorial ha sido generado gracias al trabajo de María Luisa Pinto Salamanca, de la Universidad Nacional de Colombia Resumen. Se distinguen dos partes: una primera

Más detalles

Programación Básica. Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí

Programación Básica. Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí Programación Básica Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí Objetivo del Curso Estudiar y aplicar los conceptos básicos de programación estructurada en un lenguaje de

Más detalles

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó MANUAL EASYCHAIR La URL para enviar su propuesta a la convocatoria es: https://easychair.org/conferences/?conf=genconciencia2015 Donde aparece la siguiente pantalla: Se encuentran dos opciones: A) Ingresar

Más detalles

Go to: Select Tickets Festival Passes. Ir a la página:

Go to:  Select Tickets Festival Passes. Ir a la página: For The BPM Festival, PayPal is the only option for EARLY BIRD FESTIVAL PASSES PayPal es la única opción de compra para brazaletes EARLY BIRD de The BPM Festival Go to: www.thebpmfestival.com/tickets Select

Más detalles

Computación Gráfica = CG = Computer Graphics

Computación Gráfica = CG = Computer Graphics Computación Gráfica = CG = Computer Graphics Porqué computación gráfica? Para qué sirve? Cómo se utiliza? Cuáles son las principales áreas? Necesidad contemporanea Visualizar/Analizar lo imposible Una

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Sexta semana: memoria compartida Segunda práctica 1 Memoria compartida: ejercicio

Más detalles

TRABAJOGRAFICOS POR COMPUTADOR Samuel Marín Calvo

TRABAJOGRAFICOS POR COMPUTADOR Samuel Marín Calvo TRABAJOGRAFICOS POR COMPUTADOR Samuel Marín Calvo 900719 1. EJES... 2 2. Función SETCIRCLE... 2 3. Función LOAD... 3 4. Función HI... 4 5. SETTRACE i... 5 6. Rastro con colores del arco iris... 11 7. Rastro

Más detalles

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos) 3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return

Más detalles

Fundamentos de la programación

Fundamentos de la programación Fundamentos de la programación 4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Archivos como parámetros

Más detalles

CONTROL DE ACCESO ACC4.NET

CONTROL DE ACCESO ACC4.NET CONTROL DE ACCESO ACC4.NET Release 6.8 Aliar11 SRL soporte@aliar11.com.uy tel:2622 6565 CARACTERISTICAS PRINCIPALES 1 Control de acceso profesional, para oficinas y edificios de multiples accesos, puertas

Más detalles

Practica 3. Cámara. Objetivo: conocer e utilizar adecuadamente la cámara, mediante glulookat.

Practica 3. Cámara. Objetivo: conocer e utilizar adecuadamente la cámara, mediante glulookat. Cadena Ramírez Miguel Ángel Grupo 4 Practica 3 Cámara Objetivo: conocer e utilizar adecuadamente la cámara, mediante glulookat. Su forma de expresarse es: void glulookat(gldouble eyex, GLdouble eyey, GLdouble

Más detalles

Tema 7: Proceso de Imágenes

Tema 7: Proceso de Imágenes J. Ribelles SIE020: Síntesis de Imagen y Animación Institute of New Imaging Technologies, Universitat Jaume I Contenido 1 2 Brillo Negativo Escala de grises Mezcla de imágenes 3 4 5 6 Desde sus orígenes,

Más detalles

Introducción Informática Gráfica

Introducción Informática Gráfica Introducción Informática Gráfica Segundo Esteban San Román Dpto. Arquitectura de Computadores y Automáitca Fac. CC. Físicas, Desp. 236, Fac. Informática, Desp:421 segundo@dacya.ucm.es 91-3944740 Historia

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term

Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term UNIDAD TEMATICA: INTERFAZ DE WINDOWS LOGRO: Reconoce la interfaz de Windows para ubicar y acceder a los programas,

Más detalles

INTRODUCCIÓN A OPENGL. Computación Gráfica

INTRODUCCIÓN A OPENGL. Computación Gráfica INTRODUCCIÓN A OPENGL Computación Gráfica Introducción a OpenGL OpenGL GLUT - registrar funciones de callback (freeglut o glut) código asociado a eventos en las ventanas. sirven para administrar lo que

Más detalles

Do Now! Question 1: Pregunta 1

Do Now! Question 1: Pregunta 1 Do Now! Question 1: What do you predict Scratch Cat will do according to this block of code? Write your response in your journal. Pregunta 1 : Qué predices el gato hará de acuerdo con este bloque de código?

Más detalles

7 Efectos. avanzados. Múltiples pasos de dibujo Algoritmos de varias pasadas Texturas múltiples Ejemplos de texturas múltiples. Prof.

7 Efectos. avanzados. Múltiples pasos de dibujo Algoritmos de varias pasadas Texturas múltiples Ejemplos de texturas múltiples. Prof. INGENIERÍA INFORMÁTICA 7 Efectos avanzados Múltiples pasos de dibujo Algoritmos de varias pasadas Texturas múltiples Ejemplos de texturas múltiples Prof. Miguel Chover Múltiples pasos de dibujo Dibujar

Más detalles

OSCILLATION 512 (LM 3R)

OSCILLATION 512 (LM 3R) Application Note The following application note allows to locate the LM series devices (LM3E, LM3R, LM4 and LM5) within network and check its connection information: Name, MAC, dynamic IP address and static

Más detalles

ALMACENAMIENTO PERSISTENTE DE DATOS

ALMACENAMIENTO PERSISTENTE DE DATOS UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS

Más detalles

Apuntes de OpenGL y GLUT Cristina Cañero Morales

Apuntes de OpenGL y GLUT Cristina Cañero Morales Apuntes de OpenGL y GLUT Cristina Cañero Morales Introducción... 2 Librerías añadidas... 2 De vértices a píxeles... 2 Formato de las funciones... 3 Funciones básicas para definir objetos... 3 Primitivas

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

La mayor parte de las implementaciones de transmisión de datos vía puerto serial utilizan las siguientes funciones:

La mayor parte de las implementaciones de transmisión de datos vía puerto serial utilizan las siguientes funciones: Interfaz serial con buffer circular para MSP430 La mayor parte de las implementaciones de transmisión de datos vía puerto serial utilizan las siguientes funciones: Transmisión void USART_SendData (unsigned

Más detalles

Tema 2. Informática Gráfica y OpenGL

Tema 2. Informática Gráfica y OpenGL Departamento de Tecnologías de la Información Tema 2 Informática Gráfica y OpenGL Ciencias de la Computación e Inteligencia Artificial Índice 2.1 Introducción histórica 2.2 Definiciones 2.3 Principios

Más detalles

Gràfics per computador (Curs 04-05)

Gràfics per computador (Curs 04-05) Gràfics per computador (Curs 04-05) Departament de Sistemas Informàtics i Computació Escola Politècnica Superior d Alcoi Enginyeria Tècnica en Informàtica de Gestió PRÀCTICA 2 Jordi Linares i Pellicer

Más detalles

Do Now Question 1: Pregunta 1

Do Now Question 1: Pregunta 1 Do Now Question 1: What do you predict Scratch Cat will do according to this block of code? Write your response in your journal. Pregunta 1: Qué predices el gato hará de acuerdo con este bloque de código?

Más detalles

Asignaturas antecedentes y subsecuentes

Asignaturas antecedentes y subsecuentes PROGRAMA DE ESTUDIOS Graficación por Computadora Área a la que pertenece: Área de Formación Integral Profesional Horas teóricas: 3 Horas prácticas: 1 Créditos: 7 Clave: F0098 Asignaturas antecedentes y

Más detalles

Viewports e Interacción con el Mouse CG 2014.

Viewports e Interacción con el Mouse CG 2014. Viewports e Interacción con el Mouse CG 2014. Introducción Los vértices sufren transformaciones para pasar del mundo a la pantalla. Estas transformaciones, las especificamos mediante matrices. Ventana

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Introducción a OpenGL Shading Language (GLSL)

Introducción a OpenGL Shading Language (GLSL) a OpenGL Shading Language (GLSL) November 20, 2007 a OpenGL Shading Language (GLSL) Fixed Pipeline Programmable Pipeline Características de GLSL Por qué escribir un Shader? Vertex Processor Fragment Processor

Más detalles