|
||||||||||
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.testing.LambertianModel
public class LambertianModel
Lambertian shading model.
Field Summary | |
---|---|
protected static java.lang.String |
CATEGORY
Object category. |
double[] |
color
Actual color of the solid surface. |
static java.lang.String |
REFLECTIONS
|
static RegPiece |
reg
Static registration instance for this class. |
protected static java.lang.String |
TEMPLATE_NAME
Object template identifier. |
Fields inherited from class cz.cuni.jagrlib.Piece |
---|
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak |
Fields inherited from interface cz.cuni.jagrlib.iface.BSSRDF |
---|
COMP_ALL, COMP_DIFFUSE, COMP_GLOSSY, COMP_SPEC_REFLECTION, COMP_SPEC_REFRACTION, COMP_SPECULAR, MATERIAL_COLOR, MATERIAL_H, MATERIAL_KA, MATERIAL_KD, MATERIAL_KS, MATERIAL_KT, MATERIAL_N |
Fields inherited from interface cz.cuni.jagrlib.iface.Property |
---|
LOGGING, STATISTICS, TEXT_DESCRIPTION |
Constructor Summary | |
---|---|
LambertianModel()
Default constructor. |
Method Summary | |
---|---|
double[] |
colorBSSRDF(boolean worldCoords,
double[] in,
double[] out,
double[] normal,
double[] tangent,
int mask,
double[] result)
Returns the requested BSSRDF sample (BSSRDF is treated as band-color). |
double[] |
colorBSSRDF(boolean worldCoords,
MicroFacet mf,
double[] in,
double[] out,
int mask,
double[] result)
Returns the requested BSSRDF sample (BSSRDF is treated as band-color). |
java.lang.Object |
get(java.lang.String key)
Gets the given property. |
double[] |
getOrigColor(double[] color)
Retrieves the original color (defining surface color). |
double[] |
localToWorld(double[] normal,
double[] tangent,
double[] src,
double[] dest)
Transform local coordinates to world coordinates. |
double |
monoBSSRDF(boolean worldCoords,
double[] in,
double[] out,
double[] normal,
double[] tangent,
int mask)
Returns the requested BSSRDF sample (BSSRDF is treated as monochrome). |
double |
monoBSSRDF(boolean worldCoords,
MicroFacet mf,
double[] in,
double[] out,
int mask)
Returns the requested BSSRDF sample (BSSRDF is treated as monochrome). |
double |
pdf(boolean worldCoords,
MicroFacet mf,
double[] in,
double[] out)
Returns the probability density function. |
double |
scatter(MicroFacet mf,
double[] in,
double u,
double v,
int mask,
double[] out,
double[] brdf)
Scatter ray according to the light model. |
void |
set(java.lang.String key,
java.lang.Object value)
Sets the given property. |
void |
setColor(double[] color)
Sets the actual color (for the given BSSRDF data). |
static int |
setTemplate(Template t,
int ord)
General-purpose registration routine. |
int |
type()
Returns the type of BRDF. |
double[] |
worldToLocal(double[] normal,
double[] tangent,
double[] src,
double[] dest)
Transform world coordinates to local coordinates. |
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, toString, wait, wait, wait |
Methods inherited from interface cz.cuni.jagrlib.iface.Property |
---|
commit |
Field Detail |
---|
public double[] color
public static final java.lang.String REFLECTIONS
protected static final java.lang.String TEMPLATE_NAME
protected static final java.lang.String CATEGORY
public static final RegPiece reg
Constructor Detail |
---|
public LambertianModel()
Method Detail |
---|
public double monoBSSRDF(boolean worldCoords, double[] in, double[] out, double[] normal, double[] tangent, int mask)
monoBSSRDF
in interface BSSRDF
worldCoords
- Should be set to true
if vectors in and out
are in world coordinates and to false
if vectors in and out are in local coordinates.in
- Input ray direction (double[3]
or double[4]
).out
- Output (viewing) ray direction (double[3]
or double[4]
).normal
- Normal vector of a surface.tangent
- Tangent vector of a surface.mask
- Which light components are to be computed?
#monoBSSRDF(MicroFacet,double[],double[],int)
,
#colorBSSRDF(double[],double[],double[],int,double[])
public double monoBSSRDF(boolean worldCoords, MicroFacet mf, double[] in, double[] out, int mask)
MicroFacet
(point on surface of some solid).
monoBSSRDF
in interface BSSRDF
worldCoords
- Should be set to true
if vectors in and out
are in world coordinates and to false
if vectors in and out are in local coordinates.mf
- The MicroFacet
(point on surface of some solid).in
- Input ray direction (double[3]
or double[4]
).out
- Output (viewing) ray direction (double[3]
or double[4]
).mask
- Which light components are to be computed?
#monoBSSRDF(double[],double[],double[],int)
,
#colorBSSRDF(MicroFacet,double[],double[],int,double[])
public double[] colorBSSRDF(boolean worldCoords, double[] in, double[] out, double[] normal, double[] tangent, int mask, double[] result)
colorBSSRDF
in interface BSSRDF
worldCoords
- Should be set to true
if vectors in and out
are in world coordinates and to false
if vectors in and out are in local coordinates.in
- Input ray direction (double[3]
or double[4]
).out
- Output (viewing) ray direction (double[3]
or double[4]
).normal
- Normal vector of a surface.tangent
- Tangent vector of a surface.mask
- Which light components are to be computed?result
- Pre-allocated double[C]
array to hold BRDF coefficients
f(in->out) (C
can be either 1
/for monochrome computing/, 3 /for RGB color system/ or greater /for more
complex spectral color sampling/). Can be null
.
#monoBSSRDF(double[],double[],double[],int)
,
#colorBSSRDF(MicroFacet,double[],double[],int,double[])
public double[] colorBSSRDF(boolean worldCoords, MicroFacet mf, double[] in, double[] out, int mask, double[] result)
MicroFacet
(point on surface of some solid).
colorBSSRDF
in interface BSSRDF
worldCoords
- Should be set to true
if vectors in and out
are in world coordinates and to false
if vectors in and out are in local coordinates.mf
- The MicroFacet
(point on surface of some solid).in
- Input ray direction (double[3]
or double[4]
).out
- Output (viewing) ray direction (double[3]
or double[4]
).mask
- Which light components are to be computed?result
- Pre-allocated double[C]
array to hold BRDF coefficients
f(in->mf->out) (C
can be either 1
/for monochrome computing/, 3 /for RGB color system/ or greater /for more
complex spectral color sampling/). Can be null
.
#monoBSSRDF(MicroFacet,double[],double[],int)
,
#colorBSSRDF(double[],double[],double[],int,double[])
public double[] getOrigColor(double[] color)
getOrigColor
in interface BSSRDF
color
- Pre-allocated double[C]
array to hold the color
(C
can be either 1 /for monochrome computing/, 3 /for RGB
color system/ or greater /for more complex spectral color sampling/). Can
be null
.
public void setColor(double[] color)
setColor
in interface BSSRDF
color
- Color definition - double[C]
array
(C
can be either 1 /for monochrome computing/, 3 /for RGB
color system/ or greater /for more complex spectral color sampling/).public double scatter(MicroFacet mf, double[] in, double u, double v, int mask, double[] out, double[] brdf)
scatter
in interface BSSRDF
mf
- The MicroFacet
(point on surface of some solid).in
- Input direction (should look from the hit point)..u
- Random uniform number.v
- Random uniform number.mask
- Which light components are to be computed?out
- Output direction in world coordinates.brdf
- Color definition - double[C]
array
(C
can be either 1 /for monochrome computing/, 3 /for RGB
color system/ or greater /for more complex spectral color sampling/).
public double pdf(boolean worldCoords, MicroFacet mf, double[] in, double[] out)
pdf
in interface BSSRDF
worldCoords
- Should be set to true
if vectors in and out
are in world coordinates and to false
if vectors in and out are in local coordinates.in
- Input direction.out
- Output direction.mf
- The MicroFacet
(point on surface of some solid).public int type()
type
in interface BSSRDF
public double[] localToWorld(double[] normal, double[] tangent, double[] src, double[] dest)
localToWorld
in interface BSSRDF
public double[] worldToLocal(double[] normal, double[] tangent, double[] src, double[] dest)
worldToLocal
in interface BSSRDF
public void set(java.lang.String key, java.lang.Object value)
set
in interface Property
set
in class DefaultProperty
key
- Key string.value
- The new value.Property.commit()
public java.lang.Object get(java.lang.String key)
get
in interface Property
get
in class DefaultProperty
key
- 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 |