1 / 44

Computación Gráfica en Dispositivos Móviles

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:. Introducción.

jamese
Download Presentation

Computación Gráfica en Dispositivos Móviles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

  4. ¿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

  5. 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

  6. 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

  7. 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

  8. ProcesadoresEmbebidos 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

  9. ProcesadoresEmbebidos 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

  10. 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

  11. 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

  12. Investigación en Móviles • Compresión de texturas • Mecanismos de culling • Técnicas de iluminación • Stereo rendering • Shaders, etc…

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

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

  15. 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

  16. 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 Golf 2009

  17. EGL • Interfaz entre OpenGL ES/OpenVG y el sistema de ventana nativo • Diversas superficies de rendering • windows • pbuffers • pixmaps

  18. Khronos • Diversos estándares multimedia para móviles

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

  20. 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)

  21. Realidad Aumentada WorkSnug Car Finder Le Bar Guide

  22. Android • 2007, Open Handset Alliance • 2008, Android

  23. 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

  24. 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)

  25. 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)

  26. 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

  27. List of game engines http://en.wikipedia.org/wiki/List_of_game_engines

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

  29. 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

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

  31. 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

  32. 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

  33. Librerías • Existen muchas otras librerías/engines de desarrollo • Oolong Engine, iPad / iPhone / iPod touch

  34. Librerías • Existen muchas otras librerías/engines de desarrollo • Edgelib

  35. Librerías • Existen muchas otras librerías/engines de desarrollo • jMonkey

  36. Librerías • Existen muchas otras librerías/engines de desarrollo • SIOS Engine

  37. Ejemplo de Otras Aplicaciones • INSTAR (Siemens VDO, FutureLab)

  38. Ejemplo de Otras Aplicaciones • ARDrone

  39. 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

  40. The end • Next class: Introduction to GPU for General Purpose

More Related