[go: up one dir, main page]

0% encontró este documento útil (0 votos)
49 vistas33 páginas

Ingenieria de Sistemas Computacionales 2022-1 Computacion Grafica Visual

Este documento introduce conceptos básicos de OpenGL como una interfaz de programación de aplicaciones para gráficos por hardware, sus librerías relacionadas y cómo generar formas primitivas. Explica el proceso de generación de imágenes en OpenGL y conceptos como estados y transformaciones.

Cargado por

ulices champa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas33 páginas

Ingenieria de Sistemas Computacionales 2022-1 Computacion Grafica Visual

Este documento introduce conceptos básicos de OpenGL como una interfaz de programación de aplicaciones para gráficos por hardware, sus librerías relacionadas y cómo generar formas primitivas. Explica el proceso de generación de imágenes en OpenGL y conceptos como estados y transformaciones.

Cargado por

ulices champa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 33

INGENIERIA DE SISTEMAS

COMPUTACIONALES

2022-1
COMPUTACION GRAFICA
VISUAL
UNIDAD 1:
Introducción a la Computación Gráfica y Visual
INTRODUCCION A OPENGL
REFLEXIONA

¿Qué es una API?

¿Qué es OpenGL?
LOGRO DE LA
SESION
• Al término de la sesión el estudiante aprendé los conceptos y definiciones de
OpenGL, su arquitectura, sus librerías y la instalación básica de un ambiente de
desarrollo. Además el estudiante estará en capacidad desarrollar diferentes
figuras primitivas incluyendo: líneas, círculos, polígonos, cuadrados, etc. Así
mismo establece diferentes propiedades de estado que afectan a las figuras
diseñadas.
Temario:

Introducción a OpenGL: Arquitectura,


Librerías, Configuración de Dev C++.
Proceso de Generación de Imágenes.
Formas Básicas primitivas.
Introducción a OpenGL
INTRODUCCIÓN A OPENGL
INTRODUCCIÓN A OPENGL
• Es una interfaz, un software para gráficos por hardware.
• Es una biblioteca de trazado de gráficos.
• Es portable.
• Es independiente de la plataforma (Windows, Linux, Mac, Android)
• Se desarrolla en diferentes lenguajes de programación: C#, Java, Phyton,
C++, C, JavaScript, etc
• Mantiene un estándar con lar arquitectura general de dispositivos gráficos
(Nvidia, ATI, Intel, AMD)
RENDERIZADO DE OPENGL

• Primitivas Geométricas:
• Puntos, Líneas y Polígonos
• Primitivas de Imágenes
• Imágenes y bitmaps
• Pipelines separados para imágenes y geometría unidos mediante el
mapeado de texturas.

La mayoría de las implementaciones de OpenGL implementan un orden de


operaciones idéntico, una serie de etapas de procesamiento denominado:
• Flujo de renderización de OpenGL (OpenGL rendering pipeline)
El renderizado depende del estado (luces, colores, materiales, etc.)
LIBRERÍAS RELACIONADAS A OPENGL

• Existen una serie de bibliotecas (Librerías) relacionadas para


facilitar el trabajo con OpenGL:
• GLU (OpenGL Utility Library)

• GLX (X Window System) y WGL (Microsoft Windows)

• AUX (Auxiliary OpenGL functions)

• GLUT (OpenGL Utility Toolkit)


LIBRERÍAS RELACIONADAS A OPENGL
GLU (OpenGL Utility Library)

• Crear matrices, visualizar superficies y cuadriculación de


polígonos.

• Esta biblioteca suele estar incluida en las implementaciones


OpenGL y sus métodos son fácilmente reconocibles porque
comienzan con el prefijo: glu.
LIBRERÍAS RELACIONADAS A OPENGL
GLX (X Window System) y WGL (Microsoft Windows)

• GLX da soporte para maquinas que utilicen X Window System y


permite realizar todos los procesos gráficos relacionados con las
ventanas de la aplicación.

• WGL es el equivalente para sistemas Microsoft.


LIBRERÍAS RELACIONADAS A OPENGL
AUX (Auxiliary OpenGL functions)

• La biblioteca de funciones AUX fue desarrollada en la etapa inicial de


desarrollo de OpenGL por SGI para servir de apoyo a la creación de
pequeños programas de demostración.

• Actualmente esta declarada obsoleta y ya no está ni soportada ni


actualizada.
LIBRERÍAS RELACIONADAS A OPENGL
GLUT (OpenGL Utility Toolkit)

• Sistema de ventanas, independiente del sistema usado.

• Ofrece una interfaz común para múltiples plataformas para el manejo de


ventanas, buffers, renderización de texto, entrada por teclado, menús.
ESTADOS EN OPENGL
Proceso de Generación de
Imágenes
Proceso de Generación de Imágenes
Analogía con la cámara
Proceso de Generación de Imágenes
Transformación de Modelado
Proceso de Generación de Imágenes
Transformación de Visualización
Proceso de Generación de Imágenes
Transformación de Proyección
Formas Básicas primitivas
Formas Básicas primitivas

• En OpenGL, un objeto se compone de


primitivas geométricas como triángulo,
cuadrante, segmento de línea y punto.
Una primitiva está formada por uno o
más vértices. OpenGL admite las
siguientes primitivas:

• Definidas entre glBegin (PRIMITIVA) y


glEnd().

• Hay 10 primitivas básicas (de tipo punto,


línea y polígono).
Formas Básicas primitivas

• Podemos dibujar puntos, líneas y polígonos. Para definir un punto en el espacio 3D,
usaremos la función: glVertex3f(x, y, z). Estos puntos se unen formando estructuras, como
líneas y polígonos. La siguiente tabla muestra alguna de las opciones que tenemos:
La convención se puede expresar de la siguiente manera:

• Comienza con minúsculas gl(para el núcleo de OpenGL), glu(para la utilidad OpenGL) o glut(para el kit
de herramientas de la utilidad OpenGL).

• Seguido del propósito de la función, en caso de camello ( en mayúscula inicial), por ejemplo,
glColorpara especificar el color del dibujo, glVertex para definir la posición de un vértice.

• Seguido de especificaciones para los parámetros, por ejemplo, glColor3ftoma tres float parámetros.
glVectex2itoma dos int parámetros.
Prototipos Funciones
Colores

• Por defecto, el trazado de las líneas y puntos es blanco,


pero podemos cambiarlo. Para hacer esto, usaremos la
función:

glColor3f(r, g, b)

El valor de r, g y b debe estar entre 0 y 1 (¡y no entre 0 y


255!).
Constantes:

• De OpenGL constantes comienza con " GL_", " GLU_" o " GLUT_", en
mayúsculas separados por guiones, por ejemplo, GL_COLOR_BUFFER_BIT.

glVertex3f (1.1f, 2.2f, 3.3f); // 3 parámetros de Glfloat


glVertex2i (4, 5); // 2 parámetros GLint
glColor4f (0.0f, 0.0f, 0.0f, 1.0f); // 4 parámetros GLfloat

GLdouble aVertex [] = {1.1, 2.2, 3.3};


glVertex3fv (aVertex); // una matriz de 3 valores GLfloat
ESTRUCTURA BÁSICA
¿Preguntas o
Comentarios?
• CIERRE SESIONSistema
recursos de HW y actúa como una
máquina virtual.
• ElOpenGL es una buena elección para
generación de efectos visuales, escenas, etc,
debido a su portabilidad, estandarización y
potencia gráfica. OpenGL esta pasando a
segundo plano ante los nuevos programas de
diseño que realizan tareas
automáticamente.SO
Referenc
ias
• Nanyang Technological University. (s. f.). Introducción a OpenGL
con gráficos 2D. Recuperado 18 de agosto de 2020, de
https://www3.ntu.edu.sg/home/ehchua/programming/opengl/CG_I
ntroduction.html
• Carlos Gonzáles Morcillo (s. f.). Introducción a OpenGL para RA.
Recuperado 18 de agosto de 2020, de
http://www.librorealidadaumentada.com/descargas/transparencias/
sesion01_04.pdf
GRACIA
S

También podría gustarte