ArticleslgStudy

computer science

Mobile 3D Graphics API

Mobile 3D Graphics API is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Mobile 3D Graphics API rather than just read about it. In short: The Mobile 3D Graphics API, commonly referred to as M3G, is an open source graphics API and file format specification for developing Java ME applications that produce 3D computer graphics on embedded devices such as mobile phones and PDAs. History Originally developed at Nokia Research Center Tampere in 2003–2005, M3G was standardized under the Java Community Process as JSR 184 in 22 Dec, 2003.

Mobile 3D Graphics API — main illustration
Mobile 3D Graphics API — illustration

Key takeaways

  • Mobile 3D Graphics API belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Mobile 3D Graphics API to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Mobile 3D Graphics API from memory before moving on to harder problems.

Reference excerpt

The Mobile 3D Graphics API, commonly referred to as M3G, is an open source graphics API and file format specification for developing Java ME applications that produce 3D computer graphics on embedded devices such as mobile phones and PDAs.

History Originally developed at Nokia Research Center Tampere in 2003–2005, M3G was standardized under the Java Community Process as JSR 184 in 22 Dec, 2003. As of 2007, the latest version of M3G was 1.1, but version 2.0 was drafted as JSR 297 in April 2009. In 2010, M3G 1.1 JNI source code and related Symbian OS Java Runtime Environment were subsequently released into open source through the Symbian Foundation.

Rendering

M3G is an object-oriented interface consists of 30 classes that can be used to draw complex animated three-dimensional scenes, it provides two ways for developers to draw 3D graphics: immediate mode and retained mode. In immediate mode, graphics commands are issued directly into the graphics pipeline and the rendering engine executes them immediately. When using this method, the developer must write code that specifically tells the rendering engine what to draw for each animation frame. A camera, and set of lights are also associated with the scene, but is not necessarily part of it. In immediate mode it is possible to display single objects, as well as entire scenes (or worlds, with a camera, lights, and background as parts of the scene). Retained mode always uses a scene graph that links all geometric objects in the 3D world in a tree structure, and also specifies the camera, lights, and background. Higher-level information about each object—such as its geometric structure, position, and appearance—is retained from frame to frame. In retained mode, data are not serialized by Java's own serialization mechanism. They are optimized by the M3G serialization mechanism, which produces and loads data streams conforming to the .m3g file format specification for 3D model data, including animation data format. This allows developers to create content on desktop computers that can be loaded by M3G on mobile devices.

Further reading Pulli, Kari; Aarnio, Tomi; Roimela, Kimmo & Vaarala, Jani (2005). "Designing graphics programming interfaces for mobile devices". IEEE Computer Graphics and Applications. 25 (6). IEEE CG&A 2005: 66–75. doi:10.1109/MCG.2005.129. PMID 16315479. S2CID 8177273. Aarnio, Callow, Miettinen and Vaarala: Developing Mobile 3D Applications With OpenGL ES and M3G, SIGGRAPH 2005: Courses Alessio Malizia: Mobile 3D Graphics, Springer, 2006, ISBN 978-1-84628-383-3 Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, Jani Vaarala: Mobile 3D Graphics with OpenGL ES and M3G, Morgan Kaufmann, 2007, ISBN 0-12-373727-3 Claus Höfele: Mobile 3D Graphics: Learning 3D Graphics with the Java Micro Edition, Thomson Course Technology PTR, 2007, ISBN 1-59863-292-2 Carlos Morales, David Nelson: Mobile 3D Game Development: From Start to Market, Charles River Media, 2007, ISBN 1-58450-512-5

References

External links Java Community Process JSR 184 (Mobile 3D Graphics API for J2ME 1.0, 1.1 Final Release 2) JSR 297 (Mobile 3D Graphics API 2.0 Proposed Final Draft) JSR 239 (Java Bindings for OpenGL ES) – related Java ME graphics specification Specifications JSR-000184 Mobile 3D Graphics API for J2ME(TM) 1.1 Maintenance Release JSR 184 1.1 Specification (Mobile 3D Graphics API Technical Specification, Version 1.1, June 22, 2005) Getting Started With the Mobile 3D Graphics API for J2ME 3D graphics for Java mobile devices: Part 1 and Part 2 list of compatible devices JSR 184 compatible devices (Performance listing of most mobile 3D devices) Source code released by Symbian Foundation on GitHub SymbianSource/oss.FCL.sf.app.JRT

Worked examples

Example 1 — a first encounter with Mobile 3D Graphics API

Start with the simplest possible case. Write down what Mobile 3D Graphics API claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Mobile 3D Graphics API before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Mobile 3D Graphics API ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Mobile 3D Graphics API

In research
Mobile 3D Graphics API appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Mobile 3D Graphics API in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Mobile 3D Graphics API is common in secondary-school and first-year university syllabi. It links to neighbouring topics 2003 software, 3D graphics file formats, 3D scenegraph APIs, so understanding it makes those chapters shorter.
In everyday life
Look for Mobile 3D Graphics API outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Mobile 3D Graphics API” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Mobile 3D Graphics API in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Mobile 3D Graphics API means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Mobile 3D Graphics API out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Mobile 3D Graphics API in simple terms?

The Mobile 3D Graphics API, commonly referred to as M3G, is an open source graphics API and file format specification for developing Java ME applications that produce 3D computer graphics on embedded devices such as mobile phones and PDAs. History Originally developed at Nokia Research Center Tampe…

Why does Mobile 3D Graphics API matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Mobile 3D Graphics API?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Mobile 3D Graphics API.

Tags

  • 2003 software
  • 3D graphics file formats
  • 3D scenegraph APIs
  • Cross-platform free software
  • Discontinued software
  • History of software
  • Java APIs
  • Java device platform
  • Java specification requests
  • Mobile software
  • Nokia platforms

Keep exploring