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

WardClosure Class Reference

List of all members.

Public Member Functions

 WardClosure ()
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
Vec3 m_T
float m_ax
float m_ay

Detailed Description

Definition at line 47 of file bsdf_ward.cpp.


Constructor & Destructor Documentation

WardClosure::WardClosure ( ) [inline]

Definition at line 52 of file bsdf_ward.cpp.


Member Function Documentation

float WardClosure::albedo ( const Vec3 &  omega_out) const [inline]

Definition at line 78 of file bsdf_ward.cpp.

Color3 WardClosure::eval_reflect ( const Vec3 &  omega_out,
const Vec3 &  omega_in,
float &  pdf 
) const [inline]

Definition at line 83 of file bsdf_ward.cpp.

References expf, H, M_PI, make_orthonormals(), sqrtf, and X.

Color3 WardClosure::eval_transmit ( const Vec3 &  omega_out,
const Vec3 &  omega_in,
float &  pdf 
) const [inline]

Definition at line 109 of file bsdf_ward.cpp.

size_t WardClosure::memsize ( ) const [inline]

Definition at line 67 of file bsdf_ward.cpp.

bool WardClosure::mergeable ( const ClosurePrimitive *  other) const [inline]

Definition at line 60 of file bsdf_ward.cpp.

References m_ax, m_ay, m_N, and m_T.

const char* WardClosure::name ( ) const [inline]

Definition at line 69 of file bsdf_ward.cpp.

void WardClosure::print_on ( std::ostream &  out) const [inline]

Definition at line 71 of file bsdf_ward.cpp.

ustring WardClosure::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 114 of file bsdf_ward.cpp.

References expf, logf, M_PI, M_PI_2, make_orthonormals(), sqrtf, tanf, simple_enum_gen::val, and X.

void WardClosure::setup ( ) [inline]

Definition at line 54 of file bsdf_ward.cpp.

References clamp, and credits_svn_gen::e.


Member Data Documentation

Definition at line 51 of file bsdf_ward.cpp.

Referenced by mergeable().

Definition at line 51 of file bsdf_ward.cpp.

Referenced by mergeable().

Definition at line 49 of file bsdf_ward.cpp.

Referenced by mergeable().

Definition at line 50 of file bsdf_ward.cpp.

Referenced by mergeable().


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