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

#include <bsdf.h>

Public Member Functions

 LM_ASSET_INTERFACE_DEF ("bsdf","bsdfs")
 
 LM_ASSET_DEPENDENCIES ("texture")
 
- Public Member Functions inherited from GeneralizedBSDF
virtual bool SampleDirection (const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleResult &result) const =0
 
virtual Math::Vec3 SampleAndEstimateDirection (const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleResult &result) const =0
 
virtual bool SampleAndEstimateDirectionBidir (const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleBidirResult &result) const =0
 
virtual Math::Vec3 EvaluateDirection (const GeneralizedBSDFEvaluateQuery &query, const SurfaceGeometry &geom) const =0
 
virtual Math::PDFEval EvaluateDirectionPDF (const GeneralizedBSDFEvaluateQuery &query, const SurfaceGeometry &geom) const =0
 
virtual int BSDFTypes () const =0
 
- Public Member Functions inherited from Asset
virtual bool Load (const ConfigNode &node, const Assets &assets)=0
 
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)
 

Static Protected Member Functions

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)
 

Detailed Description

BSDF. A base class for BSDF implementations.

Inheritance diagram for BSDF:
GeneralizedBSDF Asset Component SIMDAlignedType DielectricBSDF DiffuseBSDF DiffuseMirrorMixBSDF PerfectMirrorBSDF StubBSDF TestBSDF

Member Function Documentation

static LM_FORCE_INLINE Math::Float BSDF::ShadingNormalCorrectionFactor ( const TransportDirection &  transportDir,
const SurfaceGeometry geom,
const Math::Vec3 &  localWi,
const Math::Vec3 &  localWo,
const Math::Vec3 &  worldWi,
const Math::Vec3 &  worldWo 
)
inlinestaticprotected

Compute correction factor for shading normal. See [Veach 1997] for details.

Parameters
transportDirTransport direction.
geomSurface geometry.
localWi#wi in local shading coordinates.
localWo#wo in local shading coordinates.
worldWi#wi in world coordinates.
worldWo#wo in world coordinates.

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