NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es
Cubo Creado Con OpenGL

Gráficos en Android: descripción de OpenGL

Post Series: Gráficos 2D-3D en Android: OpenGL

En esta primera serie de tutoriales sobre OpenGL, trataremos los siguientes temas:

  • ¿Qué es OpenGL y OpenGL ES?
  • Cuáles son las principales características de OpenGL ES.
  • Versiones existentes de OpenGL ES.
  • Pasos para implementar formas 2D.
  • Proyecto ejemplo con OpenGL ES 1.0.

¿Qué es OpenGL y OpenGL ES?

OpenGL® (Open Graphics Library), es una especificación estándar multiplataforma que define una API, que nos permite producir y manipular gráficos 2D y 3D para dibujar escenas complejas a partir de primitivas geométricas simples, como pueden ser una cuadrado o un triángulo. Este tipo de formas primitivas son las representaciones más simples capaces de ser diseñadas por OpenGL

Página oficial OpenGL (ver nota al final del tutorial sobre marca registrada OpenGL)

OpenGL® ES  (OpenGL for Embedded Systems) es una variante de la API OpenGL, diseñada para sistemas integrados, como los dispositivos móviles o videoconsolas, y es la soportada por Android. Al estar destinada a dispositivos empotrados, y por lo tanto dispositivos menos potentes que un PC, se diferencian de OpenGL en que los tiempos de cálculo de OpenGL ES son más cortos.

Página oficial OpenGL ES

El término renderizar se refiere al proceso de generar una imagen o vídeo mediante el cálculo de la iluminación global o GI, a partir de un modelo 3D.

Clases fundamentales para la implementación de OpenGL en Android

GLSurfaceView: Clase que proporciona una vista o View, para la representación y manipulación de objetos mediante el uso de la API OpenGL.
Documentación oficial Android GLSurfaceView

GLSurfaceView.Renderer: Interfaz que implementa los métodos para construir los gráficos en la vista proporcionada por la clase GLSurfaceView:

Métodos que define:

onSurfaceCreated() : Método que será invocado una vez para configurar el entorno de OpenGL ES de la vista.

onDrawFrame() : Método que será invocado para cada redibujado de la vista.

OnSurfaceChanged() : Método que será invocado si la geometría de la vista cambia, por ejemplo, cuando cambia la orientación de la pantalla del dispositivo.

Documentación oficial Android GLSurfaceView.Renderer

Licencia OpenGL: la Free Software Foundation (FSF), tras negociar con SGI, empresa propietaria de OpenGL, estableció un nuevo tipo de licencia denominada «Free Software License B», muy parecida a las licencias BSD y de Mozilla, considerada por la FSF como libre.

OpenGL es un documento con especificaciones estandarizadas para los fabricantes de hardware, siendo estos últimos los encargados de desarrollar las bibliotecas necesarias para su implementación, debiendo cumplir dichas especificaciones para poder hacer uso de su marca.

Para ampliar información, puedes consultar la documentación oficial del acuerdo de liecencia

Principales características de la API OpenGL ES

  • Distribución libre.
  • Permite dibujar figuras geométricas básicas.
  • Nos proporciona las herramientas necesarias para realizar transformaciones sobre los vértices: traslaciones (cambiar la posición de una figura en un plano), rotaciones (cambio de orientación de un cuerpo con respecto a un punto tomado como centro) y escalados (aumento o disminución del tamaño de una figura sin deformarlo).
  • Incorporada con la API de Android, sin necesidad de añadir ninguna librería o instalar cualquier otra herramienta.
  • API multiplataforma y multilenguaje, con todas las funciones 2D y 3D para sistemas embebidos o integrados (consolas, electrodomésticos, móviles etc.).
  • Las versiones 1.X están destinadas a hardware de función fija, ofreciendo aceleración, calidad de imagen y rendimiento.
  • Las versiones 2.X permiten programar gráficos 3D completos.
  • La versión OpenGL ES 1.1 es totalmente compatible con OpenGL ES 1.0.
  • Es independiente del Hardware.
  • Aceleración de gráficos gracias a su acceso al hardware dedicado (GPU o unidad de procesamiento gráfico).

Versiones OpenGL ES y packages que contienen.

En el siguiente apartado, se revisarán las diferentes versiones disponibles de OpenGL ES, y los «packages» que implementan cada una de ellas. Además se profundizará en las clases definidas en cada packages.

OpenGL ES 1.0 y 1.1

Especificaciones de API soportada por las versiones de Android 1.0 y superiores. OpenGL ES 1.0 está basada en OpenGL 1.3 y OpenGL 1.1 está basada en OpenGL 1.5.

Packages:

android.opengl: Paquete que proporciona una interfaz estática a las clases de OpenGL ES 1.0/1.1, y mayor rendimiento que los paquetes de interfaces de javax.microedition.khronos.

Documentación oficial

Clases:

  • GLES10
  • GLES10Ext
  • GLES11
  • GLES11Ext

javax.microedition.khronos.opengles: Paquete que proporciona la implementación estándar de OpenGL ES 1.0/1.1.

Documentación oficial

Clases:

  • GLES10
  • GLES10Ext
  • GLES11
  • GLES11Ext
  • GL11ExtensionPack

OpenGL ES 2.0

Especificaciones de API soportada para las versiones de Android 2.2 y superiores (API nivel 8). OpenGL ES 2.0 está basada en OpenGL 2.0.

Packages:

android.opengl.GLES2: Paquete que proporciona la interfaz para OpenGL ES 2.0. Disponible a partir de Android 2.2 (nivel de API 8).

Documentación oficial

OpenGL ES 3.0

Especificaciones de API soportada para las versiones de Android 4.3 y superiores (API nivel 18).

Packages:

android.opengl.GLES30: Paquete que proporciona la interfaz para OpenGL ES 3.0. Disponible a partir de Android 4.3 (nivel de API 18).

Documentación oficial


Créditos: OpenGL is a registered trademark and the OpenGL ES logo is a trademark of Silicon Graphics Inc. used by permission by Khronos.

 

This Post Has 4 Comments

  1. […] Vamos a seguir conociendo características de la librería gráfica OpenGL, y qué proyectos podemos realizar con ella en Android. Para los que no estén familiarizados con esta API gráfica, les recomendamos que consulten nuestra anterior serie de tutoriales sobre OpenGL […]

  2. buenas tardes disculpe, necesito trabajar con open gl en tablas con android… hasta ahora solo he trabajado un par de veces en la pc bajo c++, quisiera alguna orientacion desde lo mas basico, instalacion de aplicacion y librerias open gl y glut, esta ultima libreria si ha de ser posible adicionar, sino al menos trabajar con open gl en android. por favor orienteme como iniciar, desde que aplicacion instalar en la tabla o movil android. Gracias

    1. Hola de nuevo,
      hemos tratado OpenGL a un nivel de iniciación. No hemos cubierto GLUT, pero si es para empezar a trabajar con la API OpenGL, tienes un proyecto de ejemplo básico en las dos siguientes publicaciones de esta serie (tutorial y video explicando el proyecto y descarga de su código). Si te interesan solo tienes que registrarte (suscripción o acceso Premium) y acceder a ellos:
      http://academiaandroid.com/proyecto-android-construccion-formas-primitivas-con-opengl/
      http://academiaandroid.com/videotutorial-generacion-formas-basicas-2d-3d-con-opengl-en-app-android/
      Saludos

Comments are closed.