Blender V2.61 - r43446
Public Member Functions | Public Attributes

MicrofacetBeckmannClosure< Refractive > Class Template Reference

List of all members.

Public Member Functions

 MicrofacetBeckmannClosure ()
void setup ()
bool mergeable (const ClosurePrimitive *other) const
size_t memsize () const
const char * name () const
void print_on (std::ostream &out) const
float albedo (const Vec3 &omega_out) const
Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float &pdf) const
Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float &pdf) const
ustring sample (const Vec3 &Ng, const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, float randu, float randv, Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, float &pdf, Color3 &eval) const

Public Attributes

Vec3 m_N
float m_ab
float m_eta

Detailed Description

template<int Refractive = 0>
class MicrofacetBeckmannClosure< Refractive >

Definition at line 272 of file bsdf_microfacet.cpp.


Constructor & Destructor Documentation

template<int Refractive = 0>
MicrofacetBeckmannClosure< Refractive >::MicrofacetBeckmannClosure ( ) [inline]

Definition at line 277 of file bsdf_microfacet.cpp.


Member Function Documentation

template<int Refractive = 0>
float MicrofacetBeckmannClosure< Refractive >::albedo ( const Vec3 &  omega_out) const [inline]

Definition at line 306 of file bsdf_microfacet.cpp.

template<int Refractive = 0>
Color3 MicrofacetBeckmannClosure< Refractive >::eval_reflect ( const Vec3 &  omega_out,
const Vec3 &  omega_in,
float &  pdf 
) const [inline]

Definition at line 311 of file bsdf_microfacet.cpp.

References D(), expf, G, M_PI, and sqrtf.

template<int Refractive = 0>
Color3 MicrofacetBeckmannClosure< Refractive >::eval_transmit ( const Vec3 &  omega_out,
const Vec3 &  omega_in,
float &  pdf 
) const [inline]

Definition at line 346 of file bsdf_microfacet.cpp.

References D(), expf, fabsf, G, M_PI, and sqrtf.

template<int Refractive = 0>
size_t MicrofacetBeckmannClosure< Refractive >::memsize ( ) const [inline]

Definition at line 290 of file bsdf_microfacet.cpp.

template<int Refractive = 0>
bool MicrofacetBeckmannClosure< Refractive >::mergeable ( const ClosurePrimitive *  other) const [inline]
template<int Refractive = 0>
const char* MicrofacetBeckmannClosure< Refractive >::name ( ) const [inline]

Definition at line 292 of file bsdf_microfacet.cpp.

template<int Refractive = 0>
void MicrofacetBeckmannClosure< Refractive >::print_on ( std::ostream &  out) const [inline]

Definition at line 297 of file bsdf_microfacet.cpp.

template<int Refractive = 0>
ustring MicrofacetBeckmannClosure< Refractive >::sample ( const Vec3 &  Ng,
const Vec3 &  omega_out,
const Vec3 &  domega_out_dx,
const Vec3 &  domega_out_dy,
float  randu,
float  randv,
Vec3 &  omega_in,
Vec3 &  domega_in_dx,
Vec3 &  domega_in_dy,
float &  pdf,
Color3 &  eval 
) const [inline]

Definition at line 379 of file bsdf_microfacet.cpp.

References cosf, D(), expf, fabsf, fresnel_dielectric(), G, logf, M_PI, make_orthonormals(), R, sinf, sqrtf, T, and X.

template<int Refractive = 0>
void MicrofacetBeckmannClosure< Refractive >::setup ( ) [inline]

Definition at line 279 of file bsdf_microfacet.cpp.

References clamp, and credits_svn_gen::e.


Member Data Documentation

template<int Refractive = 0>
float MicrofacetBeckmannClosure< Refractive >::m_ab
template<int Refractive = 0>
float MicrofacetBeckmannClosure< Refractive >::m_eta
template<int Refractive = 0>
Vec3 MicrofacetBeckmannClosure< Refractive >::m_N

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