PDF de programación - Librerías Gráficas Introducción a OpenGL

<<>>
Imágen de pdf Librerías Gráficas Introducción a OpenGL

Librerías Gráficas Introducción a OpenGLgráfica de visualizaciones

Publicado el 21 de Febrero del 2019
1.065 visualizaciones desde el 21 de Febrero del 2019
435,4 KB
9 paginas
Librerías Gráficas

Introducción a OpenGL

Introducción

• Sistema gráfico :

– Modelos + Visualización

• Visualización:

– Uso de hardware específico (2D o 3D)
– Implementación a través de librerías

Definición de librería gráfica

Librerías, ficheros, sintaxis

• Software que genera imágenes en base a unos

modelos matemáticos y unos patrones de
iluminación, texturas, etc.

• Origen

– IGL-Plot 10 (Tektronix)
– Starbase (Hewlett Packard)
– Iris GL Library (SGI)

• Distinguir la naturaleza de otros sistemas

gráficos
– VRML, X3D (Lenguajes de descripción)
– DirectX-Direct3D
– Java 3D
– Open Inventor
– Performer, Fahrenheit
– Motores

Objetivos de las librerías gráficas

Tipos de librerías gráficas

• Independencia del hardware (tanto

dispositivos de entrada como de salida).

• Independencia de la aplicación (la librería
es accedida a través de un interface único
(al menos para cada lenguaje de
programación) para cualquier aplicación.

• Direct Rendering and gfx packages:

– OpenGL, Direct3D, GKS, PHIGS, PEX, GKS, etc…

• Scene-graph based

– OpenGL Performer, Open Inventor, OpenGL Optimizer,

PHIGS+, etc…

• Toolkits

– World Toolkit, AVANGO, Game Engines, etc…

1

...

• Gestión imágenes 3D

– “Bajo nivel”

• Tareas

– Gestión “en serie” de los elementos de la escena
– Elementos de la escena
» Primitivas gráficas
» “Atributos” (" edición imágenes)

– Variables de estado

Generación imagen

• Sistemas

– OpenGL
– Direct 3D
– Java 3D

– “Alto nivel” …

...
• (... Gestión imágenes 3D)

– “Alto nivel”

• Tareas

– Gestión global de los elementos de la escena
– Árbol escena
– Carga/descarga de memoria
– Gestión elementos no visibles
– Elección del modelo geométrico: Nivel detalle, Textura
– Elección de la técnica de presentación (rendering)

• Sistemas

– Inventor
– Performer
– ( Fahrenheit )
– Hewlett Packard

DirectX Componentes

DirectX - Introducción

• DirectDraw
• DirectSound
• DirectPlay
• Direct3D
• ....

• ¿Qué es DirectX?

– Conjunto de API´s que permite a los

desarrolladores de contenido interactivo
(imagen, video, sonido...) acceder a
características de hardware especializado sin
tener que escribir código específico de
hardware

DirectX - Introducción

• Componentes incluidos en DirectX

– Nos permiten desarrollar aplicaciones de alto

rendimiento y en tiempo real
• API Direct Play
• API Direct I nput
• API Direct Sound
• API Direct Draw
• API Direct 3D

DirectX - Introducción

• Objetivos de DirectX

– Desarrollo de Aplicaciones Windows de alto

rendimiento
• Tarjetas aceleradoras
• Plug´n Play
• Servicios de comunicaciones construidos bajo

Windows

• Recursos instalados en el sistema

– Utilización del nuevo hardware implementado

2


DirectX - Introducción
• DirectX & COM (Component Object

Model)

• Obj et o: caja negra que representa el hardware y

requiere comunicación con las aplicaciones a través
de una interface.

• Mét odo: comandos enviados y recibidos por el

objeto a través de la interface COM

– Ej.: Método Get DisplayMode es enviado a

través de la interface I Direct Draw2 para
tomar el valor de la actual resolución de la
pantalla mediante el objeto Direct Draw

DirectX - DirectDraw

• Se encarga del manejo de la memoria de vídeo
• Proporciona herramientas para

– Manipulación de múltiples buffers de vídeo
– Acceso directo a la memoria de vídeo
– Page flipping
– Back Buffering
– Manejo de la paleta gráfica
– Clipping

DirectX - DirectDraw

• Tipos de objetos
– I Direct Draw
– I Direct DrawSurf ace
– I Direct DrawPalet t e
– I Direct DrawClipper
– I Direct DrawVideoPort

DirectX - DirectDraw

• Conceptos Gráficos y Técnicos

– Bitmaps
– Superficies de dibujo (buffers)
– Page Flipping y Back Buffering
– Rectángulos
– Sprites
– Niveles cooperativos
– Modos de vídeo
– Buffers
– Overlays
– Clippers
– Video Ports

DirectX - DirectSound

DirectX - DirectSound

• Componente de Audio de DirectX:

– Mezclado de canales de audio
– Aceleración hardware
– Acceso directo al dispositivo de sonido
– Captura de Audio

• Interfaces COM

– I Direct SoundBuf f er
– I Direct Sound3DBuf f er
– I Direct Sound3DListener
– I Direct SoundCapt ure
– I Direct SoundCapt ureBuf f er

3

DirectX - Direct3D
• Interfaz gráfica para hardware 3D

– Permitir gráficos tridimensionales interactivos

en aplicaciones de Windows

• 2 Modos:

– Inmediato

• API 3D de bajo nivel
• Independiente del dispositivo
• Programadores experimentados

– Retenido (Obsoleta)

• Desarrollo rápidos
• Capa superior del inmediato

DirectX - Direct3D

• Conceptos Básicos

– Triángulos
– Reglas de rasterización de triángulos

DirectX - DirectPlay

• Simplifica el acceso de las aplicaciones a

los servicios de comunicación

• Otorga independencia para la creación de

servidores de juegos

• Comunicaciones

– Peer-to-Peer
– Cliente/Servidor

DirectX - Direct3D

• Conceptos Básicos

– Sistemas de coordenadas 3-D
• Left-handed (mano izquierda)
• Podemos simular el right-handed

– Transformaciones 3-D

• Traslación
• Rotación
• Escalado
– Polígonos

• Normales de cara y vértice
• Modos de sombreado
• Interpolaciones de triángulos

OpenGL

Objetivos de diseño de OpenGL:

• Introducido en 1992 por SGI
• Basado en IRIS GL, un API para

workstations SGI

• Es un open standard que ha sido adoptado
ampliamente para todo tipo de aplicaciones
gráficas

• Se desarrolla bajo la supervisión del

OpenGL architecture review board

• API gráfico de altas prestaciones (con

aceleración por hardware)

• Posee cierta independencia del hardware
• Es un API natural (en C) con posibilidad de

extensibilidad

4

Se convierte en standard porque …

• No trata de hacer demasiadas cosas:

– Sólo renderiza la imagen, no gestiona ventanas, etc...
– No posee animación de alto nivel, modelado, sonido,

etc...

• Hace lo suficiente:

– Efectos de renderizado útiles y altas prestaciones

• Fue promovido por empresas líderes en el sector

(SGI, Microsoft, etc)

Ventajas de OpenGL



Industry standard
An independent consortium, the OpenGL Architecture Review Board, guides
the OpenGL specification. With broad industry support, OpenGL is the only
truly open, vendor-neutral, multiplatform graphics standard.

• Stable

OpenGL implementations have been available for more than seven years on
a wide variety of platforms. Additions to the specification are well controlled,
and proposed updates are announced in time for developers to adopt changes.
Backward compatibility requirements ensure that existing applications do not
become obsolete.

• Reliable and portable

All OpenGL applications produce consistent visual display results on any
OpenGL API-compliant hardware, regardless of operating system or
windowing system.

Ventajas de OpenGL

Ventajas de OpenGL

• Evolving

Because of its thorough and forward-looking design, OpenGL allows new
hardware innovations to be accessible through the API via the OpenGL
extension mechanism. In this way, innovations appear in the API in a timely
fashion, letting application developers and hardware vendors incorporate new
features into their normal product release cycles.

• Scalable

OpenGL API-based applications can run on systems ranging from consumer
electronics to PCs, workstations, and supercomputers. As a result,
applications can scale to any class of machine that the developer chooses to
target.

• Easy to use

OpenGL is well structured with an intuitive design and logical commands.
Efficient OpenGL routines typically result in applications with fewer lines of
code than those that make up programs generated using other graphics
libraries or packages. In addition, OpenGL drivers encapsulate information
about the underlying hardware, freeing the application developer from having
to design for specific hardware features.

• Well-documented

Numerous books have been published about OpenGL, and a great deal of
sample code is readily available, making information about OpenGL
inexpensive and easy to obtain.

Renderizado de OpenGL

Arquitectura 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 mapeador de texturas

• El renderizado depende del estado (luces, colores,

materiales, etc)

5

Capacidades de OpenGL

Capacidades de OpenGL

• Accumulation buffer A buffer in which multiple rendered frames can

be composited to produce a single blended image. Used for effects
such as depth of field, motion blur, and full-scene anti-aliasing.
• Alpha blending. Provides a means to create transparent objects.
• Automatic rescaling of vertex normals changed by the modeling

matrix.

• BGRA pixel formats and packed pixel formats to directly support

more external file and hardware frame buffer types.

• Color-index mode. Color buffers store color indices rather than red,

green, blue, and alpha color components.
Immediate mode. Execution of OpenGL commands when they're
called, rather than from a display list.



• Display list. A named list of OpenGL commands. The contents of a
display list may be preprocessed and might therefore execute more
efficiently than the same set of OpenGL commands executed in
immediate mode.

• Double buffering. Used to provide smooth animation of objects. Each
successive scene of an object in motion can be constructed in the back
or "hidden" buffer and then displayed. This allows only complete
images to ever be displayed on the screen.

• Feedback. A mode where OpenGL will return the processed geometric

information (colors, pixel positions, and so on) to the application as
compared to rendering them into the frame buffer.

• Level of detail control for mipmap textures to allow loading only a

subset of levels.

• Materials lighting and shading. The ability to accurately compute the

color of any point given the material properties for the surface.

• Pixel operations. Storing, transforming, mapping, zooming.
• Polynomial evaluators. To support non-uniform rational B-splines

(NURBS).

• Primitives.
  • Links de descarga
http://lwp-l.com/pdf15306

Comentarios de: Librerías Gráficas Introducción a 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