Adding graphics and multimedia

A great way to impress your users is by providing rich media and graphics. You want to create an experience where content dominates the screen. Cascades provides APIs that you can use to access the camera, play and record audio and video, and display immersive 3D graphics.

OpenGL ES

The OpenGL ES API is a lightweight 2D and 3D rendering engine that you can use in combination with the scene graph-based Cascades rendering engine in your app.

Cascades supports two cases for using OpenGL ES: overlay and underlay.

In overlay, an OpenGL ES model is displayed in a window that appears on top of the Cascades window. The basic pipeline for using OpenGL ES overlay in your app looks like this:


The basic OpenGL overlay pipeline.

Your OpenGL ES code is passed to the Embedded-System Graphics Library (EGL), then bound to the Screen API window and displayed on the device. Overlays are used for transparent 3D controls and content.

The second case is underlay. In underlay, the OpenGL ES model is bound to the Screen API window using EGL and is displayed under the Cascades window. The Screen API window then gains visibility using the ForeignWindowControl. The process looks like this:


The OpenGL underlay pipeline.

Underlays are used for opaque 3-D controls and content.

Camera

The Camera APIs allow you to directly access the camera hardware on the device. The camera hardware on the device supports capturing pictures and video. You have full control over the viewfinder and camera settings, so get creative with how you use the camera.

An example from the photobomber sample.

Audio/Video

Cascades includes multimedia support for audio and video, with support for most file formats and streaming protocols. You can seek, rewind and play back multimedia; stream audio and video content; and record audio and video using the camera and microphone on the device.

What's next?

Continue on to Generating revenue to learn about ways to make money from an app.

Last modified: 2013-12-21

comments powered by Disqus