dc.description.abstract | Mobile phones offer exciting new opportunities for graphics application developers. However, they also have significant limitations compared to traditional desktop graphics environments, including absence of dedicated graphics hardware, limited memory (both RAM and ROM), limited communications bandwidth, and lack of floating point hardware. Existing graphics APIs ignore these limitations and thus are infeasible to implement in embedded devices. This course presents two new 3D graphics APIs that address the special needs and constraints of mobile/embedded platforms: OpenGL ES and M3G. OpenGL ES is a light-weight version of the well-known workstation standard, offering a subset of OpenGL 1.5 capability plus support for fixed point arithmetic. M3G, Mobile 3D Graphics API for Java MIDP (Mobile Information Device Profile), also known as JSR-184, provides scene graph and animation support, binary file format, and immediate mode rendering that bypasses scene graphs. These APIs provide powerful graphics capabilities in a form that fits well on today s devices, and will support hardware acceleration in the future. The course begins with a discussion of the target environments and their limitations, and general techniques for coping with platform/environment constraints (such as fixed point arithmetic). This is followed by detailed presentations of the APIs. For each API, we describe the included functionality and compare it to related workstation standards, explaining what was left out and why. We also discuss practical aspects of working with the APIs on the target platforms, and present strategies for porting existing applications and creating new ones. | en_US |