- BSDF for a point
[
Materials |
Source |
Search |
Keywords |
Summary | Ancestors | All Members | Descendants ]
- DESCRIPTION
Class Summary
class RiMaterialSample
{
| public:
|
| ~RiMaterialSample() ;; |
| bool | GetSpreadReflection( const RiUnitVector3& vin, const RiUnitVector3 &vout, RiSpectrum &value ) const; |
| bool | GetSpreadTransmission( const RiUnitVector3 &vin, const RiUnitVector3 &vout, RiMedia *incidentMedia, RiMedia *&transmittedMedia, RiSpectrum &value ) const; |
| bool | GetSpecularReflection( const RiUnitVector3 &vin, RiUnitVector3 &direction, RiSpectrum &multiplier ) const; |
| bool | GetSpecularTransmission( const RiUnitVector3 &vin, RiUnitVector3 &direction, RiMedia *incidentMedia, RiMedia *&transmittedMedia, RiSpectrum &multiplier ) const; |
| bool | GetDirectionalHemisphericalReflectance(const RiUnitVector3 &vin, RiSpectrum &value ) const; |
| bool | GetDirectionalHemisphericalTransmittance(const RiUnitVector3 &vin, RiSpectrum &value ) const; |
| bool | GetBihemisphericalReflectance( RiSpectrum &value ) const; |
| bool | GetBihemisphericalTransmittance( RiSpectrum &value ) const; |
| bool | GetEmittedRadiance(const RiUnitVector3 &vout, RiSpectrum &value ) const; |
| bool | GetEmittedRadiantExitance( RiSpectrum &value ) const; |
| bool | GetSpreadDirection( const RiUnitVector3 &vin, const RiVector2 &seed, RiSpectrum &multiplier, RiUnitVector3 &direction ) const; |
| bool | GetEmittedDirection( const RiVector2 &seed, RiSpectrum &multiplier, RiUnitVector3 &direction ) const; |
| bool | IsLuminaire() const; |
| void *operator | new(size_t size); |
| void operator | delete(void *); |
| protected:
|
| RiMaterialSample() ; |
| static RiReal | FresnelIOR(RiReal ior, RiReal cosAngle); |
| static RiSpectrum | FresnelNormalRho(const RiSpectrum normalReflectance, RiReal cosAngle); |
| static RiReal | FresnelNormalRho(RiReal R0, RiReal cosAngle); |
}; // RiMaterialSample
DESCRIPTION
This class represents the Bidirectional Scattering
Distribution Function : BSDF = BRDF + BTDF, where "T" is
for "transmission".. Note that the two directional
arguments for the GetSpreadReflection and GetSpreadTransmission
calls must both be INCOMING-- this is for the sake
of preserving reciprocity which allows one to swap
function arguments. Note that non-transparent surfaces
are "two-sided", meaning that they will reflect light
regardless of which side the light comes from, while
transmitting surfaces have an unambiguous orientation.
~RiMaterialSample() ;;
ual ~RiMaterialSample() {};No documentation available.
virtual ~RiMaterialSample() ;
;
Function is currently defined inline.
bool GetSpreadReflection( const RiUnitVector3& vin, const RiUnitVector3 &vout, RiSpectrum &value ) const;
For directions vin, vout (both points toward surface), what is BRDF val for non-specular portion.
virtual bool GetSpreadReflection( const RiUnitVector3& vin,
const RiUnitVector3 &vout,
RiSpectrum &value ) const;
bool GetSpreadTransmission( const RiUnitVector3 &vin, const RiUnitVector3 &vout, RiMedia *incidentMedia, RiMedia *&transmittedMedia, RiSpectrum &value ) const;
For direction vin, vout (both points toward surface), what is BTDF val for non-specular portion.
virtual bool GetSpreadTransmission( const RiUnitVector3 &vin,
const RiUnitVector3 &vout,
RiMedia *incidentMedia,
RiMedia *&transmittedMedia,
RiSpectrum &value ) const;
bool GetSpecularReflection( const RiUnitVector3 &vin, RiUnitVector3 &direction, RiSpectrum &multiplier ) const;
For direction vin (points toward surface), what is direction and reflectance of specular reflection.
virtual bool GetSpecularReflection( const RiUnitVector3 &vin,
RiUnitVector3 &direction,
RiSpectrum &multiplier ) const;
bool GetSpecularTransmission( const RiUnitVector3 &vin, RiUnitVector3 &direction, RiMedia *incidentMedia, RiMedia *&transmittedMedia, RiSpectrum &multiplier ) const;
For direction vin (points toward surface), what is direction and transmittance of specular transmission.
virtual bool GetSpecularTransmission( const RiUnitVector3 &vin,
RiUnitVector3 &direction,
RiMedia *incidentMedia,
RiMedia *&transmittedMedia,
RiSpectrum &multiplier ) const;
bool GetDirectionalHemisphericalReflectance(const RiUnitVector3 &vin, RiSpectrum &value ) const;
Ratio of incident power from direction vin (points toward surface), to reflected power over all directions. This includes both specular and spread components.
virtual bool GetDirectionalHemisphericalReflectance(const RiUnitVector3 &vin,
RiSpectrum &value ) const;
bool GetDirectionalHemisphericalTransmittance(const RiUnitVector3 &vin, RiSpectrum &value ) const;
Ratio of incident power from direction vin (points toward surface), to transmitted power over all directions. This includes both specular and spread components.
virtual bool GetDirectionalHemisphericalTransmittance(const RiUnitVector3 &vin,
RiSpectrum &value ) const;
bool GetBihemisphericalReflectance( RiSpectrum &value ) const;
Ratio of incident power for a constant field (incoming) radiance to reflected power over all directions. This includes both specular and spread components.
virtual bool GetBihemisphericalReflectance( RiSpectrum &value ) const;
bool GetBihemisphericalTransmittance( RiSpectrum &value ) const;
Ratio of incident power for a constant field (incoming) radiance to transmitted power over all directions. This includes both specular and spread components.
virtual bool GetBihemisphericalTransmittance( RiSpectrum &value ) const;
bool GetEmittedRadiance(const RiUnitVector3 &vout, RiSpectrum &value ) const;
Amount of radiance emitted by the surface in direction vout
virtual bool GetEmittedRadiance(const RiUnitVector3 &vout,
RiSpectrum &value ) const;
bool GetEmittedRadiantExitance( RiSpectrum &value ) const;
Amount of radiant exitance (power per unit area) emitted by the surface.
virtual bool GetEmittedRadiantExitance( RiSpectrum &value ) const;
bool GetSpreadDirection( const RiUnitVector3 &vin, const RiVector2 &seed, RiSpectrum &multiplier, RiUnitVector3 &direction ) const;
Given a seed on [0, 1]^2 give scattered direction and coefficient for spread (non-specular) component. Direction vin points toward surface. Includes spread reflectance and transmittance. The weighting includes attenuation, so a black sirface will set "vale" to zero.
virtual bool GetSpreadDirection( const RiUnitVector3 &vin,
const RiVector2 &seed,
RiSpectrum &multiplier,
RiUnitVector3 &direction ) const;
bool GetEmittedDirection( const RiVector2 &seed, RiSpectrum &multiplier, RiUnitVector3 &direction ) const;
given a seed on [0, 1]^2 give emitted direction and coefficient m. The power in the particle is the m * P / N where P is the total power and N is the number of particles.
virtual bool GetEmittedDirection( const RiVector2 &seed,
RiSpectrum &multiplier,
RiUnitVector3 &direction ) const;
bool IsLuminaire() const;
True if material emits, false otherwise.
virtual bool IsLuminaire() const;
void *operator new(size_t size);
void *operator new(size_t size);
void operator delete(void *);
void operator delete(void *);
RiMaterialSample() ;
constructor protected to prevent inadvertant construction
RiMaterialSample()
;
Function is currently defined inline.
RiReal FresnelIOR(RiReal ior, RiReal cosAngle);
static RiReal FresnelIOR(RiReal ior, RiReal cosAngle);
RiSpectrum FresnelNormalRho(const RiSpectrum normalReflectance, RiReal cosAngle);
static RiSpectrum FresnelNormalRho(const RiSpectrum normalReflectance, RiReal cosAngle);
RiReal FresnelNormalRho(RiReal R0, RiReal cosAngle);
static RiReal FresnelNormalRho(RiReal R0, RiReal cosAngle);
All Members
| public: |
| bool | GetSpreadReflection( const RiUnitVector3& vin, const RiUnitVector3 &vout, RiSpectrum &value ) const; |
| bool | GetSpreadTransmission( const RiUnitVector3 &vin, const RiUnitVector3 &vout, RiMedia *incidentMedia, RiMedia *&transmittedMedia, RiSpectrum &value ) const; |
| bool | GetSpecularReflection( const RiUnitVector3 &vin, RiUnitVector3 &direction, RiSpectrum &multiplier ) const; |
| bool | GetSpecularTransmission( const RiUnitVector3 &vin, RiUnitVector3 &direction, RiMedia *incidentMedia, RiMedia *&transmittedMedia, RiSpectrum &multiplier ) const; |
| bool | GetDirectionalHemisphericalReflectance(const RiUnitVector3 &vin, RiSpectrum &value ) const; |
| bool | GetDirectionalHemisphericalTransmittance(const RiUnitVector3 &vin, RiSpectrum &value ) const; |
| bool | GetBihemisphericalReflectance( RiSpectrum &value ) const; |
| bool | GetBihemisphericalTransmittance( RiSpectrum &value ) const; |
| bool | GetEmittedRadiance(const RiUnitVector3 &vout, RiSpectrum &value ) const; |
| bool | GetEmittedRadiantExitance( RiSpectrum &value ) const; |
| bool | GetSpreadDirection( const RiUnitVector3 &vin, const RiVector2 &seed, RiSpectrum &multiplier, RiUnitVector3 &direction ) const; |
| bool | GetEmittedDirection( const RiVector2 &seed, RiSpectrum &multiplier, RiUnitVector3 &direction ) const; |
| bool | IsLuminaire() const; |
| void *operator | new(size_t size); |
| void operator | delete(void *); |
| protected: |
| static RiReal | FresnelIOR(RiReal ior, RiReal cosAngle); |
| static RiSpectrum | FresnelNormalRho(const RiSpectrum normalReflectance, RiReal cosAngle); |
| static RiReal | FresnelNormalRho(RiReal R0, RiReal cosAngle); |
Ancestors
Class does not inherit from any other class.
Descendants
Class is not inherited by any others.
Generated from source by the Cocoon utilities on Fri Feb 25 15:15:31 2000
.