Developer: Yap Wen Jiun
Organization: Multimedia University
Community: CodeAndroid Malaysia
3D Depth Cues Demo shows how various types of perceptions of depth can be generated in an Android application.
These depth cues are present in static 2D scenes:
Perspective: Parallel lines converge at infinity.
Occlusion: Foreground objects block the view of background objects.
Size comparison: Sizes of most objects are familiar and large object that appears to be same size as a small object means it is far away.
These depth cues are present in 2D scenes that have motion:
Depth from motion: Objects coming closer will become larger and vice versa.
Motion parallax: The relative motion of several objects against a background provides hints about their relative distance.
This depth cue is not present in 2D scenes:
Stereopsis/Binocular disparity: The differences of images projected onto the left and right eyes provide hints for very accurate depth calculations.(Red-cyan glass is required for all the stereoscopic view demo).
- Install to SD card is now supported (default setting is "auto").
- The setting Toggle Random Solids is added to Solids Head Tracking.
- "Change Log" screen is added in the 3D list menu.
- The sensor delay setting has changed from fastest to game, hopefully fixing sensor jittery problem.
- The Window View (in Targets Head Tracking) not working in G1 bug is fixed by putting Window View into the same activity as Targets View.
- The settings Toggle Sensor Tracking and Inspired by this Youtube are added to Window View (in Targets Head Tracking).
- The Camera Preview can not be turn off in G1 bug is fixed.
- The number of polygons is reduced to improve performance.
- Help screen is added in the 3D list menu.
- Balls Head Tracking renamed to Solids Head Tracking.
- The lights shifted with perspective in Solids Head Tracking, thanks to @ebernie for the suggestion.
- First version published right before the related presentation in Malaysia Open Source Conference 2010.
The related presentation "Android Application in 3D":
More discussions at CodeAndroid Malaysia Blog.
- Android API Demos for the general OpenGL rendering into a SurfaceView.
- nehe-android for the applications of textures on OpenGL surfaces.
- akjava-android-project for the generation of 3D solids.
- Sony Ericsson Developer Blog for the generation of 3D lists.
- Lighting is weird in random solids in Solids Head Tracking
Window View (in Targets Head Tracking) does not work in G1(fixed) Camera Preview can not be turn off in G1(fixed)
- Jittery on Motorola Droid, believe to be sensor data problem, need more feedbacks
- 3D object loader that can load 3D models created in software such as Blender or Google SketchUp.
- 3D object loader that can load 3D objects scanned with low cost 3D laser scanning.
- Face tracking with camera, started with the usual back-facing camera then eventually working on front-facing camera.
- Wiimote tracking which is exactly what was done by Johnny Lee. There are already Apps with Bluetooth connection to Wiimote, so it is possible to read infrared position data from Wiimote.