Herramientas y bibliotecas para gráficas

Slides:



Advertisements
Presentaciones similares
Braulio Solano Rojas Director General de Solsoft de Costa Rica S.A.
Advertisements

el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
integrantes Avalos Aguilar María Cristina
IBD Plan 90 y 2003 Clase 10.
Diseño y Animación en la Educación Presentado por: Roger Brandao Juan Bermúdez Francisco Bravo Antony Domínguz.
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
SISTEMAS OPERATIVOS.
HTML (Historia) Rogelio Ferreira Escutia. 2 HTML, septiembre 2010 ¿Qué es? HTML, siglas de HyperText Markup Language.
Serie: Cómo hacer con EpiInfoTM. Módulo 1: Una base de datos sencilla.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
Internet y tecnologías web
Características Generales y Entornos de Desarrollo
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Cómo cargar contenidos en un curso en Moodle
Sistemas Operativos Windows.
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Vivir en un mundo basado en redes.
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Comunicación por la red Fundamentos.
Programación Interactiva Introducción a Java
1 MEJORA DE UN ANALIZADOR AUTOMÁTICO DE ESTILOS PARA TEXTOS EN INGLÉS TÉCNICO: DESARROLLO DE LA AYUDA DE USUARIO. Madrid 2001Pilar Santamaría Rebollo.
Graphics Processing Units (GPUs)
Shaders. Direct x DirectX es una colección de APIs desarrolladas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación.
M.I.A Daniel Alejandro García López
Universidad Nacional Autónoma de Honduras
Coincidencia de imagen a través de cadena de triángulos
INTRODUCCIÓN A JAVA.
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors MOVING JAVA INTO MOBILE PHONES Josep Pinyol.
ATeDis Tecnologías de Apoyo y Ayudas Técnicas
Programación Visual de Sistemas
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
Java Binding for the OpenGL API Unidad III. ¿Qué es OpenGL? Open GL es un entorno de desarrollo portable de aplicaciones gráficas interactivas en 2D y.
Introducción Tema Importancia de los Interfaces de Usuario
Herramientas para anfitrión y presentador Servei de Formació Permanent i Innovació Educativa.
SISTEMAS OPERATIVOS.
Introducción a los protocolos de enrutamiento dinámico
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
JAVA FX Es un paquete de software que te permitirá desarrollar aplicaciones web para diferentes plataformas, desde un ordenador ordinario hasta teléfonos.
Ingeniería del Software
PROGRAMACION ORIENTADA
Minicurso "Presentaciones con PowerPoint"
Sistemas Basados en conocimientos
Ministerio de Educación Nacional República de Colombia 1 SABER 2003 Evaluación de competencias ciudadanas en 5o. y 9o. de educación básica Resultados en.
Introducción al Software
Requerimientos No Funcionales
Eurostat Unit A6 – Statistical cooperation SDMX Seminar Seminario para contribuir a la modernización de la transmisión de datos y metadatos estadísticos.
Programación 1 (01) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
Eliminación de Superficies Ocultas
Weka.
COMPLEMENTOS DE INSTALACION DE SOFTWARE API´s y Complementos Plug-ins.
Programación de Sistemas
UNIDAD I INTERFAX DEL USUARIO  CARACTERISTICAS GENERALES  SISTEMAS HIPERMEDIALES.
Curso de Java La tecnología Java
Graficacion.
GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.
Hermilia Molina Acevedo
GPUs Comparación entre Nvidia y ATI Raúl Rodríguez del Rosario.
Software de sistema A esta categoría pertenecen todos los programas que denominamos Sistemas Operativos.
2. Motor de Videojuegos..  En un comienzo se programaba para un hardware específico, usando directamente instrucciones de los diversos microprocesadores.
MICROSOFT POWER POINT 2010.
Sistemas Operativos.
María José Freire Mayra Coello Juan Francisco Pérez
Por: Ernesto Y. Soto Rivas G
POWER POINT 2077.
Desarrollo DE apps móviles
Desarrollo DE apps móviles
Introducción a GDevelop
¿ Por que utilizar Java y la POO
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
LENGUAJE DE PROGRAMACIÓN PARA JUEGOS Integrantes: Ruiz José Vargas Mary.
Transcripción de la presentación:

Herramientas y bibliotecas para gráficas M.I.A Daniel Alejandro García López

Software de Gráficas Paquetes generales de programación Paquetes de aplicaciones especificas

Paquete de programación Ofrece un amplio conjunto de funciones gráficas que se pueden utilizar en un lenguaje de programación de alto nivel. Generar componentes de la imagen( líneas, polígonos, circunferencias, etc.) Determinar valores de color e intensidad, seleccionar vistas y aplicar transformaciones.

Paquete de aplicaciones especificas Diseñado para personas que no son programadores. La interfaz para la rutinas de gráficas de tales paquetes permite un fácil uso. Existen paquetes que están diseñados para utilizarse con especificaciones de coordenadas cartesianas.

Breve historia del software gráfico 1977: primer sistema para gráficos 2D (Core Graphic System) 1984: primer API industrial desarrollada por Silicon Graphics para gráficos 3D (Graphics Library - GL) 1985: primer estándar oficial para un API de gráficos 2D (Graphical Kernel System - GKS)

Breve historia del software gráfico 1988: primer estándar oficial para un API de gráficos 3D (PHIGS) 1992: estándar que integra PHIGS con el X-windows (PEX) 1993: primer estándar industrial portable a diversas plataformas hardware (OpenGL) 1993: API de alto nivel sobre OpenGL que sigue paradigmas similares a PHIGS (OpenInventor)

Breve historia del software gráfico 1995: Microsoft lanza una API propietaria para competir con OpenGL (Direct3D/DirectX) 1997: desarrollado a partir de OpenInventor surge el primer lenguaje para gráficos 3D y realidad virtual en la web (Virtual Reality Modelling Language - VRML)

Breve historia del software gráfico 1999: Java ya tiene su API: Java3D 2002-2003: extensiones de OpenGL y DirectX para hardware gráfico programable (GPU) 2003+: lenguajes de alto nivel para GPU: Cg (NVIDIA), HLSL(Microsoft), OpenGL 2.0 JOGL “interface” de Java con OpenGL 2.0

OpenGL

OpenGL Desarrollada originalmente por Silicon Graphics Inc. Especificación estándar para escribir aplicaciones gráficas Multilenguaje Multiplataforma Gráficos 2D y 3D Usado en CAD, Realidad Virtual, Simulación.

OpenGL Su función consiste en aceptar primitivas tales como puntos, líneas y polígonos y convertirlas a pixeles. El proceso es realizado por una pipeline gráfica conocida como máquina de estados de OpenGL Esta basada en procedimientos de bajo nivel, contrario a las API’s descriptivas. La rasterización es el proceso por el cual una imagen descrita en un formato gráfico vectorial se convierte en un conjunto de píxeles o puntos para ser desplegados en un medio de salida digital, como una pantalla de computadora, una impresora electrónica o una imagen de mapa de bits

Propósitos de OpenGL Ocultar la complejidad de la interfaz con las diferentes tarjetas gráficas. Ocultar las diferentes capacidades de las diversas plataformas de hardware, aunque las implementaciones utilicen emulación.

Bibliotecas de utilidades Añaden características no disponibles en el propio OpenGL GLU: Ofrece funciones de dibujo de alto nivel basadas en primitivas de OpenGL GLUT: API multiplataforma que facilita una rudimentaria funcionalidad para el manejo de ventanas e interacción por medio de teclado y ratón

Biblioteca de utilidades GLUI: Interfaz de usuario basada en GLUT; proporciona elementos de control tales como botones, cajas de selección y spinners.

Direct3D

Direct3D Es parte de DirectX Propiedad de Microsoft Compuesto por dos APIS: modo inmediato y modo retenido. Se comunica directamente con los drivers de pantalla

Propósito de Direct3D Facilitar el manejo y trazado de entidades gráficas elementales, como líneas, polígonos y texturas Efectuar transformaciones geométricas Proveer una interfaz con el hardware de aceleración gráfica

Modos de presentación Modo exclusivo: Ninguna otra aplicación podrá hacer uso de la pantalla Modo en ventana: Se muestra en una ventana. Colabora con el GDI.

Java3D

Java3D Es un proyecto que permite crear entornos tridimensionales en el lenguaje Java. Corre sobre OpenGL o Direct3D Es una extensión del JDK 2 de Java Proporciona una colección de constructores de alto nivel para crear y manipular geometrías 3D Permite diseñar la escena basándose en objetos geométricos, y no en triángulos

Propósito de Java3D Proporcionar un amplio conjunto de utilidades que permitan crear mundos en 3D interesantes Proporcionar un paradigma de programación orientado a objeto de alto nivel para permitir a los desarrolladores generar sofisticadas aplicaciones y applets de forma rápida.

Propósitos de Java3D Proporcionar soporte a cargadores en tiempo de ejecución. Esto permite que Java3D se adapte a un gran número de formatos de ficheros, como pueden ser formatos específicos de distintos fabricantes de CAD, formatos de intercambio o VRML.

DirectX vs OpenGL Proporciona gráficos y funcionalidad de audio Enfoque orientado a objetos de C++ Tiene soporte para los controladores Es para plataformas de windows. Mejor rendimiento Es complejo de aprender Proporciona solo funcionalidad de gráficos Usado en diferentes lenguajes de procedimientos Es poco el soporte de los controladores Es independiente de las plataformas Rendimiento promedio Es mas fácil su aprendizaje

OpenGL vs Java3D Funcionalidad solo para gráficos Enfoque de procedimientos Soporte pobre de controladores Independiente de plataforma Mejor rendimiento Mas fácil aprendizaje Funcionalidad solo para graficos Enfoque orientado a objetos de Java Soporte pobre de controladores Independiente de plataforma Menor rendimientos Más fácil aprendizaje Corre sobre OpenGL o DirectX

Otras API’s propietarias Glide desarrollado por 3dfx QuickDraw 3D CUDA: conjunto de herramientas de desarrollo creadas por nVidia que permiten a los programadores usar una variación del lenguaje de programación C para codificar algoritmos en GPUs de nVidia.