ANDROID 3DByIvan TrajkovicandDotti Colvin
WHY ALL THISBridge the gapbetween animators and developers
Have us recognize the importance of mutual initiative
Inspire new partnershipsand ideasINSIPIRE EACH OTHER!
INDEXAndroid Platform
Open GL
Android 3D Game Engines
3D WorkshopANDROID HISTORYWhat is Android ?
Brief History
Android Inc. founded in 2003 in Palo Alto, CA, USA
Andy Rubin (co-founder of Danger)
 Rich Miner (co-founder of Wildfire Communications, Inc.)
Nick Sears (once VP at T-Mobile)
 Chris White (headed design and interface development at WebTV)ANDROID HISTORYGoogle acquired Android Inc. in August 2005
Open Handset Alliance on November 5, 2007
The Goal is to develop open standards for mobile devices.
Android was BORN	ANDROID ARHITECTURE
OPEN GLWhat is Open GL?
Brief History
developed by Silicon Graphics Inc. (SGI) in 1992
managed by the non-profit technology consortium Khronos GroupOPEN GL ESOpenGL ES is a subset of the OpenGL
Brief History
Open GL ES 1.0 is drawn up against the OpenGL 1.3 specification
Open GL ES 1.1 is defined relative to the OpenGL 1.5 specification
Open GL ES 2.0 is defined relative to the OpenGL 2.0 specificationOPEN GL ESOpenGL 1.0 – 2.0 (Desktop)
Large and impractical for embedded devices
Customers are porting apps from these versions to OMAP
OpenGL ES 1.1
Embedded version for fixed-function shading hardware
Subset of desktop OpenGL
Standard created by the Khronos Group Industry consortium in 2003
Rapidly became the dominant standard for embedded 3D
Also popular for scalable 2D applications
OpenGL ES 2.0
Replaces 2 major sections of the 3D pipeline with shader programs
Vertex Shader – Distort, morph and/or animate vertex positions
Fragment Shader – Calculate pixel colors for shadows and/or reflections
Smaller, more memory efficient OpenGL library and less texture maps
Shaders are programmed with new GLSL ES Language
Programmable cores already dominate 3D graphics on the desktop
Will become dominate in embedded devices as wellOPEN GL ES
ANDROID 3D GAME ENGINESjMonkey
jPCT-AE port of jPCT to Android
Unity3DJMONKEY HISTORYjMonkeyEngine 0.1 - 2.0
2003 Initial work Mark Powell (aka MojoMonkey)
2004 January, Mark was joined by Joshua Slack
2008 August 15, Joshua Slack announces to step back from active development of the jMonkeyEngine.
jMonkeyEngine 3.0
2009, June 24 The project sees a new beginning
2010, May 17 The first Alpha of jME3 is released
2011, February 14 Android Support Confirmed for jME3JMONKEY GAMESNord, a browser-based MMO on Facebook
http://www.nordgame.com/
Grappling Hook, a first-person action & puzzle
http://ghook.speedrungames.com/
Open Wonderland, a toolkit for creating collaborative 3D virtual worlds

Android 3D by Ivan Trajkovic and Dotti Colvin

Editor's Notes

  • #5 Android is a software stack for mobile devices that includes an operating system, middleware and key applications.Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by - Andy Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile),[24] Chris White (headed design and interface development at WebTV) to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences.” Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretively, revealing only that it was working on software for mobile phones.
  • #6 Google acquired Android Inc. in August 2005, making Android Inc. a wholly owned subsidiary of Google Inc. Key employees of Android Inc., including Andy Rubin, Rich Miner and Chris White, stayed at the company after the acquisition.At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the premise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.On November 5, 2007, the Open Handset Alliance, a consortium of several companies which include Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile and Texas Instruments unveiled itself. The goal of the Open Handset Alliance is to develop open standards for mobile devices.[10] On the same day, the Open Handset Alliance also unveiled their first product, Android, a mobile device platform built on the Linux kernel version 2.6.
  • #8 OpenGL (Open Graphics Library) is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. (SGI) in 1992 and is widely used in CAD, virtual reality, scientific visualization, information visualization, flight simulation, and video games. OpenGL is managed by the non-profit technology consortium Khronos Group.OpenGL for Embedded Systems (OpenGL ES) is a subset of the OpenGL
  • #9 OpenGL for Embedded Systems (OpenGL ES) is a subset of the OpenGL 3D graphics application programming interface (API) designed for embedded devices such as mobile phones, PDAs, and video game consoles. OpenGL ES is managed by the not-for-profit technology consortium, the Khronos Group, Inc.OpenGL ES 1.0Contained much functionality stripped from the original OpenGL API and a little bit added. Two of the more significant differences between OpenGL ES and OpenGL are the removal of the glBegin ... glEnd calling semantics for primitive rendering (in favor of vertex arrays) and the introduction of fixed-point data types for vertex coordinates and attributes to better support the computational abilities of embedded processors, which often lack a floating point unit (FPU). Many other functions were removed in version 1.0 to produce a lightweight interface: for example, quad and polygon primitive rendering, texgen, line and polygon stipple, polygon mode, antialiased polygon rendering (with alpha border fragments, not multisample), ARB_Image class pixel operation functionality, bitmaps, 3D texture, drawing to the frontbuffer, accumulation buffer, copy pixels, evaluators, selection, feedback, display lists, push and pop state attributes, back-face material parameters, and user defined clip planes.OpenGL ES 1.1Adds to the OpenGL ES 1.0 functionality by introducing additional features such as mandatory support for multitexture, better multitexture support (with combiners and dot product texture operations), automatic mipmap generation, vertex buffer objects, state queries, user clip planes, and greater control over point rendering.OpenGL ES 2.0OpenGL ES 2.0 was publicly released in March 2007,[2] eliminates most of the fixed-function rendering pipeline in favor of a programmable one. Almost all rendering features of the transform and lighting pipelines, such as the specification of materials and light parameters formerly specified by the fixed-function API, are replaced by shaders written by the graphics programmer. As a result, OpenGL ES 2.0 is not backward compatible with OpenGL ES 1.1.
  • #10 Texas Instruments OMAP (Open Multimedia Application Platform) is a category of proprietary system on chips (SoCs) for portable and mobile multimedia applications developed by Texas Instruments. OMAP devices generally include a general-purpose ARM architecture processor core plus one or more specialized co-processors. Earlier OMAP variants commonly featured a variant of the Texas Instruments TMS320 series digital signal processor.
  • #12 jMonkeyEngine: jMonkey Engine (jME) is a leading Java Based 3D Game EnginejMonkey Engine (jME) is a high-performance 3D game engine, written entirely in Java. OpenGL is supported via LWJGL, with JOGL support in development. For sound, OpenAL is supported. Input via the keyboard, mouse, and other controllers is also supported.jPCT-AE(Android Edition) is a port of jPCT to Android. It’s a port, not just a new renderer for the normal version of jPCT to be more suitable for the Android platform. jPCT is a free, small, fast and easy to learn 3D engine for Java. It offers support for software and hardware rendering. jPCT offers you all the features you need to write a cool looking 3D game or application in Java in a short time. There is no need for an extra library for collision detection or a seperate GUI package to replace Swing/AWT.
  • #13 jMonkeyEngine (jME) is a game engine made especially for modern 3D development. The entire project is based on Java for high accessibility. Advanced graphics are supported through OpenGL 2 via LWJGL.The technology is considered a low-level game development tool. As a collection of libraries, jMonkeyEngine hardly imposes any limitations on programmers, while increased user-friendliness and optional frameworks are applicable in use with the jMonkeyPlatform.jME is a community-centric open source project released under the new BSD license. It is used by several commercial game studios and educational institutions.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2003 Initial work on jMonkeyEngine was begun by Mark Powell (aka MojoMonkey) as a side project to see if a fully featured graphics API could be written in Java. Much of the early work on the API was inspired by David Eberly's C++ book 3D Game Engine Design.January 2004 Mark was joined by Joshua Slack (aka Renanse) and together over the following two years, with the help of other community contributors, a commercially viable API was developed.August 15, 2008 Joshua Slack announces to step back from active development of the jMonkeyEngine------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------jMonkeyEngine 3.0 Since the departure of jME's core developers in late 2008 the codebase remained practically stagnant for several months. The community kept committing patches, but the project was not moving in any clear direction. Version 3.0 started as nothing more than an experiment. The first preview release of jME3 in early 2009 created a lot of buzz in the community, and the majority agreed that this new branch would be the official successor to jME 2.0. From there on all the formalities were sorted out between the previous core developers and the new. The jME Core Team is now composed of six committed individuals.June 24, 2009 The project sees a new beginning in the official jMonkeyEngine 3.0 branch, initially designed and developed solely by Kirill Vainer. Management responsibilities are picked up by ErlendSoggeHeggen, shortly later accompanied by Skye Book.May 17, 2010 The first Alpha of jMonkeyEngine 3 is released. The same date marked the first Alpha release of the jMonkeyPlatform, only a few months after the first planning stages.[11] It was released as the "jMonkeyEngine SDK" and has since become the default product download recommended to all jME3 developers.
  • #47 jPCT is a free, small, fast and easy to learn 3D engine for Java and Android. It offers support for software and hardware rendering.jPCT-AE (Android Edition) is a port of jPCT to Android. It's a port, not just a new renderer for the normal version of jPCT to be more suitable for the Android platform.