Introducción a la programación en OpenGL
|
|
|
- Natividad Belmonte de la Cruz
- hace 7 años
- Vistas:
Transcripción
1 Introducción a la programación en OpenGL
2 Primera aplicación gráfica
3 Primera aplicación gráfica MUNDO CÁMARA
4 Primera aplicación gráfica MUNDO CÁMARA OBJETOS
5 Primera aplicación gráfica ENTRADA: - Posición de la cámara - Resolución de la imagen a generar - Conjunto de objetos SALIDA: - Imagen realista de la escena
6 Primera aplicación gráfica CÓMO DECIRLE A LA COMPUTADORA QUE GENERE ESTA IMAGEN:
7 Primera aplicación gráfica CÓMO DECIRLE A LA COMPUTADORA QUE GENERE ESTA IMAGEN: 1- INICIALIZAR POSICIÓN DE LA CAMARA
8 Primera aplicación gráfica CÓMO DECIRLE A LA COMPUTADORA QUE GENERE ESTA IMAGEN: 1- INICIALIZAR POSICIÓN DE LA CAMARA 2- INICIALIZAR PROPIEDADES DE LA IMAGEN
9 Primera aplicación gráfica CÓMO DECIRLE A LA COMPUTADORA QUE GENERE ESTA IMAGEN: 1- INICIALIZAR POSICIÓN DE LA CAMARA 2- INICIALIZAR PROPIEDADES DE LA IMAGEN 3- PARA CADA TRIANGULO: -Definir 3 puntos -Definir color -Dibujar en pantalla
10 Primera aplicación gráfica RESULTADO:
11 Primera aplicación gráfica BUSCANDO MAYOR REALISMO: - Transformaciones geométricas - Iluminación - Texturas - Colores transparentes - etc
12 Qué es OpenGL? Es una interfaz para la generación de gráficos (Graphics renderingapi) Imágenes de alta calidad generadas a partir de primitivas geométricas. Independiente del sistema de ventanas Independiente del sistema operativo.
13 -Visualización científica Para qué OpenGL? -Visualización médica -Computer Aided Design (CAD)
14 Para qué OpenGL? -Juegos -Películas -Realidad virtual
15 Qué NO es OpenGL? Un sistema de ventanas. Un manejador de eventos. Un sistema de animación de objetos. Un sistema que controla la interacción entre objetos. Un sistema de base de datos de objetos tridimensionales. Etc.
16 Que provee OpenGL? Un conjunto de funciones que controlan la configuración del sistema de dibujado. Un sistema de proyección que permite especificar objetos en 3 dimensiones y llevarlos a coordenadas de pantalla. Un conjunto de funciones para realizar transformaciones geométricas que permiten posicionar los objetos en el espacio. y pocas cosas más!
17 Otras bibliotecas GLU (OpenGL Utility Library) es un conjunto de funciones que simplifican el uso de OpenGL para especificar la visualización, construcciones simplificadas de superficies, y otras cosas. SDL: (Simple DirectMedia Library): es una librería multimedia multiplataforma que ofrece funcionalidad para manejo de ventanas, lectura de teclado, reproducción de sonido, etc.
18 Algo de Historia 1980s Los fabricantes de hardware gráfico no seguían ningún estándar. Era el trabajo de los programadores dar soporte a cada pieza de hardware Fines de los 80s y principio de los 90s Silicon Graphics (SGI) es el líder en gráficos 3D. Su librería IrisGL es considerada state-of-the-art Ingresan al mercados nuevos proveedores de hardware 3D y se debilita la posición de SGI Se decide convertir IrisGL en un estándar abierto
19 Algo de Historia 1990 Comienza desarrollo de OpenGL Comienza la colaboración SGI Microsoft 1992 Se completa OpenGL 1.0 (30 de junio) Curso de OpenGL en SIGGRAPH '92 SGI lidera la creación del OpenGL Architecture Review Board (OpenGL ARB), grupo de empresas que mantendrían y extenderían la especificación de OpenGL
20 Algo de Historia 1995 Se completa OpenGL 1.1 Soporte de texturas en GPU Microsoft lanza Direct3D, que se convertirá en el principal competidor de OpenGL 1996 Se hace pública la especificación de OpenGL 1997 Fahrenheit: Acuerdo entre SGI y Microsoft para unir OpenGL a Direct3D. El proyecto aborta poco tiempo después
21 Algo de Historia 1998 Se completa OpenGL Texturas volumétricas (entre otras funcionalidades) OpenGL se hace accesible como código abierto 2001 Se completa OpenGL 1.3 Multi-texturas (entre otras funcionalidades)
22 Algo de Historia 2002 Se completa OpenGL Soporte para sombreado por hardware, generación automática de MipMap (entre otras funcionalidades) Se completa OpenGL 1.5 Vertex Buffer Objects: VBO (entre otras funcionalidades) Microsoft abandona OpenGLARB
23 Algo de Historia 2004 Se completa OpenGL Se introducen Pixel y Vertex Shaders Definición del OpenGL Shading Language (GLSL) Se completa OpenGL 2.1 Soporte para Pixel Buffer Objects: PBO (entre otras funcionalidades) ARB transfiere el control de OpenGL a Khronos Group.
24 Algo de Historia Se completa OpenGL 3.0 Mejora del lenguaje de shaders CUDA: procesamiento masivo con procesadores de propósito general en la GPU (120+) Surge OpenGL ES Definición de un API común para la versiónde dispositivos móviles Surge OpenCL Framework para escribir programas que se ejecutan en plataformas heterogéneas de CPUs, GPUs y otros procesadores
25 Algo de Historia 2010 Se completa OpenGL GLSL 4.0 (entre otras funcionalidades) Surge WebGL 1.0 API de gráficos 3D de bajo nivel para la web, accesible a través del elemento Canvas en HTML5 Basado en OpenGL ES 2.0 Apple (Safari), Google (Chrome), Mozilla (Firefox) y Opera (Opera) son miembros del WebGL Working Group Se completa OpenGL 4.2
26 Algo de Historia 2012 Se completa OpenGL Se completa OpenGL 4.4 Varias especificaciones: 2016 OpenGL ES 3.1, WebCL 1.0, OpenCL 2.0 (entre otras) Compute shaders Se completa OpenGL 4.5
27 Notas Generales La forma en la que se trabaja es dibujando una secuencia de imágenes estáticas. A cada uno de dichos fotogramas lo llamaremos frame, y está compuesto por la información de color de cada pixel que conforma la imagen. La porción de memoria en donde se almacena el frame se llama colorbuffer (o framebuffer ). El contenido del colorbuffer es lo que se muestra en pantalla.
28 Notas Generales El funcionamiento general de los dispositivos gráficos de salida (monitor CRT/LCD, cañón, etc.) está basado en que la información gráfica se muestra como un barrido de arriba hacia abajo y de izquierda a derecha. El intervalo de tiempo entre que se dibuja el último pixel de la última línea y se pasa a dibujar el primer pixel de la primer línea se llama Vertical Blanking Interval. La acción se suele llamar Vertical Retrace.
29 Notas Generales En dispositivos antiguos con cantidad de memoria y poder de cómputo limitados, se tendía a calcular el siguiente frame durante el Vertical Blanking Interval. De esta manera se evitaba modificar el colorbuffer al mismo tiempo que se lo estaba desplegando en pantalla.
30 Notas Generales Actualmente es común que las aplicaciones gráficas utilicen más de un colorbuffer. El más conocido es el DoubleBuffer. Mientras que un buffer se muestra en pantalla (front buffer) se dibuja sobre otro (back buffer). Cuando el back buffer está listo para ser mostrado, se hace un swap entre las referencias a donde comienza el front y el back buffer (ahorrando la copia del buffer).
31 Notas Generales Cuando el swap de buffers no se hace sincronizado con el vertical retrace, lo que ocurre es que mientras se está mostrando un cierto frame, se pasa a mostrar el siguiente frame. El artefacto gráfico resultante se lo llama Tearing
32 Notas Generales Ejemplo de Tearing
33 Notas Generales La forma de trabajar con una biblioteca gráfica es indicarle que dibuje una serie de primitivas gráficas. Cada primitiva tiene un efecto sobre el color buffer. No se puede garantizar un orden total entre primitivas con respecto a la profundidad, por lo que potencialmente no existe una secuencia en la que todas las primitivas se dibujen con su profundidad correcta.
34 Notas Generales Posible solución: el algoritmo del pintor.
35 Notas Generales Posible solución: el algoritmo del pintor.
36 Notas Generales Posible solución: el algoritmo del pintor.
37 Notas Generales La alternativa es hacer un chequeo de profundidad a nivel de pixel. A ésto se lo conoce como Z-buffer Al intentar dibujar un nuevo pixel en el buffer de color, se chequea que la profundidad sea menor a la que se encuentra en el Z-buffer: Si es menor se dibuja el pixel y se actualiza el z- buffer. En caso contrario no se pinta el pixel.
38 Notas Generales Ejemplo de uso de Z-Buffer
39 SDL Presenta varios sub-sistemas que pueden ser inicializados de forma independiente. En el ejemplo se presenta la inicialización del subsistema de video. If( SDL_Init(SDL_INIT_VIDEO) == -1 ) { fprintf( stderr, [Video Error]: %s\n, SDL_GetError() ); }
40 SDL 1.2 Para configurar el modo de video y resolución se debe utilizar la función SDL_SetVideoMode. Se puede configurar a SDL para dibujar con OpenGL en vez de usar las primitivas de SDL. If( SDL_SetVideoMode(640,480,32,SDL_OPENGL) == NULL ) { fprintf( stderr, [Video Error]: %s\n, SDL_GetError() ); SDL_Quit(); Exit(1); }
41 SDL 2.0 Si se está utilizando SDL 2.0 se utiliza la función SDL_CreateWindow() seguido de SDL_GL_CreateContext(). SDL_Window* window = SDL_CreateWindow("Title", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,640,480,SDL_WINDOW_OPENGL) if(window == NULL){ fprintf( stderr, [Video Error]: %s\n, SDL_GetError() ); SDL_Quit(); exit(1); } SDL_GLContext glcontext = SDL_GL_CreateContext(window); if(window == NULL){ fprintf(stderr, [GL Context Error]: %s\n,sdl_geterror() ); SDL_Quit(); exit(1); }
42 SDL 2.0 Luego de haber terminado la ejecución del programa, para liberar la memoria asociada al contexto de OpenGL se debe invocar SDL_GL_DeleteContext(). SDL_GL_DeleteContext(glcontext); SDL 2.0 puede intercambiar entre modo ventana y fullscreen sin perder el contexto de OpenGL.
43 SDL SDL_Quit(): Libera todos los recursos usados por SDL. SDL_PollEvent(&evento): se fija si ha sucedido algún evento y devuelve inmediatamente. En evento.type está el tipo de evento sucedido. Uint8* SDL_GetKeyState(NULL): devuelve el estado completo del teclado en un array. Se pueden utilizar constantes de SDL para especificar las posiciones en dicho array. Ej: SDLK_a se corresponde con la tecla a
44 SDL Swap Buffers La forma de indicar el intercambio entre el front buffer y el back buffer se implementa diferente según la versión del SDL SDL 1.2: SDL_GL_SwapBuffers(); SDL 2.0: SDL_GL_SwapWindow(window);
45 OpenGL: Notas generales El prefijo de las funciones indican la librería a la que pertenece. Ej: glcolor3f, gluperspective, etc. El postfijo de las funciones indican el tipo de datos con los que trabaja Ej: glvertex3iv recibe vértices definido con tres coordenadas de tipo int en formato vector. Ej: gltexcoord2f recibe una coordenada de textura compuesta por dos valores de tipo float.
46 OpenGL: Notas generales Las constantes se escriben en mayúsculas. Ej: SDL_VIDEO_INIT, GL_DEPH_TEST, etc. Encabezados #include SDL.h #include SDL_opengl.h Al incluir el segundo encabezado se resuelven conflictos de nombres dependientes de la plataforma.
47 OpenGL: Notas generales OpenGL es una máquina de estados! El efecto de cada comando queda definido por el estado actual de dibujado. Los estados son banderas que especifican que funcionalidades están habilitadas/deshabilitadas y cómo se deben aplicar. Existen datos internos que son utilizados para determinar cómo un vértice debe ser transformado, iluminado, textureado, etc.
48 Estructura del programa Main: Abrir la ventana y configurar las bibliotecas. Inicializar estado de OpenGL Loop principal Loop principal: Chequear eventos y tomar decisiones Actualizar el sistema según el tiempo que pasó Redibujar Limpiar los buffers (color, z-buffer, etc.) Cambiar estado de dibujado y dibujar
49 Loop principal Para dar la ilusión de movimiento (al igual que en el cine) se genera una secuencia de imágenes estáticas levemente diferente. Frame rate: cantidad de fotogramas (frames) que se presentan por segundo. Las distancias que los objetos se mueven entre un frame y el siguiente puede depender tiempo que ha transcurrido (o no).
50 Loop principal Si el movimiento de los objetos es dependiente del frame rate, al cambiar de hardware los objetos van a demorar más (o menos) para ir desde un punto a otro en la escena. Si el movimiento es independiente del frame rate, al cambiar de hardware los objetos van a demorar lo mismo para ir de un punto a otro. Lo que cambia es la cantidad de cuadros intermedios.
51 Limpiar los buffers La acción de limpiar los buffers se refiere a inicializarlos con un valor definido. El valor utilizado para limpiar el buffer de color es el color de fondo. El valor utilizado para limpiar el z-buffer es la profundidad correspondiente a la distancia máxima visible. Cualquier primitiva que se encuentre más lejos no se va a dibujar.
52 Dibujando primitivas Una forma en la que se dibujan primitivas utilizando OpenGL es indicando los datosque definen a cada vértice Posición, color, coordenadas de textura, etc. Dado que OpenGL es una máquina deestados, tenemos que cambiar al estado correcto. glbegin( primitivetype ); //Definición de vértices glend();
53 Tipos de primitivas GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_POLYGON GL_TRIANGLES* GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS* GL_QUAD_STRIP * Se usan en los prácticos
54 Transformaciones La transformación que se le aplica a un vértice antes de dibujarlo en pantalla queda definida por el estado de dos matrices: glmatrixmode( glmatrixmode( GL_PROJECTION ); GL_MODELVIEW ); GL_PROJECTION: definición de las características de la cámara. GL_MODELVIEW: transformaciones sobre los objetos 3D de la escena.
55 Transformaciones Es recomendable que la información de cada una de las matrices sea el adecuado al rol que cumple. Si la matriz GL_PROJECTION no almacena la información de la cámara, cada vez que se limpia la matriz GL_MODELVIEW se tiene que calcular de nuevo la matriz de transformación que describe la cámara.
56 Transformaciones glloadidentity(): carga la transformación identidad. gltranslatef(x,y,z): traslación según el vector definido por (x,y,z) glrotatef(angle,x,y,z): realiza una rotación de angle grados según el eje (x,y,z) glscale(x,y,z): escala cada eje dependiendo del valor de (x,y,z)
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
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
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
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
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
GRAPHICS PIPELINE. Computación Gráfica
GRAPHICS PIPELINE Computación Gráfica Rendering Proceso de generar una imagen 2D a partir de un modelo 3D Offline vs. Real-time Rendering Exactitud sobre rapidez. Películas, diseño de productos, aplicaciones
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
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
Laboratorio de Graficación. Garibaldi Pineda García
Laboratorio de Graficación Garibaldi Pineda García [email protected] OpenGL API Máquina de estados Implementa un pipeline de visualización 3D OpenGL Básicamente transforma modelos a pixeles Evita que
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
Taller # 1 (OpenGL/GLUT)
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN OPCIÓN: COMPUTACIÓN GRÁFICA INTRODUCCIÓN A LA COMPUTACIÓN GRÁFICA Caracas, 29 de Septiembre 2010 Taller # 1 (OpenGL/GLUT) OpenGL
Visualización y Realismo: Problemas Capítulo 2
Visualización y Realismo: Problemas Capítulo 2 Carlos Ureña Almagro Curso 2011-12 1 Problema 2.1 Calcula los coeficientes de la ecuación implícita de la recta que pasa por los puntos p 0 y p 1 Y p 0 p
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
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
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN PLAN DE ESTUDIOS DE LA LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN PROGRAMA DE ASIGNATURA SEMESTRE: 7 (SÉPTIMO) Graficación
Tema 1: Modelado poligonal
Tema 1: Modelado poligonal José Ribelles VJ1221 Informática Gráfica Departamento de Lenguajes y Sistemas Informáticos, Universitat Jaume I Tema 1: Modelado poligonal 1 Contenido 1 Introducción 2 Orígenes
CUDA + OpenGL. Alvaro Cuno 23/01/2010
CUDA + OpenGL Alvaro Cuno 23/01/2010 1 OpenGL Biblioteca gráfica escalable y multiplataforma Linux, Windows, Solaris, Amiga... Permite el desarrollo de aplicaciones interactivas 2D y 3D Provee Primitivas
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
GPU - Procesadores de vértices
GPU - Procesadores de vértices Sistemas Gráficos 66.71 UBA 2014 Sistemas Gráficos 66.71 (UBA) GPU - Procesadores de vértices 2014 1 / 28 Índice 1 Arquitectura de la GPU Vertex Shaders Actividad 1 Actividad
Requisitos. Conceptos de graficación en 3D:
Requisitos Conceptos de graficación en 3D: 1. Cámara virtual. 2. Iluminación. 3. Representación de cuerpos en 3D (modelado). 4. Materiales. 5. Interacción de la luz con los materiales. 6. Transformaciones
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
El API de WebGL JUAN CARLOS CONDE RAMÍREZ COMPUTER ANIMATION
El API de WebGL JUAN CARLOS CONDE RAMÍREZ COMPUTER ANIMATION Evolución de los gráficos, I Los conceptos básicos de gráficos interactivos no han cambiando mucho desde hace varios años. Por otro lado, las
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
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
C =[x 1,y 1,x 2,y 2,...,x n,y n ]
Práctica 1 Realizar un programa que presente una nube de puntos en 2D utilizando los comandos de OpenGL vistos en clase. Los puntos deben variar aleatoriamente al menos en posición y color. Realizar un
OpenGL 1. Visualización 3D. Cristina Cañero
OpenGL 1. Visualización 3D Cristina Cañero Introducción OpenGL es una librería de funciones, y se puede llamar desde C. Es transparente al hardware de gráficos disponible. Tres librerías: OpenGL GLU GLUT
Computación Gráfica I CI4321
Computación Gráfica I CI4321 Teoría Prof. Víctor Theoktisto (vtheok @ usb.ve) consulta (Lunes 11:30-12:30) Laboratorio Prof. Alexander Baranya(abaranya @ ldc.usb.ve) Contenido del curso http://ldc.usb.ve/~vtheok/cursos/ci4321/sd11
C =[x 1,y 1,x 2,y 2,...,x n,y n ]
Práctica 1 Realizar un programa que presente una nube de puntos en 2D utilizando los comandos de OpenGL vistos en clase. Los puntos deben variar aleatoriamente en posición, tamaño y color. Realizar un
Métodos para detección de superficies visibles (Hearn-Baker)
Métodos para detección de superficies visibles (Hearn-Baker) Contenido Clasificación de métodos Eliminación de caras posteriores Método depth buffer Método A-buffer Qué provee OpenGl. Clasificación de
Contenido. Capítulo 1. Introducción. 1. Capítulo 2. Programación en modo gráfico para Turbo C
Contenido Capítulo 1. Introducción. 1 1.1 Breve historia de la graficación.... 2 1.1.1 Tecnología computacional.... 2 1.1.2 Tecnología computacional especializada para gráficos.... 3 1.1.3 Industria....
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
Programación Gráfica 2D ( I ) Introducción
Programación Gráfica 2D ( I ) Introducción Autor: Sergio Hidalgo [email protected] Bueno, aquí está el primero de una serie de tutoriales para explicar cómo funciona la programación gráfica en 2D,
Prof. Alexandra La Cruz ld
Computación Gráfica I CI4321 Teoría Prof. Alexandra La Cruz (alacruz @ ld dc.usb.ve) alexandra.lacruz @ gmail.com consulta (Lunes 11:30-12:30) Laboratorio Prof. VictorTheoktisto (vtheok @ usb.ve) Preparador
Objetivos. Grafismo Electrónico. 1. Objetivos. José María López Valles Despacho 1.14 Ext.Tfno: 4816
Correo-e: [email protected] Web: teleco.uclm.es/ge José María López Valles Despacho 1.14 Ext.Tfno: 4816 Objetivos 1. Objetivos Comprender las técnicas utilizadas para el modelado de objetos y personajes
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
Contenido. Aplicaciones de la infografía Arquitectura de un sistema gráfico. Modelo de Aplicación Programa de Aplicación Paquete Gráfico
Contenido Aplicaciones de la infografía Arquitectura de un sistema gráfico Modelo de Aplicación Programa de Aplicación Paquete Gráfico Aplicaciones de la infografía (I) Interfaz de usuario Representación
LABORATORIO COMPUTACIÓN GRAFICA
UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO FACULTAD DE INGENIERIA PRACTICA 5. INTERACTIVIDAD LABORATORIO COMPUTACIÓN GRAFICA PROFESORA: M.I. ELIZABETH FONSECA CHAVEZ GRUPO: 4 VAZQUEZ TOUNGATE REYNA CATALINA
Modelación de objetos 3D Parte I: Mallas de polígonos y triangulaciones
Modelación de objetos 3D Parte I: Mallas de polígonos y triangulaciones Contenido Motivación Polígonos simples 3D Almacenamiento de mallas de polígonos OpenGl y mallas de polígonos Triangulaciones Triangulaciones
Arreglos de vértices
Arreglos de vértices En lugar de que se especifiquen datos individuales del vértice en el modo inmediato (entre los pares glbegin() y glend()), es posible almacenar datos en un conjunto de arreglos incluyendo
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
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
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
Hardware para Computación Gráfica
Hardware para Cómo vamos de acá hasta acá? VyGLab Lab. de Visualización y DCIC - Universidad Nacional del Sur 1º Cuatrimestre 2015 Evolución del hardware gráfico Silvia Castro 1 Silvia Castro 2 Abstracción
Modelado Jerárquico FI UNAM 2007
Modelado Jerárquico FI UNAM 2007 En gran cantidad de aplicaciones, es conveniente poder crear y manejar partes individuales de una imagen sin afectar otras partes de las mismas. Definir cada objeto con
En este reportaje vamos a ver que es Quartz Extreme, y que ventajas aporta.
Acerca de este documento En este reportaje vamos a ver que es Quartz Extreme, y que ventajas aporta. Quartz Extreme, no es más que el nombre que Apple da a su nuevo gestor de ventanas acelerado por hardware
Introducción a 3D Transformaciones 3D
Introducción a 3D Transformaciones 3D Introducción a la Computación Gráfica Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Transformaciones 2D Traslación Rotación
Una Aplicación Informática para la Enseñanza de las Transformaciones Geométricas 3D
Una Aplicación Informática para la Enseñanza de las Transformaciones Geométricas 3D Claire Lastennet 1 ENST Bretagne F-29285 Brest cedex José Ribelles 2 Departamento de Lenguajes y Sistemas Informáticos
Introducción a la programación
Introducción a la programación PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Introducción 1 Introducción a la programación Computador: aparato electrónico capaz de interpretar
INDICE 1. Introducción: Graficación por Computador 2. Programación en el Paquete SRGP 3. Algoritmos Básicos de Gráficos de Barrido para Dibujar
INDICE 1. Introducción: Graficación por Computador 1 1.1. Algunas aplicaciones de la graficación por computador 1 1.2. Breve historia de la graficación por computadora 7 1.2.1. Tecnología de salida 9 1.2.2.
Informática Administrativa. SESIÓN #2 Sistema operativo (Microsoft Windows XP).
Informática Administrativa SESIÓN #2 Sistema operativo (Microsoft Windows XP). Contextualización Para que un equipo de cómputo funcione, es prioritario instalar un sistema operativo que permita controlar
FUNDACIÓN UNIVERSITARIA DE CIENCIAS DE LA SALUD FUCS DIVISIÓN DE DESARROLLO TECNOLÓGICO - MAV
FUNDACIÓN UNIVERSITARIA DE CIENCIAS DE LA SALUD FUCS DIVISIÓN DE DESARROLLO TECNOLÓGICO - MAV ESPECIFICACIONES TÉCNICAS Y REQUISITOS PARA EL USO DE LA HERRAMIENTA ADOBE CONNECT Requisitos para asistir
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
Lenguaje de Programación: C++ GLUTIluminación
UG GLUT Lenguaje de Programación: C++ GLUT Universidad de Guanajuato Noviembre 2010 Lenguaje de Programación: C++ GLUT Mediante la iluminación es como se consigue un mayor efecto de realismo. El modelo
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
Contenido GPU (I) Introducción Sombreadores. Operadores. Vértice Píxel Geometría. Textura Raster HDR
GPU (I) Introducción Sombreadores Vértice Píxel Geometría Operadores Textura Raster HDR Contenido Informática gráfica GPU (I) Introducción Pieza central del sistema Compuesto de diferentes módulos Interfaz
Algoritmos de Visibilidad
Algoritmos de Visibilidad BASADOS EN LA IMAGEN: Para cada pixel en la imagen determinar objeto visto más cercano dibujar pixel al color apropiado. o Z-buffer (coherencia de profundidad) Es el más popular,
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
Diagnóstico y evaluación comparativa para PC
Diagnóstico y evaluación comparativa para PC 2 AIDA64 Extreme Edition es un software de diagnóstico y evaluación comparativa simplificada de Windows para los usuarios domésticos. AIDA64 Extreme Edition
VIDEOJUEGOS 2 Iluminación
VIDEOJUEGOS 2 Iluminación V2 Motores gráficos Iluminación Se puede implementar en diferentes etapas del pipeline de la GPU Iluminación per-vertex Se implementa en la etapa de procesamiento de geometría
ELEMENTOS HARDWARE DEL ORDENADOR. Tarjeta gráfica
ELEMENTOS HARDWARE DEL ORDENADOR Tarjeta gráfica Qué es? Tarjeta Gráfica 1. Interpreta los datos que le llegan del procesador, ordenándolos y calculando el valor de cada píxel, lo almacena en la memoria
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.
Motor de Videojuegos.
Motor de Videojuegos. En un comienzo se diseñaban los videojuegos para un hardware específico, usando directamente instrucciones de los diversos microprocesadores. Si se deseaba que el videojuego fuera
Estructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
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
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
Capítulo 6: Visualizador de Rotaciones Multidimensionales
Capítulo 6: Visualizador de Rotaciones Multidimensionales La imaginación es más importante que el conocimiento. Albert Einstein En este capítulo se describe el desarrollo de un visualizador de rotaciones
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:
Tema 3: Transformaciones Geométricas
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 Traslación Escalado Rotación 3 4 5 6 Introducción Por
CÓMO APLICAR LA TECNOLOGÍA GPU A LOS SISTEMAS DE INFORMACIÓN GEOGRÁFICA PARA MEJORAR LOS ALGORITMOS DE RENDERIZACIÓN DE MAPAS
CÓMO APLICAR LA TECNOLOGÍA GPU A LOS SISTEMAS DE INFORMACIÓN GEOGRÁFICA PARA MEJORAR LOS ALGORITMOS DE RENDERIZACIÓN DE MAPAS Sergio Jorrín Abellán Director SIG / GIS Director Geograma S.L. Castillo de
2. TRANSFORMACIONES: DANDO ÓRDENES A LA TORTUGA (FORWARD, RIGHT, LEFT, UP Y DOWN)
Capítulo 2 1 2. TRANSFORMACIONES: DANDO ÓRDENES A LA TORTUGA (FORWARD, RIGHT, LEFT, UP Y DOWN) En el presente capítulo se introduce el concepto de transformación y de las matrices que las definen, tanto
4.1 Conceptos Básicos de Matlab. Matlab es creado por The MathWorks, el cual es un idioma de alto rendimiento
MATLAB CAPÍTULO 4 Realización Activa en 4.1 Conceptos Básicos de es creado por The MathWorks, el cual es un idioma de alto rendimiento para la informática técnica. Integra cómputo, visualización, y programación
Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:
Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro
CURSOS de MICROSOFT OFFICE Temario
CURSOS de MICROSOFT OFFICE Temario ÍNDICE DE CONTENIDOS TEMARIO DEL CURSO DE WORD NIVEL BÁSICO... 3 TEMARIO DEL CURSO DE WORD NIVEL INTERMEDIO... 4 TEMARIO DEL CURSO DE WORD NIVEL AVANZADO...... 5 TEMARIO
Guía de instalación del navegador Mozilla Firefox
2012 Guía de instalación del navegador PRICE SHOES 27/11/2012 Tabla de contenido Qué es Firefox?... 3 Por qué debo usar Firefox?... 3 Dónde encuentro información en español acerca de Firefox?... 3 Cómo
