Intel Corporation - Android Sample Application

When doing performance analysis on games and graphics workloads, processing the fragment (or pixel) shader seems to be a major performance bottleneck.   The coding method demonstrated in this sample application is referred to as dynamic resolution rendering. This is a common technique on console games and higher-end PC games. The implementation described in this article is derived from the DirectX* version described in [Binks 2011] and adapted to work on OpenGL* ES 2.0. With dynamic resolution rendering, the back buffer is the size of the native resolution, but the scene is drawn to an off-screen texture with a fixed resolution.   The scene is drawn to a portion of the off-screen texture and that texture is sampled to fill the back buffer. The UI elements are drawn at the native resolution.

Intel authored sample source code is provided to users under the BSD 3 Clause license. Please note that “Media Elements” are the images, clip art, animations, sounds, music, shapes, video clips, 2D Images, 2D and 3D Mesh’s and mesh data, animation and animation data, and Textures included in the software. This license does not grant you any rights in the Media Elements and you may not reproduce, prepare derivative works, distribute, publicly display, or publicly perform the Media Elements.

Note: "Files considered "Media Elements" within this sample include: assets/models/train_station.mesh"

=Directory structure

DynamicResolution
|
|_ _ _ /assets
|      |
|      |_ _ _ /models := Mesh files
|      |
|      |_ _ _ /shaders := Vertex and fragment shaders
|
|
|_ _ _ /projects
|      |
|      |_ _ _ /android := Contains Android project
|
|_ _ _ /src
|      |
|_ _ _ App.c := Definitions for app_init, app_update, and app_render
|
|_ _ _ App.h := Declarations for app_init, app_update, and app_render



=Symbolic links

Assets
* Create symbolic link from DynamicResolution/assets to DynamicResolution/projects/android/assets

Source
* Create symbolic link from DynamicResolution/src to DynamicResolution/projects/android/jni/src


On Linux/Mac:
$ cd projects/android
$ ln -s ../../assets ./assets

$ cd projects/android/jni
$ ln -s ../../../src ./src

On Windows:
> cd projects/android
> mklink /D assets ..\..\assets

> cd projects/android/jni
> mklink /D src ..\..\..\src
