m3g07
Class FogSample

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

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

Sample demonstrating fog.

Author:
Claus Hoefele

Field Summary
private  int currentFogMode
          Current fog mode.
private  javax.microedition.m3g.Fog fog
          Fog object.
private static int FOG_MODE_EXPONENTIAL
          Identifier representing exponential fog.
private static int FOG_MODE_LINEAR
          Identifier representing linear fog.
private static int FOG_MODE_OFF
          Identifier representing disabled fog.
private static float FOG_PARAM_DENSITY
          Initial value for density of exponential fog.
private static float FOG_PARAM_FAR
          Initial value for far distance of linear fog.
private  float fogParam
          The current fog parameter.
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  javax.microedition.m3g.Transform meshTransform
          The mesh's transformation.
private static int NUMBER_OF_FOG_MODES
          Number of fog mode identifiers.
 
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
FogSample()
          Constructor.
 
Method Summary
 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.
private  void setFogMode(javax.microedition.m3g.Mesh mesh, javax.microedition.m3g.Fog fog, int mode, float param)
          Sets the current fog parameters.
 
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

mesh

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


meshTransform

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


FOG_PARAM_FAR

private static final float FOG_PARAM_FAR
Initial value for far distance of linear fog.

See Also:
Constant Field Values

FOG_PARAM_DENSITY

private static final float FOG_PARAM_DENSITY
Initial value for density of exponential fog.

See Also:
Constant Field Values

fog

private javax.microedition.m3g.Fog fog
Fog object.


fogParam

private float fogParam
The current fog parameter. Stores the far distance for linear fog; density for exponential fog.


FOG_MODE_LINEAR

private static final int FOG_MODE_LINEAR
Identifier representing linear fog.

See Also:
Constant Field Values

FOG_MODE_EXPONENTIAL

private static final int FOG_MODE_EXPONENTIAL
Identifier representing exponential fog.

See Also:
Constant Field Values

FOG_MODE_OFF

private static final int FOG_MODE_OFF
Identifier representing disabled fog.

See Also:
Constant Field Values

NUMBER_OF_FOG_MODES

private static final int NUMBER_OF_FOG_MODES
Number of fog mode identifiers.

See Also:
Constant Field Values

currentFogMode

private int currentFogMode
Current fog mode.


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

FogSample

public FogSample()
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

setFogMode

private void setFogMode(javax.microedition.m3g.Mesh mesh,
                        javax.microedition.m3g.Fog fog,
                        int mode,
                        float param)
Sets the current fog parameters.

Parameters:
mesh - target of fog.
fog - Fog object.
mode - fog mode.
param - far distance for linear fog, density for exponential fog, otherwise ignored.

render

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

Parameters:
graphics - graphics context for rendering.

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.