|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface BSSRDF
Abstract BSSRDF (Bidirectional Surface Scattering Distribution Function).
LightSource| Field Summary | |
|---|---|
static int |
COMP_ALL
Component mask: all components (used with light sources). |
static int |
COMP_DIFFUSE
Component mask: Diffuse component. |
static int |
COMP_GLOSSY
Component mask: Glossy reflection component. |
static int |
COMP_SPEC_REFLECTION
Component mask: Specular reflection component. |
static int |
COMP_SPEC_REFRACTION
Component mask: Specular reflection component. |
static int |
COMP_SPECULAR
Component mask: both specular components (used in ray-tracing). |
static java.lang.String |
MATERIAL_COLOR
Common material property: color. |
static java.lang.String |
MATERIAL_H
Common material property: specular exponent. |
static java.lang.String |
MATERIAL_KA
Common material property: ambient coefficient. |
static java.lang.String |
MATERIAL_KD
Common material property: diffuse coefficient. |
static java.lang.String |
MATERIAL_KS
Common material property: specular coefficient. |
static java.lang.String |
MATERIAL_KT
Common material property: transparency. |
static java.lang.String |
MATERIAL_N
Common material property: index of refraction. |
| Fields inherited from interface cz.cuni.jagrlib.iface.Property |
|---|
LOGGING, STATISTICS, TEXT_DESCRIPTION |
| 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). |
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 |
setColor(double[] color)
Sets the actual color (for the given BSSRDF data). |
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 interface cz.cuni.jagrlib.iface.Property |
|---|
commit, get, set |
| Field Detail |
|---|
static final java.lang.String MATERIAL_COLOR
static final java.lang.String MATERIAL_KA
static final java.lang.String MATERIAL_KD
static final java.lang.String MATERIAL_KS
static final java.lang.String MATERIAL_H
static final java.lang.String MATERIAL_KT
static final java.lang.String MATERIAL_N
static final int COMP_DIFFUSE
static final int COMP_SPEC_REFLECTION
static final int COMP_SPEC_REFRACTION
static final int COMP_GLOSSY
static final int COMP_SPECULAR
static final int COMP_ALL
| Method Detail |
|---|
double monoBSSRDF(boolean worldCoords,
double[] in,
double[] out,
double[] normal,
double[] tangent,
int mask)
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[])
double monoBSSRDF(boolean worldCoords,
MicroFacet mf,
double[] in,
double[] out,
int mask)
MicroFacet
(point on surface of some solid).
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[])
double[] colorBSSRDF(boolean worldCoords,
double[] in,
double[] out,
double[] normal,
double[] tangent,
int mask,
double[] result)
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[])
double[] colorBSSRDF(boolean worldCoords,
MicroFacet mf,
double[] in,
double[] out,
int mask,
double[] result)
MicroFacet
(point on surface of some solid).
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[])double[] getOrigColor(double[] color)
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.
void setColor(double[] color)
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/).
double scatter(MicroFacet mf,
double[] in,
double u,
double v,
int mask,
double[] out,
double[] brdf)
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/).
double pdf(boolean worldCoords,
MicroFacet mf,
double[] in,
double[] out)
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 direction.out - Output direction.int type()
double[] localToWorld(double[] normal,
double[] tangent,
double[] src,
double[] dest)
double[] worldToLocal(double[] normal,
double[] tangent,
double[] src,
double[] dest)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||