m3g06
Class EnvironmentMappingSample

java.lang.Object
  extended by javax.microedition.lcdui.Displayable
      extended by javax.microedition.lcdui.Canvas
          extended by javax.microedition.lcdui.game.GameCanvas
              extended by m3g06.EnvironmentMappingSample
All Implemented Interfaces:
Sample

public class EnvironmentMappingSample
extends javax.microedition.lcdui.game.GameCanvas
implements Sample

Demonstrates environment mapping.

Author:
Claus Hoefele
See Also:
EnvironmentMap

Field Summary
private  javax.microedition.m3g.Background background
          Background image.
private  float cameraX
          The camera's current rotation value.
private  int currentMesh
          Current mesh.
private  EnvironmentMap environmentMap
          Calculates environment mapping coordinates.
private  javax.microedition.lcdui.Graphics graphics
          2D graphics singleton used for rendering.
private  javax.microedition.m3g.Graphics3D graphics3d
          3D graphics singleton used for rendering.
private  javax.microedition.m3g.Mesh mesh
          Mesh for display.
private static int MESH_CYLINDER
          Cylinder is displayed.
private static int MESH_SPHERE
          Sphere is displayed.
private static int MESH_TEAPOT
          Teapot is displayed.
private  javax.microedition.m3g.Transform meshTransform
          The mesh's transformation.
private  float modelX
          The model's current rotation value.
private  float modelZ
          The model's current rotation value.
private static int NUMBER_OF_MESHES
          Number of meshes.
private  javax.microedition.m3g.Texture2D texture
          The mesh's texture.
 
Fields inherited from class javax.microedition.lcdui.game.GameCanvas
DOWN_PRESSED, FIRE_PRESSED, GAME_A_PRESSED, GAME_B_PRESSED, GAME_C_PRESSED, GAME_D_PRESSED, LEFT_PRESSED, RIGHT_PRESSED, UP_PRESSED
 
Fields inherited from class javax.microedition.lcdui.Canvas
DOWN, FIRE, GAME_A, GAME_B, GAME_C, GAME_D, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_POUND, KEY_STAR, LEFT, RIGHT, UP
 
Constructor Summary
EnvironmentMappingSample()
          Constructor.
 
Method Summary
private  javax.microedition.m3g.Mesh createMesh(int meshId, javax.microedition.m3g.Texture2D texture)
          Creates a mesh based on the given ID.
 void destroy()
          Destroys the sample.
private  void drawMenu(javax.microedition.lcdui.Graphics graphics)
          Draws a menu for the current key assignments.
 void init()
          Initializes the sample.
protected  void keyPressed(int keyCode)
          Handles key presses.
private  void render(javax.microedition.lcdui.Graphics graphics)
          Renders the sample.
 
Methods inherited from class javax.microedition.lcdui.game.GameCanvas
flushGraphics, flushGraphics, getGraphics, getKeyStates, paint
 
Methods inherited from class javax.microedition.lcdui.Canvas
getGameAction, getKeyCode, getKeyName, hasPointerEvents, hasPointerMotionEvents, hasRepeatEvents, hideNotify, isDoubleBuffered, keyReleased, keyRepeated, pointerDragged, pointerPressed, pointerReleased, repaint, repaint, serviceRepaints, setCommandListener, setFullScreenMode, showNotify, sizeChanged
 
Methods inherited from class javax.microedition.lcdui.Displayable
addCommand, getHeight, getTicker, getTitle, getWidth, isShown, removeCommand, setTicker, setTitle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

environmentMap

private EnvironmentMap environmentMap
Calculates environment mapping coordinates.


mesh

private javax.microedition.m3g.Mesh mesh
Mesh for display.


meshTransform

private javax.microedition.m3g.Transform meshTransform
The mesh's transformation.


modelX

private float modelX
The model's current rotation value.


modelZ

private float modelZ
The model's current rotation value.


cameraX

private float cameraX
The camera's current rotation value.


texture

private javax.microedition.m3g.Texture2D texture
The mesh's texture.


background

private javax.microedition.m3g.Background background
Background image.


MESH_SPHERE

private static final int MESH_SPHERE
Sphere is displayed.

See Also:
Constant Field Values

MESH_CYLINDER

private static final int MESH_CYLINDER
Cylinder is displayed.

See Also:
Constant Field Values

MESH_TEAPOT

private static final int MESH_TEAPOT
Teapot is displayed.

See Also:
Constant Field Values

NUMBER_OF_MESHES

private static final int NUMBER_OF_MESHES
Number of meshes.

See Also:
Constant Field Values

currentMesh

private int currentMesh
Current mesh.


graphics3d

private javax.microedition.m3g.Graphics3D graphics3d
3D graphics singleton used for rendering.


graphics

private javax.microedition.lcdui.Graphics graphics
2D graphics singleton used for rendering.

Constructor Detail

EnvironmentMappingSample

public EnvironmentMappingSample()
Constructor.

Method Detail

init

public void init()
Initializes the sample.

Specified by:
init in interface Sample

destroy

public void destroy()
Destroys the sample.

Specified by:
destroy in interface Sample

createMesh

private javax.microedition.m3g.Mesh createMesh(int meshId,
                                               javax.microedition.m3g.Texture2D texture)
Creates a mesh based on the given ID.

Parameters:
meshId - mesh ID.
texture - texture data.
Returns:
Mesh new mesh.

render

private void render(javax.microedition.lcdui.Graphics graphics)
Renders the sample.

Parameters:
graphics - graphics context for drawing.

keyPressed

protected void keyPressed(int keyCode)
Handles key presses.

Overrides:
keyPressed in class javax.microedition.lcdui.Canvas
Parameters:
keyCode - key code.

drawMenu

private void drawMenu(javax.microedition.lcdui.Graphics graphics)
Draws a menu for the current key assignments.

Parameters:
graphics - graphics context for drawing.