Sesión 3 Software de Computación Gráfica
Sesión 3 Software de Computación Gráfica
Computación Gráfica
Escuela de ingeniería de 750006M
sistemas y computación
2021-1
1 | Software de computación gráfica
Clasificación del software CG
● Proporcionar descripciones
geométricas.
● Uso principalmente de
coordenadas cartesianas
estándar.
● Definir formas individuales de
cada objeto con su respectivo
sistema de referencia.
Coordenadas de modelado.
(modeling coordinates, local
coordinates, master
coordinates)
Representación de coordenadas
● Transformaciones de coordenadas:
Computer Graphics with OpenGL®, Fourth Edition, Donald Hearn, M. Pauline Baker, Warren R. Carithers.
SGPG Funciones gráficas
Funciones para la creación y manipulación de imágenes y datos relacionados.
● Primitivas de salida. Partes básicas para la construcción de imágenes: Cadenas
de caracteres, entidades geométricas (Puntos, líneas rectas, líneas curvas,
polígonos, matrices de puntos.
● Atributos. Propiedades de las primitivas de salida: color, estilo de línea, estilo
de texto, patrones de relleno de áreas.
● Transformaciones geométricas: Funciones que permiten hacer cambios en el
tamaño, posición, orientación de un objeto modelado.
● Transformaciones de visualización. Se utilizan para proyectar una vista de un
objeto en un dispositivo de salida. Selección de vista, tipo de proyección,
posición dispositivo salida, tamaño, estructura, iluminación, textura.
● Funciones de entrada. Permiten controlar y procesar datos de dispositivos de
entrada
SGPG Estándares de software
Permiten portabilidad, traslado del software de un sistema de hardware a otro
usando las diferentes implementaciones y aplicaciones.
● 1984 Graphical Kernel System (GKS). Inicialmente 2D, ISO, ANSI.
● Programmer’s Hierarchical Interactive Graphics System (PHIGS). Extensión de
GKS. Modelado jerárquico, color , representación de superficies.
● PHIGS+. Extensión de PHIGS, representación superficies 3D.
● Graphics Library(GL). Inicialmente incluido en estaciones de trabajo de SGI.
Ganó popularidad. Renderizado rápido y en tiempo real, extensión a otros
sistemas de hardware.
● 1990 OpenGL. Versión de GL independiente del hardware. Procesamiento
eficiente para aplicaciones 3D. Manejo de dos dimensiones z=0.
● Correspondencia del lenguaje. Funciones gráficas son independientes del
lenguaje de programación. Desarrollo sintaxis para cada acceso desde LP.
2 | Introducción a OpenGL
OpenGL - Biblioteca básica
● OpenGL posee una biblioteca básica que le permite ser independiente del
hardware. Hay subrutinas de entrada y salida disponibles en bibliotecas
auxiliares.
● También llamada biblioteca de núcleo de OpenGL.
● Las funciones empiezan con el prefijo gl y cada palabra del nombre empieza con
mayúscula: glBegin, glClear, glCopyPixels, glPolygonMode
● Constantes simbólicas. Requeridas por algunas funciones. Prefijo GL
mayúsculas, las palabras que conforman el nombre se escriben en mayúsculas
con un guión abajo de separador: GL_2D, GL_RGB, GL_CCW, GL_POLYGON,
GL_AMBIENT_AND_DIFFUSE
● Tipos de datos predefinido. Nombre empieza con las mayúsculas GL y, a
continuación, un identificador de tipo de datos estándar, escrito con letras
minúsculas: GLbyte, GLshort, GLint, GLfloat, GLdouble, Glboolean
●
OpenGL - Bibliotecas auxiliares
● OpenGL Utility (GLU) :
○ Configuración de matrices de visualización y proyección.
○ Descripción objetos complejos mediante líneas y polígonos.
○ Visualización de cuádricas y B-splines
○ Sintaxis: Las funciones comienzan con el prefijo glu en minúscula
● OpenGL X Window System (GLX):
○ Permite crear una ventana de visualización del programa.
○ Sintaxis: funciones con prefijo glX.
○ Diferentes sistemas operativos: Apple: AGL, Windows: WGL, IBM OS/2: PGL
● OpenGL Utility Toolkit (GLUT):
○ Biblioteca de funciones para interactuar con cualquier sistema de ventanas
○ Permite que los programas sean independientes del dispositivo
○ Sintaxis: Prefijo glut
OpenGL - Archivos de cabecera
● Para cada programa se debe incluir la biblioteca núcleo OpenGL.
● Algunos programas requieren GLU
● En Windows el archivo para subrutinas adicionales es windows.h, debe incluirse
antes de la biblioteca núcleo y de GLU:
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
● Si usa GLUT como gestor de ventanas no requerirá incluir gl.h ni glu.h:
#include <GL/glut.h>
● Dependiendo del sistema operativo las cabeceras podrían estar en una
ubicación diferente.
● También puede incluir librerías auxiliares de C++. Ejemplo: #include <stdio.h>
#include <stdlib.h> #include <math.h>
●
OpenGL - Programa Completo
Computer Graphics with OpenGL®, Fourth Edition, Donald Hearn, M. Pauline Baker, Warren R. Carithers.
OpenGL - Programa Completo
● Clonar Repositorio
● Ejecutar listing_1-1.html
Beginning WebGL for HTML5 by Brian Danchilla (Apress, 2012).
WebGL
Adicionar el contexto