|
||||||||||
| 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.CookTorranceModel
public class CookTorranceModel
Cook-Torrance shading model.
| Field Summary | |
|---|---|
static java.lang.String |
COLOR_D
|
static java.lang.String |
COLOR_S
|
double[] |
colorD
Actual color of the solid surface. |
double[] |
colorS
Actual color of the solid surface. |
MicrofacetDistribution |
distribution
Microfacet distribution of some material (represents one lobe). |
static java.lang.String |
DISTRIBUTION
|
Fresnel |
fresnel
Fresnel term. |
static java.lang.String |
FRESNEL
|
static RegPiece |
reg
Static registration instance for this class. |
protected RandomJames |
rnd
|
| 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 | |
|---|---|
CookTorranceModel()
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). |
protected double |
G(double[] in,
double[] out,
double[] half)
Computes geometric term, which models self-shadowing effects. |
java.lang.Object |
get(java.lang.String key)
Gets the given property. |
double[] |
getOrigColor(double[] color)
Retrieves the original color (defining surface color). |
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 |
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. |
| Methods inherited from class cz.cuni.jagrlib.testing.LambertianModel |
|---|
colorBSSRDF, localToWorld, monoBSSRDF, 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 double[] colorD
public double[] colorS
public Fresnel fresnel
public MicrofacetDistribution distribution
protected RandomJames rnd
public static final java.lang.String COLOR_D
public static final java.lang.String COLOR_S
public static final java.lang.String FRESNEL
public static final java.lang.String DISTRIBUTION
public static final RegPiece reg
| Constructor Detail |
|---|
public CookTorranceModel()
| Method Detail |
|---|
public double monoBSSRDF(boolean worldCoords,
double[] in,
double[] out,
double[] normal,
double[] tangent,
int mask)
monoBSSRDF in interface BSSRDFmonoBSSRDF in class LambertianModelworldCoords - 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 BSSRDFcolorBSSRDF in class LambertianModelworldCoords - 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[] getOrigColor(double[] color)
getOrigColor in interface BSSRDFgetOrigColor in class LambertianModelcolor - 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 BSSRDFsetColor in class LambertianModelcolor - 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 BSSRDFscatter in class LambertianModelmf - 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 BSSRDFpdf in class LambertianModelin - Input direction.normal - Normal at the point of intersection.out - Output direction.public int type()
type in interface BSSRDFtype in class LambertianModel
protected double G(double[] in,
double[] out,
double[] half)
in - Input direction in local coordinates.out - Output direction in local coordinates.half - Half vector.
public void set(java.lang.String key,
java.lang.Object value)
set in interface Propertyset in class LambertianModelkey - Key string.value - The new value.Property.commit()public java.lang.Object get(java.lang.String key)
get in interface Propertyget in class LambertianModelkey - 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 | |||||||||