#000655     
#0000ff : Mank
  #ff0000  : 09.09.2003 13:29
#00ff00 J2ME
#def         J2ME, ,             ,    .       ,        ,  , ,        .     ,            .    :  ,    .  ,          (     ,      ).  

   ? ,  .     ?       ,    .  : " ?"    ,      . MIDP 1.0     javax.microedition.lcdui. MIDP 2.0      javax.microedition.lcdui.game.   ?   ?        ?   .    ,  , .   . 

   ?    www.jcp.org.   ?      :         .     ,  ,    , ,  ,          Java Specification Requests (JSR).  JSR   ,      ,      ,   . ,   . 

        ,  ""   JSR,    . : JSR 209, JSR 226, JSR 184. 
Advanced Graphics and User Interface Optional Package for the J2ME Platform 
(JSR 209) 
Advanced Graphics and User Interface (AGUI)   ,      J2ME         ,     J2SE.      : 
Swing
Java2D Graphics and Imaging
Image I/O
Input Method Framework.
   ,    J2SE 1.4.1      AGUI . 
javax.swing (and subpackages)
java.awt.color
java.awt.font
java.awt.geom
java.awt.im (and subpackages)
java.awt.image (and subpackages)
javax.imageio (and subpackages)
  JSR 209       (    Expert Group Formation),   ,       . 

   JSR 209?        .   J2ME    ,    J2SE.  ,   ,  J2ME  J2SE (    ).      , ,  ,          ,       API. 

Scalable 2D Vector Graphics API for J2ME 
(JSR 226) 
Scalable 2D Vector Graphics API         ,     Scalable Vector Graphics (SVG). SVG       ,  W3C . SVG  XML        : ""   (vector graphics shapes),   .     , , "".   SVG    Document Object Model (DOM) API,       . 

Scalable 2D Vector Graphics API     ,    SVG,        .           .   ,    API,   ,        . 

Scalable 2D Vector Graphics API      .       .   ,    ,     ,  Connected Limited Device Configuration 1.1 (CLDC).    CLDC 1.1    floating point.    ,     , floating point    fixed  point arithmetic  .  , ,   CLDC 1.1  . 

   JSR 226?     JSR, JSR 226      .       (    JSR Review Ballot),    ,          ,       . 
Mobile 3D Graphics API for J2ME
(JSR 184) 
Mobile 3D Graphics API      3D API   . API   ,    3D   ,  ,     ...    JSR', Mobile 3D Graphics API  .  microedition.m3d.version,   getProperty  System,     API,   ,   null.  ,       API,         . 

API    ,   3D ,     ... ,      API,  native    ,   .      " Java",   ,   . 

,   Mobile 3D Graphics API: 

  3D     
API          ( ,   ). 
API    -      3D . 
API         ROM  RAM. 
    100kb 
API      Java API 
API        CLDC 1.1 (native float data type of CLDC 1.1). 
     ,            float data type.  API,          floating point. 

 ,     Mobile 3D Graphics API,       ,  ,    ,    (   Proposed Final Draft).   ,      .         Mobile 3D Graphics API,  ,  ,    ,   ,     3D. ,     Mobile 3D Graphics API. 

.      ,    Mobile 3D Graphics API  .      Graphics3D,       3D   .   ,    Graphics3D,    Graphics3D.createGraphics3D(). Graphics3D  .  ,        ,      IllegalStateException.   ,    Graphics3D,     Graphics  Image2D,  , bindTarget (Object obj).   , 3D    .  releaseTarget()    (,    ).  Graphics  Image2D c Graphics3D,     3D.        Graphics3D  render.     .     ,  . 
class MyCanvas extends Canvas
{
  Graphics3D g3D;
  void init()
  {
    g3D = Graphics3D.createGraphics3D();
  }

  protected void paint (Graphics g)
  {
    g3D.bindTarget (g);

    g3D.render (...);

    g3D.releaseTarget (g);
  }
  ...
}
,     ,    ,    Graphics3D: 
clear (int buffers, javax.microedition.m3d.Background background)
setAmbientLight (int RGB)
setAntialiasingEnable (boolean enable)
setCamera (javax.microedition.m3d.Camera, javax.microedition.m3d.Transform)
setLight (int index, javax.microedition.m3d.Light, javax.microedition.m3d.Transform)
setViewport (int x, int y, int width, int height)
setDepthBufferEnable (boolean enable)
,     ,    Loader.       ,    Object3D.     , : 
World, Group, Camera, Light     
Material, Appearance, Texture2D   
AnimationTrack  AnimationController   .
     ,        ,   load. 
public static javax.microedition.m3d.Object3D[]
load (byte[] data, int offset) throws IOException
public static javax.microedition.m3d.Object3D[]
load (java.lang.String name) throws IOException
class MyCanvas extends Canvas
{
  Graphics3D g3D;
  World world;
  void init()
  {
    try
    {
      g3D = Graphics3D.createGraphics3D();
      Object3D [] objs =
      Loader.load ("http://domain.com/8498ujgkduy.m3d")
      world = (World)objs[0];
    }
    catch (Exception ex){//todo}
    }

    protected void paint (Graphics g)
    {
      g3D.bindTarget (g);
      g3D.render (world);
      g3D.releaseTarget (g);
    }
    ...
  }
  ,     29   javax.microedition.m3d. ,    3D,         Mobile 3D Graphics API. 
AnimationController
AnimationTrack
Appearance
Background
Camera
CompositingMode
Fog
GeometryMode
Graphics3D
Group
Image2D
IndexBuffer
KeyframeSequence
Light
Loader
Material
Mesh
MorphingMesh
Node
Object3D
RayIntersection
SkinnedMesh
Sprite
Texture2D
Transform
TriangleStripArray
VertexArray
VertexBuffer
World 
 , MIDP 1.0 ( javax.microedition.lcdui)    ,   J2ME  .      MIDP 2.0   javax.microedition.lcdui  .     ,      ,  ,   Graphics.     javax.microedition.lcdui.game,   ,   com.siemens.mp.game   Siemens,       ,      . 
  JSR,    ,       J2ME .   ,    . , , , , , , ,       ! ,   ""?     ,   ,    ,  ,    ,   Sun    msoft. 

Ho!     "".        ,         ,   .  ,          API   ,  ,   1.5  3 .      ,   .   ,   ,    ,   ,  2  .    ,    :  ""      "".        "".