|
j3d.org Aviatrix3D | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.j3d.aviatrix3d.SceneGraphObject
org.j3d.aviatrix3d.Node
org.j3d.aviatrix3d.Leaf
org.j3d.aviatrix3d.Light
org.j3d.aviatrix3d.SpotLight
Representation of a spot light source.
A spot light has a direction, location and directs light as a conical shape in the given direction. Within the spotlight, there's a maximum angle that the light is effective to, and a drop-off rate of the light from the center to the maximum angle.
Field Summary |
Fields inherited from class org.j3d.aviatrix3d.Light |
diffuseColor, enabled, specularColor |
Fields inherited from class org.j3d.aviatrix3d.Node |
bounds, implicitBounds, INVALID_BOUNDS, parent |
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject |
alive, updateHandler, WRITE_TIMING_MSG |
Constructor Summary | |
SpotLight()
Creates a light with the colour set to black. |
|
SpotLight(float[] col)
Create a light with the given base colour.Colour must be in the range [0, 1] otherwise an exception is generated. |
|
SpotLight(float[] col,
float[] pos,
float[] dir)
Create a light with the given base colour.Colour must be in the range [0, 1] otherwise an exception is generated. |
Method Summary | |
void |
getAttenuation(float[] values)
Set the attenuation factors for the light. |
float |
getCutOffAngle()
Get the current gut-off angle. |
void |
getDirection(float[] dir)
Retrieve the current direction vector from the light. |
float |
getDropOffRateExponent()
Get the current drop off exponent rate. |
void |
getPosition(float[] pos)
Retrieve the current position vector from the light. |
protected void |
markBoundsDirty()
Mark this node as having dirty bounds due to one of it's children having their bounds changed. |
void |
postRender(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
|
void |
postRender(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu,
int lightId)
|
void |
render(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
This method is called to render this node. |
void |
render(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu,
int lightId)
Overloaded form of the render() method to render the light details given the specific Light ID used by OpenGL. |
void |
setAttenuation(float[] values)
Set the attenuation factors for the light. |
void |
setAttenuation(float constant,
float linear,
float quad)
Set the attenuation factors for the light. |
void |
setCutOffAngle(float angle)
Set the cut-off angle. |
void |
setDirection(float[] dir)
Set the direction to the new value. |
void |
setDirection(float x,
float y,
float z)
Set the direction to the new value. |
void |
setDropOffRateExponent(float exp)
Set the value of the exponent that can be used to control how the light intensity drops off from the center to the cut off angle. |
void |
setPosition(float[] pos)
Set the position to the new value. |
void |
setPosition(float x,
float y,
float z)
Set the position to the new value. |
Methods inherited from class org.j3d.aviatrix3d.Light |
getDiffuseColor, getSpecularColor, isEnabled, setDiffuseColor, setEnabled, setSpecularColor |
Methods inherited from class org.j3d.aviatrix3d.Node |
boundsChanged, checkForCyclicParent, getBounds, getParent, recomputeBounds, removeParent, setBounds, setLive, setParent, updateBounds |
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject |
checkForCyclicChild, dataChanged, getUserData, isLive, setUpdateHandler, setUserData |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SpotLight()
public SpotLight(float[] col) throws java.lang.IllegalArgumentException
col
- The new colour value to usepublic SpotLight(float[] col, float[] pos, float[] dir) throws java.lang.IllegalArgumentException
col
- The new colour value to usedir
- The direction of the lightMethod Detail |
public void render(net.java.games.jogl.GL gl, net.java.games.jogl.GLU glu, int lightId)
render
in class Light
gl
- The GL context to render withglu
- The GL utility context to render withlightId
- the ID of the light to make GL calls withpublic void postRender(net.java.games.jogl.GL gl, net.java.games.jogl.GLU glu, int lightId)
postRender
in class Light
public void render(net.java.games.jogl.GL gl, net.java.games.jogl.GLU glu)
render
in class Node
gl
- The gl context to draw withglu
- The utility context to draw withpublic void postRender(net.java.games.jogl.GL gl, net.java.games.jogl.GLU glu)
postRender
in class Node
protected void markBoundsDirty()
markBoundsDirty
in class Node
public void setCutOffAngle(float angle) throws java.lang.IllegalArgumentException, InvalidWriteTimingException
angle
- The angle in degrees [0, 90]
java.lang.IllegalArgumentException
- The angle was outside the range
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic float getCutOffAngle()
public void setDropOffRateExponent(float exp) throws java.lang.IllegalArgumentException, InvalidWriteTimingException
exp
- The value of the exponent
java.lang.IllegalArgumentException
- The exponent was less than zero
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic float getDropOffRateExponent()
public void setDirection(float[] dir) throws InvalidWriteTimingException
dir
- The new direction value to use
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void setDirection(float x, float y, float z) throws InvalidWriteTimingException
x
- The x component of the direction value to usey
- The y component of the direction value to usez
- The z component of the direction value to use
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void getDirection(float[] dir)
dir
- An array to copy the direction intopublic void setPosition(float[] pos) throws InvalidWriteTimingException
pos
- The new position value to use
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void setPosition(float x, float y, float z) throws InvalidWriteTimingException
x
- The x component of the position value to usey
- The y component of the position value to usez
- The z component of the position value to use
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void getPosition(float[] pos)
pos
- An array to copy the position intopublic void setAttenuation(float constant, float linear, float quad) throws InvalidWriteTimingException
constant
- The constant attenuation factorlinear
- The linear attenuation factorquad
- The quadratic attenuation factor
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void setAttenuation(float[] values) throws InvalidWriteTimingException
values
- Each value in the order:InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void getAttenuation(float[] values)
values
- Array to copy the values into, in the order:
|
j3d.org Aviatrix3D | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |