Lightmetrica  0.0.1.50dbee3 (yosakoi)
 All Classes Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | List of all members
StubBSDF Class Reference

Public Member Functions

 LM_COMPONENT_IMPL_DEF ("stub")
 
virtual bool Load (const ConfigNode &node, const Assets &assets)
 
virtual bool SampleDirection (const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleResult &result) const
 
virtual Math::Vec3 SampleAndEstimateDirection (const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleResult &result) const
 
virtual bool SampleAndEstimateDirectionBidir (const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleBidirResult &result) const
 
virtual Math::Vec3 EvaluateDirection (const GeneralizedBSDFEvaluateQuery &query, const SurfaceGeometry &geom) const
 
virtual Math::PDFEval EvaluateDirectionPDF (const GeneralizedBSDFEvaluateQuery &query, const SurfaceGeometry &geom) const
 
virtual bool Degenerated () const
 
virtual int BSDFTypes () const
 
- Public Member Functions inherited from BSDF
 LM_ASSET_INTERFACE_DEF ("bsdf","bsdfs")
 
 LM_ASSET_DEPENDENCIES ("texture")
 
- Public Member Functions inherited from Asset
LM_PUBLIC_API std::string ID () const
 
LM_HIDDEN_API void SetID (const std::string &id)
 
- Public Member Functions inherited from Component
virtual std::string ComponentInterfaceTypeName () const =0
 
virtual std::string ComponentImplTypeName () const =0
 
- Public Member Functions inherited from SIMDAlignedType
void * operator new (std::size_t size) throw (std::bad_alloc)
 
void operator delete (void *p)
 

Additional Inherited Members

- Static Protected Member Functions inherited from BSDF
static LM_FORCE_INLINE Math::Float ShadingNormalCorrectionFactor (const TransportDirection &transportDir, const SurfaceGeometry &geom, const Math::Vec3 &localWi, const Math::Vec3 &localWo, const Math::Vec3 &worldWi, const Math::Vec3 &worldWo)
 
Inheritance diagram for StubBSDF:
BSDF GeneralizedBSDF Asset Component SIMDAlignedType

Member Function Documentation

virtual int StubBSDF::BSDFTypes ( ) const
inlinevirtual

Check if generalized BSDF is directionally degenerated. e.g. specular BSDFs or directional light

Return values
trueThe BSDF is directionally degenerated.
falseThe BSDF is not directionally degenerated.

Get generalized BSDF type. If the generalized BSDF has multiple types, e.g. SpecularReflection and SpecularReflection, a bitmask of these types are returned.

Returns
Types.

Implements GeneralizedBSDF.

virtual Math::Vec3 StubBSDF::EvaluateDirection ( const GeneralizedBSDFEvaluateQuery query,
const SurfaceGeometry geom 
) const
inlinevirtual

Evaluate generalized BSDF.

Parameters
queryQuery structure.
geomSurface geometry.
Returns
Evaluated contribution.

Implements GeneralizedBSDF.

virtual Math::PDFEval StubBSDF::EvaluateDirectionPDF ( const GeneralizedBSDFEvaluateQuery query,
const SurfaceGeometry geom 
) const
inlinevirtual

Evaluate directional PDF.

Parameters
queryQuery structure.
geomSurface geometry.
Returns
Evaluated PDF.

Implements GeneralizedBSDF.

virtual bool StubBSDF::Load ( const ConfigNode node,
const Assets assets 
)
inlinevirtual

Load an asset. Configure and initialize the asset by the XML elements given by #node. Some assets have references to the other assets, so #assets is also required. Dependent asset must be loaded beforehand.

Parameters
nodeXML node for the configuration.
assetsAsset manager.
trueSucceeded to load.
falseFailed to load.

Implements Asset.

virtual Math::Vec3 StubBSDF::SampleAndEstimateDirection ( const GeneralizedBSDFSampleQuery query,
const SurfaceGeometry geom,
GeneralizedBSDFSampleResult result 
) const
inlinevirtual

Sample and estimate direction. Computes f_s / p_{^}.

Parameters
queryQuery structure.
geomSurface geometry.
resultSampled result.
Returns
Estimate.

Implements GeneralizedBSDF.

virtual bool StubBSDF::SampleAndEstimateDirectionBidir ( const GeneralizedBSDFSampleQuery query,
const SurfaceGeometry geom,
GeneralizedBSDFSampleBidirResult result 
) const
inlinevirtual

Sample and estimate direction bidirectionally. In addition to SampleAndEstimateDirection, this function calculates values in the opposite direction. This function is introduced in order to avoid nasty precision problem with specular BSDFs.

Parameters
queryQuery structure.
geomSurface geometry.
weightsEstimate.
resultsSampled results.
Return values
trueSucceeded to sample.
falseFailed to sample.

Implements GeneralizedBSDF.

virtual bool StubBSDF::SampleDirection ( const GeneralizedBSDFSampleQuery query,
const SurfaceGeometry geom,
GeneralizedBSDFSampleResult result 
) const
inlinevirtual

Sample outgoing vector. Given the input direction originated from the point on the surface #wi, the function samples outgoing vector #wo from the suited distribution in the solid angle measure.

Parameters
queryQuery structure.
geomSurface geometry.
resultSampled result.
Return values
trueSucceeded to sample #wo.
falseFailed to sample #wo.

Implements GeneralizedBSDF.


The documentation for this class was generated from the following file: