Developing the immediate mode of mobile 3D games for J2ME

Source: Internet
Author: User
Tags abstract

First, brief

Now, mobile games and mobile apps are very popular! The game needs to have fashionable and beautiful graphics, its design standard is higher than any time before. This article will show you how to use the cool mobile 3D graphics API to develop 3D graphics games for J2ME devices.

If you're programming with MIDP1.0, there are two paths you can choose from: Using advanced UI classes or starting from scratch. As game developers, the first option is often impossible; This is why game developers have to develop their own 3D engines for their advanced games. There is no doubt that this will take a lot of time and effort, and the lack of floating-point support for CLDC 1.0 (MIDP 1.0 is built on it) does little to solve the problem.

In MIDP 2.0, there is an optional package called the Mobile 3D graphics API, or JSR 184. The API is the first three-dimensional graphics package on a mobile device based on Java standard development. The API has both high-level and low-level graphic features, where advanced features are called retention modes, and low-level features are called immediate patterns. Retention mode makes it possible for the developer to use the scene graph and make the objects in the scene according to the virtual camera and the location of the lights to color themselves. Immediate mode allows the application to draw directly from the object. If you want, you can use both modes in the same application.

This article focuses on immediate mode.

Second, 3D API

Let's start by enumerating and interpreting the classes in the 3D API. In addition to these APIs, JSR 184 includes a scene graphic structure and a corresponding file format to effectively manage and configure 3D content. The file format defines a m3g file that is typically converted from a 3D modeling file application.

Table 1. 3D API Class

Class Describe
Animationcontroller Controls animation order.
Animationtrack To correlate a keyframesequence with a animationcontroller.
Appearance A set of objects that define a mesh (mesh) or a spring3d shaded property.
Background Defines how the view is cleared.
Camera A vertex of a scene graph that defines the position of the observer in the scene and the projection from 3D to 2D.
CompositingMode A appearance class that encapsulates the composite properties of each pixel.
Fog A appearance class that contains the relevant properties of the atomization.
Graphics3d A separate 3D graphics context. All shader operations are implemented in the render () method in the class.
Group A scene graph node that stores a unordered set of nodes as its sub nodes.
Image2d A two-dimensional image that can be used for textures, backgrounds, or sprite images.
IndexBuffer This class defines how vertices are connected to form a geometry.
Keyframesequence Encapsulates a series of animated data with timestamp and vector-valued keyframes.
Light Describes the different types of light sources.
Loader Download and drag the row Graph node and node components, as well as the entire scene graph.
Material Encapsulates the material properties for optical calculations.
Mesh Describes a 3D object, which is defined with a polygon surface.
Morphingmesh Describes a vertex-deformed polygon mesh.
Node Abstract base class for all scene graph nodes. Its five specific subclasses are: Camera,mesh,sprite3d,light and group.
Object3d Abstract base class for all objects that can be part of the 3D world.
Polygonmode Encapsulates the polygon-level attribute.
Rayintersection A reference to a segmented mesh or sprite3d is stored, along with information about the split point.
Skinnedmesh Describes the polygonal mesh of a frame animation.
Sprite3d Describes a 2D image in 3D position.
Texture2d Encapsulates a 2D texture image and a collection of attributes that indicate how the image is applied to the child mesh.
Transform A general-purpose 4x4 floating-point number matrix used to describe a transformation.
transformable Abstract base class for node and Texture2d classes.
Trianglestriparray Defines a triangle with an array.
Vertexarray An integer vector array that describes the vertex position, normal, color, or texture coordinates.
VertexBuffer Stores a reference to the vertexarrays that contains the position, color, normals, and texture coordinates of a vertex set.
World A special group node that serves as the topmost container for the scene graph.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.