PDF de programación - Qué es OpenGL

Imágen de pdf Qué es OpenGL

Qué es OpenGLgráfica de visualizaciones

Publicado el 2 de Agosto del 2017
3.129 visualizaciones desde el 2 de Agosto del 2017
1,0 MB
18 paginas
Creado hace 13a (26/11/2010)
 OpenGL es una biblioteca para el desarrollo de gráficos

por computadora en 2D y 3D multiplataforma (Linux,
Windows, Unix, MacOS, PS3)

 Su nombre proviene de Open Graphics Library

 Es una especificación que define una API para la

programación de gráficos en varios lenguajes

 Objetivos

1. Ocultar complejidad de Hardware
2. Ocultar las capacidades del Hardware



Propósito: Dibujado (puntos, líneas,
polígonos)

 OpenGL como una Máquina de estados (o

switches)

 Funciones para dibujar en 2D y 3D
 Transformaciones
 Algoritmos de iluminación
 Z-Buffering
 Mapeo de Texturas
 Soporte para Shaders
 Blending, elementos de antialiasing , efectos

de Fog

 Funciones para manejar ventanas, eventos

de ratón o teclado

 Funciones o procedimientos para crear un

objeto completo a partir de una descripción
natural ejemplo: comando drawCar();

 Soporte nativo para dibujado de curvas
 Soporte nativo para audio y/o texto
 Detección de colisiones
 Carga de imágenes

5

 Ventanas, mouse, teclado????

◦ GLUT, JOGL
◦ API de Win32
◦ IDE de desarrollo (forms, eventos, etc.)

 Imágenes
◦ SDL Image
◦ Devil

 Sonido

◦ SDL Mixer
◦ OpenAL
◦ fmod

6

 OpenGL contiene 3 elementos distintos

básicos:
◦ Funciones
◦ Constantes
◦ Tipos de datos

7

 Usos

◦ Dibujado de elementos
◦ Manipulación de proyecciones
◦ Transformaciones Geométricas
◦ Habilitación / Deshabilitación de “switches”
◦ Texturizado
◦ Aplicación de elementos para lograr iluminación
◦ Cuenta con 150 funciones básicas

8

 Se anteponen gl si pertenecen a la

biblioteca OpenGL, glu o glut si son de
éstas respectivamente

 Contienen información al final de cuántos

parámetros reciben y cuál es su tipo

 Ejemplos:
◦ glVertex3f
◦ glVertex4fv
◦ glVertex2i

9

glVertex3fv( v )

glColor3fv( v )

Number of
components

2 - (x,y)
3 - (x,y,z),

(r,g,b)

4 - (x,y,z,w),

(r,g,b,a)

Data Type

Vector

b - byte
ub - unsigned byte
s - short
us - unsigned short
i - int
ui - unsigned int
f - float
d - double

omit “v” for
scalar form–

e.g.,

glVertex2f(x, y)

glColor3f(r, g, b)

10

 Usos

◦ Activar o desactivar ciertas propiedades de

dibujado o switches

◦ Dar ciertos valores a parámetros de funciones que

configuran algún elemento

 Mayúsculas, empezando con GL
 Nombres descriptivos

11

 Ej.

◦ GL_LIGHTING
◦ GL_COLOR_BUFFER_BIT
◦ GL_LINES

 También las encontramos en GLUT

Ej.
◦ GLUT_LEFT_BUTTON

12

 Set:

◦ glPointSize(size);
◦ glLineWidth(width);
◦ glLineStipple(repeat, pattern);
◦ glShadeModel(GL_SMOOTH);

 Get:

◦ glGet*();

 Habilitaciones:

◦ glEnable(GL_LIGHTING);
◦ glDisable(GL_TEXTURE_2D);
◦ glIsEnable(GL_DEPTH_TEST);

13

 OpenGL es una máquina de estados: los polígonos son

afectados por el color, la transformación, el modo de
render actuales.

 Habilitar y deshabilitar opciones como iluminación, uso

de texturas y alpha blending.

◦ glEnable (GL_LIGHTING); // habilitar lighting (disabled por

default)

 Olvidarse de habilitar/deshabilitar algo es el origen más
común de los bugs. Corroborar siempre el estado de las
variables que necesitamos y sus valores por default.
(lista de defaults en Apéndice B).

14

 Borrar contenido del buffer actual
 Setear transformaciones (View Projection,

Viewport transf.)

 Loop para cada primitiva:

◦ Transformaciones
◦ Tipo de primitiva, atributos, estados de render

 Flush o Swap buffers

15

 Salón de exposiciones:

◦ Datos en pantalla
◦ Environment Mapping (modelo)
◦ Sombras y/o reflejos (habitación)
◦ Efecto adicional (blending, lightmaps)

16

 En la web: (próximamente)

◦ Clases.
◦ Links.

 Busquen (o nos piden):
◦ Recursos (3ds, ase, obj)

 En Diciembre:

◦ Trabajo de cursada (load, light, cámara).

 Consultas vía MAIL (claridad e info):

[email protected]
[email protected]

17

 https://jogl-demos.dev.java.net/
 http://pepijn.fab4.be/software/nehe-java-

ports/

18
  • Links de descarga
http://lwp-l.com/pdf6016

Comentarios de: Qué es OpenGL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad