|
||||||||||
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
cz.cuni.jagrlib.testing.SpecularReflection
public class SpecularReflection
Represents perfect specular reflection.
Field Summary | |
---|---|
Fresnel |
fresnel
Fresnel term. |
static java.lang.String |
FRESNEL
|
static RegPiece |
reg
Static registration instance for this class. |
Fields inherited from class cz.cuni.jagrlib.testing.LambertianModel |
---|
CATEGORY, color, REFLECTIONS, 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.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 | |
---|---|
SpecularReflection()
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). |
java.lang.Object |
get(java.lang.String key)
Gets the given property. |
double |
monoBSSRDF(boolean worldCoords,
double[] in,
double[] out,
double[] normal,
double[] tangent,
int mask)
Returns the requested BRSSDF 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. |
static int |
setTemplate(Template t,
int ord)
General-purpose registration routine. |
int |
type()
Returns the type of BRDF. |
Methods inherited from class cz.cuni.jagrlib.testing.LambertianModel |
---|
colorBSSRDF, getOrigColor, localToWorld, monoBSSRDF, setColor, worldToLocal |
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 Fresnel fresnel
public static final java.lang.String FRESNEL
public static final RegPiece reg
Constructor Detail |
---|
public SpecularReflection()
Method Detail |
---|
public double monoBSSRDF(boolean worldCoords, double[] in, double[] out, double[] normal, double[] tangent, int mask)
monoBSSRDF
in interface BSSRDF
monoBSSRDF
in class LambertianModel
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[] colorBSSRDF(boolean worldCoords, double[] in, double[] out, double[] normal, double[] tangent, int mask, double[] result)
colorBSSRDF
in interface BSSRDF
colorBSSRDF
in class LambertianModel
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 scatter(MicroFacet mf, double[] in, double u, double v, int mask, double[] out, double[] brdf)
scatter
in interface BSSRDF
scatter
in class LambertianModel
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
pdf
in class LambertianModel
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
type
in class LambertianModel
public void set(java.lang.String key, java.lang.Object value)
set
in interface Property
set
in class LambertianModel
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 LambertianModel
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 |