#include <material.h>
Public Member Functions | |
virtual BSDF * | GetBSDF (const DifferentialGeometry &dgGeom, const DifferentialGeometry &dgShading, float u) const =0 |
virtual | ~Material () |
void | SetChild1 (boost::shared_ptr< Material > x) |
void | SetChild2 (boost::shared_ptr< Material > x) |
Static Public Member Functions | |
static void | Bump (boost::shared_ptr< Texture< float > > d, const DifferentialGeometry &dgGeom, const DifferentialGeometry &dgShading, DifferentialGeometry *dgBump) |
Public Attributes | |
boost::shared_ptr< Material > | child1 |
boost::shared_ptr< Material > | child2 |
Definition at line 32 of file material.h.
Material::~Material | ( | ) | [virtual] |
Definition at line 32 of file material.cpp.
void Material::Bump | ( | boost::shared_ptr< Texture< float > > | d, | |
const DifferentialGeometry & | dgGeom, | |||
const DifferentialGeometry & | dgShading, | |||
DifferentialGeometry * | dgBump | |||
) | [static] |
Definition at line 35 of file material.cpp.
References lux::Cross(), lux::DifferentialGeometry::dndu, lux::DifferentialGeometry::dndv, lux::Dot(), lux::DifferentialGeometry::dpdu, lux::DifferentialGeometry::dpdv, lux::DifferentialGeometry::dudx, lux::DifferentialGeometry::dudy, lux::DifferentialGeometry::dvdx, lux::DifferentialGeometry::dvdy, lux::DifferentialGeometry::nn, lux::Normalize(), lux::DifferentialGeometry::p, lux::Shape::reverseOrientation, lux::DifferentialGeometry::shape, lux::Shape::transformSwapsHandedness, lux::DifferentialGeometry::u, lux::DifferentialGeometry::v, lux::Normal::x, lux::Normal::y, and lux::Normal::z.
Referenced by lux::UberMaterial::GetBSDF(), lux::Translucent::GetBSDF(), lux::Substrate::GetBSDF(), lux::Skin::GetBSDF(), lux::ShinyMetal::GetBSDF(), lux::RoughGlass::GetBSDF(), lux::Primer::GetBSDF(), lux::Plastic::GetBSDF(), lux::Mirror::GetBSDF(), lux::Metal::GetBSDF(), lux::MatteTranslucent::GetBSDF(), lux::Matte::GetBSDF(), lux::Glass::GetBSDF(), lux::Felt::GetBSDF(), lux::Clay::GetBSDF(), lux::CarPaint::GetBSDF(), lux::BrushedMetal::GetBSDF(), and lux::BluePaint::GetBSDF().
virtual BSDF* lux::Material::GetBSDF | ( | const DifferentialGeometry & | dgGeom, | |
const DifferentialGeometry & | dgShading, | |||
float | u | |||
) | const [pure virtual] |
Implemented in lux::CarPaint, lux::Glass, lux::Matte, lux::MatteTranslucent, lux::Metal, lux::Mirror, lux::MixMaterial, lux::Null, lux::Plastic, lux::RoughGlass, lux::ShinyMetal, and lux::Substrate.
void lux::Material::SetChild1 | ( | boost::shared_ptr< Material > | x | ) | [inline] |
Definition at line 40 of file material.h.
References child1.
void lux::Material::SetChild2 | ( | boost::shared_ptr< Material > | x | ) | [inline] |
Definition at line 43 of file material.h.
References child2.
boost::shared_ptr<Material> lux::Material::child1 |
Definition at line 47 of file material.h.
Referenced by lux::MixMaterial::GetBSDF(), and SetChild1().
boost::shared_ptr<Material> lux::Material::child2 |
Definition at line 48 of file material.h.
Referenced by lux::MixMaterial::GetBSDF(), and SetChild2().