a3dAPI
Class a3dSWH

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--a3dAPI.a3dSWH
All Implemented Interfaces:
a3dRender, javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.image.ImageProducer, java.awt.MenuContainer, java.io.Serializable

public final class a3dSWH
extends java.awt.Canvas
implements a3dRender, java.awt.image.ImageProducer

java software rendering core This class offers some extended functions that you can use to manipulate video buffers

Author:
Andrea Fasce
See Also:
Serialized Form

Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Method Summary
 void addConsumer(java.awt.image.ImageConsumer imageconsumer)
           
 void beginScene()
          call this metodh before starting to send faces
 int createTexture()
          create a new texture
 void deleteTexture(int ID)
          delete texture
 void destroyDevice()
          destroy the device and frees all allocated datas
 void drawFace(float[] v0, float[] v1, float[] v2, int clip)
          draw a face given it's vertices and clipvalue
 void endScene()
          call this method when you've sent all faces
 int[] extGetScreen()
          Returns the array that will be used for rendering the dimension of the array is the same of the Component width*height
 int[] extGetZBuffer()
          Returns the array that will be used for zbuffering
 void extSetMode(int z00m)
          this function changes in realtime the rendering type of the software module
 void extSetPaint(java.awt.Component c)
          this function is useful to set up a paint method that will be called by the device's paint method to write over the rendering canvas
 int getHeight()
          returns the height of the screen
 java.awt.Dimension getMinimumSize()
           
 int getWidth()
          returns the width of the rendering screen
 int[][][] grow(int[][][] start)
           
 boolean isConsumer(java.awt.image.ImageConsumer imageconsumer)
           
 void paint(java.awt.Graphics gx)
           
 void removeConsumer(java.awt.image.ImageConsumer imageconsumer)
           
 void requestTopDownLeftRightResend(java.awt.image.ImageConsumer imageconsumer)
           
 void resetDevice()
          reset this device deleting all textures and temporary datas
 void setBackgroundColor(float r, float g, float b)
          sets the background color
 void setBackgroundImage(int[] pix, int width, int height)
          sets the background image
 void setBilinear(boolean bilinear)
           
 void setFilter(int filter)
           
 void setFogActive(boolean flag)
          switch fog on/off
 void setFogLinear(float near, float far, float r, float g, float b)
          switch fog on and create a linear for
 void setKeyCode(java.lang.String key)
          sets the registartion code
 void setPerspective(float fov2, float fov, float near, float far)
          sets the values used by the camera
 void setRenderState(int texID, boolean gouraud, float alpha)
          sets the render state for the rendering of all the next faces
 void setTextureBilinear(int ID, boolean bilinear)
          sets bilinear filtering of a texture
 void setTextureImage(int ID, int[] pix, int width, int height)
          sets the image of a texture
 void startProduction(java.awt.image.ImageConsumer imageconsumer)
           
 void update(java.awt.Graphics gx)
           
 
Methods inherited from class java.awt.Canvas
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, deliverEvent, disable, dispatchEvent, doLayout, enable, enable, enableInputMethods, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getName, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getTreeLock, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, validate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

setKeyCode

public final void setKeyCode(java.lang.String key)
Description copied from interface: a3dRender
sets the registartion code
Specified by:
setKeyCode in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
key - the license code

setPerspective

public void setPerspective(float fov2,
                           float fov,
                           float near,
                           float far)
Description copied from interface: a3dRender
sets the values used by the camera
Specified by:
setPerspective in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
fov - fov of the camera
near - near camera plane
far - far camera plane

getWidth

public int getWidth()
Description copied from interface: a3dRender
returns the width of the rendering screen
Specified by:
getWidth in interface a3dRender
Overrides:
getWidth in class java.awt.Component
Following copied from interface: a3dAPI.a3dRender
Returns:
width of the screen

getHeight

public int getHeight()
Description copied from interface: a3dRender
returns the height of the screen
Specified by:
getHeight in interface a3dRender
Overrides:
getHeight in class java.awt.Component
Following copied from interface: a3dAPI.a3dRender
Returns:
height of the screen

resetDevice

public void resetDevice()
Description copied from interface: a3dRender
reset this device deleting all textures and temporary datas
Specified by:
resetDevice in interface a3dRender

grow

public int[][][] grow(int[][][] start)

createTexture

public int createTexture()
Description copied from interface: a3dRender
create a new texture
Specified by:
createTexture in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Returns:
the new id of the texture created

deleteTexture

public void deleteTexture(int ID)
Description copied from interface: a3dRender
delete texture
Specified by:
deleteTexture in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
ID - texture ID to delete

setTextureBilinear

public void setTextureBilinear(int ID,
                               boolean bilinear)
Description copied from interface: a3dRender
sets bilinear filtering of a texture
Specified by:
setTextureBilinear in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
ID - the ID of the texture
bilinear - true/false to switch bilinear filtering on/off for that texture

paint

public final void paint(java.awt.Graphics gx)
Overrides:
paint in class java.awt.Canvas

update

public final void update(java.awt.Graphics gx)
Overrides:
update in class java.awt.Component

isConsumer

public final boolean isConsumer(java.awt.image.ImageConsumer imageconsumer)
Specified by:
isConsumer in interface java.awt.image.ImageProducer

removeConsumer

public final void removeConsumer(java.awt.image.ImageConsumer imageconsumer)
Specified by:
removeConsumer in interface java.awt.image.ImageProducer

addConsumer

public final void addConsumer(java.awt.image.ImageConsumer imageconsumer)
Specified by:
addConsumer in interface java.awt.image.ImageProducer

requestTopDownLeftRightResend

public final void requestTopDownLeftRightResend(java.awt.image.ImageConsumer imageconsumer)
Specified by:
requestTopDownLeftRightResend in interface java.awt.image.ImageProducer

startProduction

public final void startProduction(java.awt.image.ImageConsumer imageconsumer)
Specified by:
startProduction in interface java.awt.image.ImageProducer

getMinimumSize

public final java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class java.awt.Component

beginScene

public final void beginScene()
Description copied from interface: a3dRender
call this metodh before starting to send faces
Specified by:
beginScene in interface a3dRender

endScene

public final void endScene()
Description copied from interface: a3dRender
call this method when you've sent all faces
Specified by:
endScene in interface a3dRender

setBackgroundColor

public final void setBackgroundColor(float r,
                                     float g,
                                     float b)
Description copied from interface: a3dRender
sets the background color
Specified by:
setBackgroundColor in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
r - red component
g - green component
b - blue component

setBackgroundImage

public final void setBackgroundImage(int[] pix,
                                     int width,
                                     int height)
Description copied from interface: a3dRender
sets the background image
Specified by:
setBackgroundImage in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
pix - an array of 0xrrggbb values
width - width of the array
height - height of the array

setTextureImage

public final void setTextureImage(int ID,
                                  int[] pix,
                                  int width,
                                  int height)
Description copied from interface: a3dRender
sets the image of a texture
Specified by:
setTextureImage in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
ID - the ID of the texture to modify
pix - an array of 0xrrggbb values
width - width of the array
height - height of the array

setRenderState

public void setRenderState(int texID,
                           boolean gouraud,
                           float alpha)
Description copied from interface: a3dRender
sets the render state for the rendering of all the next faces
Specified by:
setRenderState in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
textureID - ID of the texture to use or -1 if no texture is used
gouraud - true if the vertices contains color per vertex informations
rAlpha - a float in the range 0-1 to specify the alpha value

drawFace

public final void drawFace(float[] v0,
                           float[] v1,
                           float[] v2,
                           int clip)
Description copied from interface: a3dRender
draw a face given it's vertices and clipvalue
Specified by:
drawFace in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
v0 - an array that contains: v0[0],v0[1],v0[2] = x,y,z of the vertices v0[3],v0[4],v0[5] = xr,yr,zr in screen coords v0[6],v0[7],v0[8] = r,g,b for the vertices v0[9],v0[10] = u,v for the vertices

setBilinear

public final void setBilinear(boolean bilinear)
Specified by:
setBilinear in interface a3dRender

setFilter

public final void setFilter(int filter)
Specified by:
setFilter in interface a3dRender

setFogActive

public void setFogActive(boolean flag)
Description copied from interface: a3dRender
switch fog on/off
Specified by:
setFogActive in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
flag - true/false fog on/off

setFogLinear

public void setFogLinear(float near,
                         float far,
                         float r,
                         float g,
                         float b)
Description copied from interface: a3dRender
switch fog on and create a linear for
Specified by:
setFogLinear in interface a3dRender
Following copied from interface: a3dAPI.a3dRender
Parameters:
near - near fog plane
far - far fog plane
r - fog red component
g - fog green component
b - fog blue component

destroyDevice

public final void destroyDevice()
Description copied from interface: a3dRender
destroy the device and frees all allocated datas
Specified by:
destroyDevice in interface a3dRender

extGetScreen

public final int[] extGetScreen()
Returns the array that will be used for rendering the dimension of the array is the same of the Component width*height

extGetZBuffer

public final int[] extGetZBuffer()
Returns the array that will be used for zbuffering

extSetPaint

public final void extSetPaint(java.awt.Component c)
this function is useful to set up a paint method that will be called by the device's paint method to write over the rendering canvas

extSetMode

public final void extSetMode(int z00m)
this function changes in realtime the rendering type of the software module
Parameters:
z00m - 0-standard software mode 1-zoomed mode 2-alt zoomed mode 3-antialias mode


(C)2000 by Andrea Fasce