Date of Award


Degree Type


Degree Name

Bachelor of Science Honours


Faculty of Computing, Health and Science

First Advisor

Dr Leisa Armstrong


With the introduction of more powerful mobile microprocessors and colour screen technology, complex image manipulations on various mobile devices such as mobile phones and handheld devices have become a reality. As a consequence of these improvements, there has been an increasing demand by users for interactive computer games which produce complex graphics by utilizing these advanced hardware technologies. Three dimensional (3D) graphics have been used to produce realistic interactive imaging for computer games during recent years. Java, through its mobile device programming platform, provides the framework for such complex image manipulations in computer games deployed on Java compatible mobile devices. However, the lack of a standard 3D application-programming interface (API), supported by mobile phone manufactures, has resulted in the need for program developers to use custom APis to create 3D programs such as the WGE (Wireless Graphics Engine) API produced by TTPcom. There is some evidence that the use of custom APis to develop 3D graphic images may result in poor compatibility and performance across different mobile platforms and devices This study initially examines the proposed Sun Microsystems specification for the Java 2 Micro Edition (J2ME) "Mobile 3D API" for the development of 3D graphics programming of mobile devices. These specifications have been designed to create an Industry standard Mobile 3D API. In addition, this study investigates the current specification for the Java 2 Micro Edition (CDDC1.0.3), to ascertain to what extent the development of 3D gaming on mobile devices is effected by the deficiencies in the current specification. These deficiencies include a Jack of support of for a floating point data type and the specification's reliance on fixed-point number calculations for developing 3D graphics. An assessment will be made to determine how these deficiencies influence the performance, stability of 3D algorithms deployed on different mobile device platforms. Investigations carried out on 3D graphics algorithm implementations on Java 2 Standard Edition (J2SE) platform suggests that the implementations rely on float data type and that the CLDC 1.0.3 configuration layer does not support the float data type. Experiments were conducted to determine whether fixed-point number methods can be used effectively to conduct precision calculations. These calculations are required to implement the 3D algorithms for the J2ME platform. In order to assess this, a simulation study was conducted on a number of emulators released by Nokia, Motorola and Siemens mobile phone manufactures. In addition, the algorithms were tested on a Java compatible Nokia 6610 mobile phone to ascertain if findings from emulator studies could be replicated on phones. The emulator study findings suggest that 3D algorithm implementations using fixed-point methods are compatible on Java compatible mobile handsets released by Nokia, Motorola and Siemens. Further more, it was shown that the fixed-point methods are suitable for implementing simple 3D algorithms (Rotation, Scaling and Translation). However, it was found that these methods were not suitable for extreme precision calculations such as Cartesian curve generations.