|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcz.cuni.jagrlib.DefaultProperty
cz.cuni.jagrlib.Piece
cz.cuni.jagrlib.DefaultLightSource
cz.cuni.jagrlib.testing.StaticSpotLightSource
public class StaticSpotLightSource
Static point light source.
| Field Summary | |
|---|---|
protected double |
cosFallOffStart
Cosinus of angle cosFallOffStart. |
protected double |
cosThetaMax
Cosinus of angle totalWidth. |
protected double[] |
dim
Dimming polynom coefficients: light is dimmed by the factor of dim[0] + dim[1] * D + dim[2] * D * D. |
protected double[] |
direction
Light source coordinates. |
static java.lang.String |
DIRECTION
JGL script key: light direction. |
static java.lang.String |
FALL_OFF_START
JGL script key: fall off start. |
protected double[] |
fallOffStart
Angle which defines inner cone. |
static java.lang.String |
KEY_DIM
JGL script key: dim. |
static java.lang.String |
KEY_POSITION
JGL script key: light position. |
protected double[] |
lightColor
Color of the source: 1D for monochrome source, 3D for RGB
color space, or more for complex spectrum sampled spaces. |
static java.lang.String |
PHOTONS
JGL script key: position of up right vertex. |
protected double[] |
position
Light source coordinates. |
static RegPiece |
reg
Static registration instance for this class. |
protected RandomJames |
rnd
Random number generator. |
protected double[] |
thetaMax
Angle which defines outer cone. |
static java.lang.String |
TOTAL_WIDTH
JGL script key: total width. |
| Fields inherited from class cz.cuni.jagrlib.DefaultLightSource |
|---|
CATEGORY, inter, KEY_LIGHT, PARAMS, plugInter, scriptName, TEMPLATE_NAME |
| Fields inherited from class cz.cuni.jagrlib.Piece |
|---|
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak |
| Fields inherited from interface cz.cuni.jagrlib.iface.LightSource |
|---|
COLOR |
| Fields inherited from interface cz.cuni.jagrlib.iface.Property |
|---|
LOGGING, STATISTICS, TEXT_DESCRIPTION |
| Constructor Summary | |
|---|---|
StaticSpotLightSource()
|
|
| Method Summary | |
|---|---|
java.lang.Object |
get(java.lang.String key)
Gets the given property. |
boolean |
getDirection(MicroFacet mf,
double[] dir)
Returns light direction between the source and the given MicroFacet. |
protected double |
getFallOff(double[] dir)
Returns fall off for given direction. |
boolean |
getIntensity(MicroFacet mf,
double[] color)
Returns light intensity coming from the source to the given MicroFacet. |
boolean |
isDeltaLight()
Is delta light? |
boolean |
lights(MicroFacet mf)
Lighting test from the source to the given MicroFacet. |
double |
pdf(double[] point,
double[] normal,
double[] dir)
Return probability density function. |
protected void |
readScript()
Read data from JGL script. |
double |
sample(double u1,
double v1,
double u2,
double v2,
double[] pos,
double[] dir,
double[] power)
Generates one photon leaving this light source. |
boolean |
sample(MicroFacet mf,
double u,
double v,
double[] color,
double[] dir,
double[] pdf,
boolean testVisibility)
Sample the light by one shadow ray. |
void |
set(java.lang.String key,
java.lang.Object value)
Sets the given property. |
boolean |
setParams(double[] pos,
double[] dir,
double[] color,
double width,
double fallOff,
double[] dimming)
Set light source parameters. |
static int |
setTemplate(Template t,
int ord)
General-purpose registration routine. |
java.lang.String |
toString()
For debugging purposes only. |
protected void |
transform(double[] dir)
Transform from light space to world space. |
| Methods inherited from class cz.cuni.jagrlib.DefaultLightSource |
|---|
assertInter, getDirection, getIntensity, lights, setIntersectable |
| Methods inherited from class cz.cuni.jagrlib.Piece |
|---|
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, init, isCompatible, isCompatible, isConnected, logError, logWarning, myInterface, newInputPlug, newOptOutputPlug, newOutputPlug, newPlug, noTemplates, propBegin, propBounds, propDefault, propEnd, propEnum, propManipulator, propManipulator, setProgressListener, setRegStrings, setTemplateDynamic, stop |
| Methods inherited from class cz.cuni.jagrlib.DefaultProperty |
|---|
booleanProperty, booleanProperty, colorDoubleProperty, colorProperty, commit, doubleProperty, doubleProperty, doubleProperty, enumProperty, floatProperty, floatProperty, floatProperty, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, stringProperty |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface cz.cuni.jagrlib.iface.Property |
|---|
commit |
| Field Detail |
|---|
protected final RandomJames rnd
protected double[] position
protected double[] direction
protected double[] lightColor
1D for monochrome source, 3D for RGB
color space, or more for complex spectrum sampled spaces.
protected double[] thetaMax
protected double cosThetaMax
protected double[] fallOffStart
protected double cosFallOffStart
protected double[] dim
dim[0] + dim[1] * D + dim[2] * D * D.
Can be null for no dimming..
public static final java.lang.String PHOTONS
public static final java.lang.String KEY_POSITION
public static final java.lang.String DIRECTION
public static final java.lang.String TOTAL_WIDTH
public static final java.lang.String FALL_OFF_START
public static final java.lang.String KEY_DIM
public static final RegPiece reg
| Constructor Detail |
|---|
public StaticSpotLightSource()
| Method Detail |
|---|
public boolean setParams(double[] pos,
double[] dir,
double[] color,
double width,
double fallOff,
double[] dimming)
pos - Source position.color - Source color/intensity (can be either 1D /for monochrome computing/,
3D /for RGB color system/ or greater /for more complex spectral color
sampling/).dimming - Dimming polynom coefficients: light is dimmed by the factor of
dim[0] + dim[1] * D + dim[2] * D * D. Can be
null for no dimming..
true if parameters were successfully set.protected void readScript()
public java.lang.String toString()
toString in class java.lang.Objectpublic boolean lights(MicroFacet mf)
MicroFacet.
lights in interface LightSourcelights in class DefaultLightSourcemf - The checked MicroFacet (point on surface of some solid).
true if the light source lights on the given point.getIntensity(cz.cuni.jagrlib.MicroFacet, double[]),
getDirection(cz.cuni.jagrlib.MicroFacet, double[])
public boolean getIntensity(MicroFacet mf,
double[] color)
MicroFacet.
getIntensity in interface LightSourcegetIntensity in class DefaultLightSourcemf - The MicroFacet (point on surface of some solid).color - Pre-allocated double[C] array to hold result - light intensity
coming from the source to the given point (C can be either 1
/for monochrome computing/, 3 /for RGB color system/ or greater /for more
complex spectral color sampling/).
true if the light source can light on the given point (cannot
replace the lights() call!).lights(cz.cuni.jagrlib.MicroFacet),
getDirection(cz.cuni.jagrlib.MicroFacet, double[])
public boolean getDirection(MicroFacet mf,
double[] dir)
MicroFacet.
getDirection in interface LightSourcegetDirection in class DefaultLightSourcemf - The MicroFacet (point on surface of some solid).dir - Pre-allocated array to hold the result - normalised direction vector
from the MicroFacet to the light source.
false if the light source is not directional (thus dir
is irrelevant).lights(cz.cuni.jagrlib.MicroFacet),
getIntensity(cz.cuni.jagrlib.MicroFacet, double[])
public boolean sample(MicroFacet mf,
double u,
double v,
double[] color,
double[] dir,
double[] pdf,
boolean testVisibility)
sample in interface LightSourcesample in class DefaultLightSourcemf - The MicroFacet (point on surface of some solid).u - Uniform random number.v - Uniform random number.color - Pre-allocated double[C] array to hold result - light intensity
coming from the source to the given point (C can be either 1
/for monochrome computing/, 3 /for RGB color system/ or greater /for more
complex spectral color sampling/).dir - Pre-allocated array to hold the result - normalised direction vector
from the MicroFacet to the light source.pdf - Probability density function (output variable).
True if the light is visible.
public double sample(double u1,
double v1,
double u2,
double v2,
double[] pos,
double[] dir,
double[] power)
sample in interface LightSourcesample in class DefaultLightSourceu1 - Uniform random number.v1 - Uniform random number.u2 - Uniform random number.v2 - Uniform random number.pos - Pre-allocated array which holds a point on the light source
(an origin of direction).dir - Output direction in world coordinates. Pre-allocated array.power - Power of given light source (if you wanna get power
of this photon, you have to divide this power by number
of photons). Pre-allocated array.
public double pdf(double[] point,
double[] normal,
double[] dir)
pdf in interface LightSourcepdf in class DefaultLightSourcepoint - Point on the surface.normal - Normal at this point.dir - Direction from the point.public boolean isDeltaLight()
isDeltaLight in interface LightSourceisDeltaLight in class DefaultLightSourceprotected double getFallOff(double[] dir)
protected void transform(double[] dir)
public void set(java.lang.String key,
java.lang.Object value)
set in interface Propertyset in class DefaultPropertykey - Key string.value - The new value.Property.commit()public java.lang.Object get(java.lang.String key)
get in interface Propertyget in class DefaultPropertykey - Key string.
null.
public static int setTemplate(Template t,
int ord)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||