Unlike many other benchmarks, NenaMark measures performance using realistic scenes that could be taken from a typical game and presents the result in frames per second, i.e. providing an intuitive performance number that can be used for realistic comparisons between different devices.
Benchmark results from a wide variety of devices are available on the NenaMark site (http://nena.se/nenamark).
- Skeletal Animation (bones matrix animation), trees.
- Morph Target Animation (blend vertex sets), sun flowers along house wall.
- Bump Mapping (using normal map), stone walls on house.
- Water (reflections, normal animation, fresnel effect), the lake.
- Cloud System (advanced particle system), clouds.
- Cube Map Reflections (w/ dynamic cube map generation), windows on house.
- Smoke (advanced particle system), smoke from chimney.
- Shadow Mapping (dynamic shadow mapping), terrain.
- Texture Channel Animation, sparkling sun.
- Smooth Gradient Animation, sky hemisphere.
- Dynamic lighting (per vertex diffuse lighting), entire scene.
- Lens flare, lens flare from sun at low altitude.
For more information, visit: http://nena.se/nenamark
Demo that shows some cool effects that can be achieved thanks to the programmable OpenGL ES 2.0 GPU pipeline, such as normal mapped specular animated lighting, real time refractions and image postprocess.
If you like the effects and would like to play a game that uses them, please try the game "AQUA SLASH GL DEMO" for free.
To move the light source, touch the screen with one finger to the desired position.
To change the background image, while touching the screen with one finger (therefore moving the light) touch with another one on the left side of the screen.
To change the postprocess effect, do the same but touch with the second finger on the right side of the screen instead of the left.
This demo requires Android 2.2 or higher.
INFO FOR DEVELOPERS: For some reason, samsung and motorola opengl driver does not allow the creation of FrameBufferObjects with color attachments of dimensions non power of 2. All the opengl calls do not generate any error and the FrameBufferObject status is ok, but then nothing gets written to the offscreen buffer if width and/or heigth is not power of 2. On HTC, LG, Toshiba and Dell devices this works well and any dimension can be used.
Since this app uses offscreen rendering for the postprocess effects, this is why it did not work with samsung and motorola devices before version 1.2.
Despite the somewhat unfair 1 star ratings of angry samsung and motorola users because of this issue, thanks everyone for the reports.
Special thanks to my sister Silvia and my friend "El Iberico" for sharing with me their Galaxy S smartphones that allowed me to debug the app and find out what the problem was.
To Harism: Thanks for your comments and yes, the problem is directly related to the off screen render target resolution.
There is not any copy of textures at any time. The first pass where the water effect is rendered is the one that uses the off screen buffer (with less resolution for performance reasons) and later, that render target is directly binded as an input texture to the final pass where the other effect is rendered (pixelization etc) to full resolution.
The lessons can be followed at http://www.learnopengles.com.
Lesson Eight: An Intro to VBOs (Vertex Buffer Objects)
Lesson Seven: An Intro to VBOs (Vertex Buffer Objects)
Lesson Six: Texture Filtering Modes
Lesson Five: An Intro to Blending
Lesson Four: Basic Texturing
Lesson Three: Adding Per-Pixel Lighting
Lesson Two: An Intro to Lighting
Lesson One: Getting Started
The Gears demo is an open source project intended to help developers learn how to create OpenGL ES programs on Android. The Gears demo was originally written by Brian Paul as part of the Mesa3D project. My implementation includes variations for Java/OpenGL ES 1.x, Java/C/OpenGL ES 1.x and Java/C/OpenGL ES 2.0. I have also added several features not found in the original implementation including touch screen support, VBOs and an on-screen FPS counter.
The FPS (frames-per-second) counter is often used as a benchmark metric for graphics programs. On Android the frame rate is limited by v-sync (typically 60 FPS) which is the fastest rate that a display can refresh the screen. Since Gears is capable of rendering much faster than v-sync on most devices it provides limited benchmarking value.
for head mounted display solutions like Dive or others with Qualcomm's Augmented Reality SDK Vuforia.
Despite it's limited functionality, ViewR gives a slight impression of how it could feel to be robo cop :)
- Side by Side view in "binocular style" (a tiny bit like Oculus Rift)
- Use voice commands to control the app
- Apply different shaders for various image effects (for instance inverted colors, old film, etc.)
- Shows information in the right upper corner of the display (target information and data from gyro)
- Recognizes predefined targets that will expose 3D models and also play videos
- Manage camera functions: flash and continuous autofocus
- Take screenshots
- Walkera QR W100S FPV (slow)
- Virtual Compass
- "smart watch" target will show an augmented and interactive menu
- "ARena" target will expose a controllable robot (only tested with PS3 Controller)
- MTG trading card target will show a 3D bird (http://magiccards.info/scans/en/m12/165.jpg)
- (photographed) poster targets will play movie trailers and an interview (http://www.buelter.biz/viewr/targets)
- other poster targets will show a sword, a shield and a not yet animated zombie
- background of my not yet ready website will play a short ad (http://bit.ly/1aefcA0)
- Make targets available (either on screen or printed)
- Press ok and put on your HMD
- Look at target to execute an action
- Tap screen to apply another shader to the video background
- Double tap to access options menu
- Press back button to view about screen (twice to quit)
- Whistle/snap/clap to activate voice commands (if it works, you will hear a sound)
- Use "next" and "back" to switch between shaders
- "flash on" and "flash off" to toggle camera flash
- "autofocus on" and "autofocus off" to toggle continuous autofocus
- "focus" to immediately autofocus
- "screenshot", to save a screenshot to /sdcard/Android/data/biz.buelter.viewr/files
- "menu" to access options menu and "close" to close it again
- "launcher", starts the divegames launcher, if you have installed it
- "drone" and "camera" to switch between camera and Walkera QR W100S FPV (make sure you're connected to it)
- "compass on" and "compass off" to toggle compass,
- "exit" to terminate
- Seems not to work on GT-S5301L (got a crash report)
- FPV for Walkera QR W100s works slow
- Speech recognition will only work with Android >= 4.03
- Runs slow on old devices
- Positioning of targets in the scene does not work as well as in other vuforia apps
- Some shaders are far from perfect as I didn't want to go to deep into shader programming
Planned future features
- Proper video recording
- Target positioning like other Vuforia apps
- better latency and controls for Walkera FPV
Version 1.11 was tested on S4 with KitKat (works) and on S1 with ICS (very slow, voice control doesn't work) but technically voice recognition should work on all devices with Android >= 4.03
My buddy Nils Frenking (email@example.com), who helped a little with coding/inspiration here and there,
Eyedak for sending me a prototype of vrAse and
Shoogee for deploying the Durovis Dive so early, making it's "twin brother" open source
ViewR will not make use or even send any of your data anywhere (just in case you thought of it:))
Please keep in mind that this is experimental software which is published as a demo and feel free to contact me anytime for whatever reason:)
No ads, etc., just a demo for fun. Will continue to add sequences and improve existing ones through updates, and if I come up with something really cool, will try to make it into a live wallpaper.
The source code will also be made available. It provides a good starting point and tutorial into creating OpenGL apps.
Note that high-end devices are better served by NenaMark2 as they tend to hit the framerate limit (~60 fps) with NenaMark1.
This application contains various Examples that showcase what developers can do with this engine.
Install this to stay tuned with the progress.
Join the AndEngine-Community at:
The source code for the app itself serves as a useful tutorial for learning how to use the min3D library for your own projects.
The Androa Kingdom has been overwhelmed by evil forces and Amira has accepted the challenge of her father to unify and restore the land to peace. She must battle her way through five different lands and defeat hordes of vicious enemies. Throughout her journey Amira can also capture and harness the powers of the ancient artifacts known as the magical crests to unleash devastating attacks on anything that stands before her. Embark on an epic quest to help Amira reclaim her lost kingdom.
*Requires a Snapdragon 600 and above processor (http://www.qualcomm.com/snapdragon/processors)
*This game is free (no in app purchases required)
*Replay the game to unlock new weapons, armor, and attacks
For best performance, disable any persistent location or intensive services.
v1.0.7: Froyo SD card update