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

MicrofacetGGXClosure< Refractive > Class Template Reference

List of all members.

Public Member Functions

 MicrofacetGGXClosure ()
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_ag
float m_eta

Detailed Description

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

Definition at line 53 of file bsdf_microfacet.cpp.


Constructor & Destructor Documentation

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

Definition at line 58 of file bsdf_microfacet.cpp.


Member Function Documentation

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

Definition at line 85 of file bsdf_microfacet.cpp.

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

Definition at line 90 of file bsdf_microfacet.cpp.

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

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

Definition at line 123 of file bsdf_microfacet.cpp.

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

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

Definition at line 71 of file bsdf_microfacet.cpp.

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

Definition at line 73 of file bsdf_microfacet.cpp.

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

Definition at line 77 of file bsdf_microfacet.cpp.

template<int Refractive = 0>
ustring MicrofacetGGXClosure< 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 154 of file bsdf_microfacet.cpp.

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

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

Definition at line 60 of file bsdf_microfacet.cpp.

References clamp, and credits_svn_gen::e.


Member Data Documentation

template<int Refractive = 0>
float MicrofacetGGXClosure< Refractive >::m_ag

Definition at line 56 of file bsdf_microfacet.cpp.

Referenced by MicrofacetGGXClosure< Refractive >::mergeable().

template<int Refractive = 0>
float MicrofacetGGXClosure< Refractive >::m_eta

Definition at line 57 of file bsdf_microfacet.cpp.

Referenced by MicrofacetGGXClosure< Refractive >::mergeable().

template<int Refractive = 0>
Vec3 MicrofacetGGXClosure< Refractive >::m_N

Definition at line 55 of file bsdf_microfacet.cpp.

Referenced by MicrofacetGGXClosure< Refractive >::mergeable().


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