Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica...

44
Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014

Transcript of Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica...

Page 1: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Computación Gráfica en Dispositivos Móviles

Fundamentos y Técnicas en Computación GráficaMarzo, 2014

Page 2: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Introducción Cuál es el videojuego más jugado en el

mundo? Opciones: Halo, Mario, Final Fantasy…, WoW,

Tetris? Respuesta:

Page 3: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Introducción Cuál es el videojuego más jugado en el mundo? Opciones: Halo, Mario, Final Fantasy…, WoW,

Tetris? Respuesta: Snake

En 10 años Nintendo ha vendido 100M GameBoys

En el 2003 Nokia vendió 128M de celulares

Page 4: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

¿Por qué gráficos en móviles? No es solo un teléfono. Un teléfono tiene:

calendario, cámara, mensajes, imágenes, animaciones, juegos, navegación, sonido, tv, notas, etc.

Aproximadamente 1 billón de teléfonos x año El factor visual es un factor sumamente

importante

Page 5: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Aplicaciones iPhone/iPod El 22 de Enero 2011 a las 10:26 AM, el Apple

App Store vendió la aplicación nro. 10 billones 50% de los usuarios de iPhone son < 30 años 93% de los usuarios ha comprado al menos 1

vez en el App Store

Page 6: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.
Page 7: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Hrdware Gráfico en móviles OpenGL ES 1.0

100 millones de teléfonos OpenGL ES 2.0

Adreno GPU, Qualcomm Tecnología Imagination Power NVIDIA Tegra Google Native Client (NaCl) WebGL Ouya Android desde 2.0 a 2.2 BlackBerry OS 7.0 a 10 Raspberry PI

Page 8: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Hardware Gráfico en móviles OpenGL ES 3.0

Publicada el 6 de Agosto 2013 Pocos dispositivos la contienen Nexus 7 LG G2 Samsung Galaxy S4 Dispositivos con iOS >= 7.0 Power VR (serie 6) Versiones recientes de la GPU

Page 9: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Procesadores Embebidos

Diseñado para despliegue de gráficos

ARM Mali – T604 GPU

4ta. Generación

GPGPU

Soporta OpenCL y DirectX

OpenGL ES 1.1

OpenVG 1.1

Page 10: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Procesadores Embebidos

Dual-Core ARM Cortex A9

1 GHz por core

8 cores GPU

OpenGL ES 2.0

OpenVG 1.1

EGL 1.4

Procesador de reproducción de video a 1080p

Page 11: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Dificultades en móviles Poca cantidad de memoria Conjunto de instrucciones limitadas En general, relojes de baja frecuencia

100 - 200 MHz ARM9 400 – 600 MHz ARM11 600 MHz ARM CortexA8

Área pequeña para la GPU Debe ser barato y de poco espacio físico Consumo de memoria

Acceso a memoria es una de las operaciones más costosas

Page 12: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Comparación

Dispositivos no móviles Dispositivos móviles

Gran poder de cómputo

Dispositivos de salida de gran tamaño

Conexión rápida a internet

Bajo poder de cómputo

Dispositivos de salida de pequeños

Conexión lenta a internet

La entrada de datos puede resultar tediosa y no es estándar

Page 13: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Investigación en Móviles

Compresión de texturas Mecanismos de culling Técnicas de iluminación Stereo rendering Shaders, etc…

Page 14: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Aspectos importantes en el desarrollo APIs para diversas plataformas “Debería” funcionar donde sea OpenGL ES y JSR239

Page 15: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

OpenGL ES OpenGL es muy poderoso para móviles ES es un subconjunto de OpenGL PS3, iPhone, Nokia N900, MS Zune, etc.

Page 16: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

OpenGL vs. OpenGL ES Modelo de iluminación completa

Back materials, local viewer: NO

Primitivas Polígonos y Quads: NO. Solo puntos, triángulos y líneas

Punto fijo para eficiencia

Page 17: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

OpenGL ES Soporta “todo” lo que un móvil necesita Versiones

OpenGL ES 1.x es para hardware con pipeline fijo OpenGL ES 2.0 es para hardware con pipeline

programable

Adrenaline Golf2009

Page 18: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

EGL Interfaz entre OpenGL ES/OpenVG y el

sistema de ventana nativo Diversas superficies de rendering

windows pbuffers pixmaps

Page 19: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Khronos Diversos estándares multimedia para móviles

Page 20: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Java M3G (JSR 184), Java Specification Request JSR 239, Java Bindings for OpenGL ES JSR 226, 2D Vector graphics for Java

Page 21: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

J2ME API de Java, Java MicroEdition Utilizado con los MIDP (Mobile Information

Device Profile) Mobile 3D Graphics API: MIDP 1.1 Interfaz de bajo nivel Gráficos 3D interactivos

No requiere de hardware especializado Dos modos (retained + immediate)

Page 22: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.
Page 23: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Le Bar Guide

WorkSnug

Realidad Aumentada

Car Finder

Page 24: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.
Page 25: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Android 2007, Open Handset Alliance 2008, Android

Page 26: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Android 2007, Open Handset Alliance 2008, Android Android Development Tools (ADT) plug-in de

Eclipse Emulador en el Android Virtual Device (AVD) Android.package Soporte para OpenGL ES 1.0

totalmente $25 para el registro

Page 27: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Android A partir de la v. 2.2 (Froyo), Android soporta

OpenGL ES 2.0 Se tiene básicamente dos opciones:

Java Android Native Development Kit (NDK)

Page 28: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Android A partir de la v. 2.2 (Froyo), Android soporta

OpenGL ES 2.0 Se tiene básicamente dos opciones:

Java Android Native Development Kit (NDK)

Page 29: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.
Page 30: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

iPhone/iPod/iPad Objective – C en Mac OS. iPhone SDK Cocos 2D, Bullet Physics, Appsamuck, etc. Editor xCode 5 Licencia Anual de $99 Al igual que Android, gran cantidad de:

Blogs Libros Videos Código Conferencias Campamentos

Page 31: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

List of game engineshttp://en.wikipedia.org/wiki/List_of_game_engines

Page 32: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías – Cocos2D http://cocos2d-iphone.org OpenSource engine iPhone o Android Diversos juegos se han desarrollado Utilizado en el ámbito académico

Page 33: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías – Corona Labs Ambiente 2D desarrollado por Ansca Mobile Especializado para el desarrollo de Juegos 2D

y software gráfico Emplea LUA y soporta iPhone/iPad y Android Desde $16/$49/$79/$199 mensual

Page 34: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías - iTorque Garage Games Engine muy conocido y de amplia trayectoria Torque 2D y Torque 3D Diversas herramientas a diversos costos

Page 35: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías - ShiVa Plataforma de desarrollo 3D, Stonetrip Linux, Mac, Windows, Android, iPhone, iPad ,

Windows Phone, PSVita, Wii, Client-Server, etc.

Los scripts utilizan Lua. Una solución que facilita mucho el desarrollo sobre iOS

desde $200

Page 36: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías - Unity Muy popular en los últimos años (PC y iPhone) Los scripts son en JavaScript/C#. Unity3D

Engine

Gratis (Unity)+ $1500 - pro

Page 37: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías Existen muchas otras librerías/engines de

desarrollo Oolong Engine, iPad / iPhone / iPod touch

Page 38: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías Existen muchas otras librerías/engines de desarrollo

Edgelib

Page 39: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías Existen muchas otras librerías/engines de desarrollo

jMonkey

Page 40: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Librerías Existen muchas otras librerías/engines de

desarrollo SIOS Engine

Page 41: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Ejemplo de Otras Aplicaciones INSTAR (Siemens VDO, FutureLab)

Page 42: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Ejemplo de Otras Aplicaciones ARDrone

Page 43: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

Ideas Finales Las limitaciones son netamente de hardware Trabajar en una Pentium 1 ó 2 Amplio campo de investigación del futuro La tendencia es wireless y en menor tamaño Otros tópicos con computación gráfica en

móviles: Fotografía computacional:

FCam

Page 44: Computación Gráfica en Dispositivos Móviles Fundamentos y Técnicas en Computación Gráfica Marzo, 2014.

The end Next class: Introduction to GPU for General

Purpose