Below is a list of known bugs in the Nokia M3G (JSR-184) implementation as of April 21, 2005. The bugs are listed in the order they were discovered and fixed, the most recent ones first.
These bugs concern the Nokia 6630, and some of them may concern our other M3G enabled phones as well, such as the 6255 (CDMA) and the 6680. We do not have the details on which exact firmware versions are affected, however: It usually takes several weeks or even months for our M3G engine releases to propagate into final products.
* Duplicated SkinnedMesh nodes do not animate. The best workaround for most cases is to load the mesh multiple times, then copy the Appearance and VertexArray objects from the first instance to avoid multiple copies of large data elements. Fixed in the wk15 2005 release.
* SkinnedMesh vertices not attached to any bones may move erroneously. This can be avoided by attaching all vertices to at least one bone, which usually is the case with skinned models. Fixed in the wk15 2005 release.
* Transformable.pre/postRotate does not work. This happens after setting an initial orientation with Transformable.setOrientation(0, 0, 0, 0), which is legal according to the spec but results in invalid values internally. As a workaround, any non-zero axis to setOrientation(0, ...) will work. Fixed in the wk05 2005 release.
* Loader fails to load compressed M3G files produced with HI's exporter. This is because of a bug in handling of empty compressed sections. As a workaround, do not tick the "Compress" checkbox in the M3G Converter tool. Fixed in the wk05 2005 release.
* Camera and light transformations are incorrect after a retained-mode render. There is no other workaround except to manually copy the camera and lights from the scene graph into the Graphics3D. Fixed in the wk51 2004 release.
* Sprites are not rendered correctly or at all. This occurs when using the Node variant of retained-mode rendering; with World rendering, sprites work as expected. Fixed in the wk51 2004 release.
* Loader ignores transparency information in PNG images. This bug affects Series 60 devices only. Nokia 6630 ignores all types of transparency; Nokia 6680 handles raw alpha channels correctly, but ignores color-key and palette transparency. As a workaround, use Image.createImage to load the PNG, then construct an Image2D from that. Fixed partially in the wk47 2004 release, fully on wk49.
* The background image may flicker on and off when scrolled. A wrapping background image is erroneusly not drawn if the crop rectangle is outside of the viewport. As a workaround, use a modulo operation to always put the crop rectangle within the viewport. Fixed in the wk45 2004 release.
* Depth offset works the wrong way around. Can be circumvented by changing the sign of the depth offset factors, but this is _not compatible with later versions_. This was a bug in the underlying OpenGL ES library and has been fixed in their wk43 2004 release.
JSR-184 Specification Lead
Project manager, Nokia M3G engine