#include <material.h>
Public Member Functions | |
Material () | |
virtual | ~Material () |
void | InitGeneralParams (const TextureParams &mp) |
virtual BSDF * | GetBSDF (const TsPack *tspack, const DifferentialGeometry &dgGeom, const DifferentialGeometry &dgShading) const =0 |
void | Bump (boost::shared_ptr< Texture< float > > d, const DifferentialGeometry &dgGeom, const DifferentialGeometry &dgShading, DifferentialGeometry *dgBump) const |
void | SetChild1 (boost::shared_ptr< Material > x) |
void | SetChild2 (boost::shared_ptr< Material > x) |
Static Public Member Functions | |
static void | FindCompositingParams (const TextureParams &mp, CompositingParams *cp) |
Public Attributes | |
boost::shared_ptr< Material > | child1 |
boost::shared_ptr< Material > | child2 |
float | bumpmapSampleDistance |
CompositingParams * | compParams |
Definition at line 53 of file material.h.
Material::Material | ( | ) |
Definition at line 32 of file material.cpp.
References compParams.
Material::~Material | ( | ) | [virtual] |
Definition at line 36 of file material.cpp.
References compParams.
void Material::Bump | ( | boost::shared_ptr< Texture< float > > | d, | |
const DifferentialGeometry & | dgGeom, | |||
const DifferentialGeometry & | dgShading, | |||
DifferentialGeometry * | dgBump | |||
) | const |
Definition at line 57 of file material.cpp.
References bumpmapSampleDistance, 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::DifferentialGeometry::u, and lux::DifferentialGeometry::v.
Referenced by lux::UberMaterial::GetBSDF(), lux::Translucent::GetBSDF(), lux::Skin::GetBSDF(), lux::ShinyMetal::GetBSDF(), lux::RoughGlass::GetBSDF(), lux::Primer::GetBSDF(), lux::Mirror::GetBSDF(), lux::Metal::GetBSDF(), lux::MatteTranslucent::GetBSDF(), lux::Matte::GetBSDF(), lux::Glossy::GetBSDF(), lux::Glass::GetBSDF(), lux::Felt::GetBSDF(), lux::Clay::GetBSDF(), lux::CarPaint::GetBSDF(), lux::BrushedMetal::GetBSDF(), and lux::BluePaint::GetBSDF().
void Material::FindCompositingParams | ( | const TextureParams & | mp, | |
CompositingParams * | cp | |||
) | [static] |
Definition at line 44 of file material.cpp.
References lux::CompositingParams::A, lux::TextureParams::FindBool(), lux::TextureParams::FindFloat(), lux::TextureParams::FindRGBColor(), lux::CompositingParams::K, lux::CompositingParams::Kc, lux::CompositingParams::oA, lux::CompositingParams::tiVl, lux::CompositingParams::tiVm, lux::CompositingParams::tVl, and lux::CompositingParams::tVm.
Referenced by lux::ShinyMetal::CreateMaterial(), lux::RoughGlass::CreateMaterial(), lux::Null::CreateMaterial(), lux::MixMaterial::CreateMaterial(), lux::Mirror::CreateMaterial(), lux::Metal::CreateMaterial(), lux::MatteTranslucent::CreateMaterial(), lux::Matte::CreateMaterial(), lux::Glossy::CreateMaterial(), lux::Glass::CreateMaterial(), and lux::CarPaint::CreateMaterial().
virtual BSDF* lux::Material::GetBSDF | ( | const TsPack * | tspack, | |
const DifferentialGeometry & | dgGeom, | |||
const DifferentialGeometry & | dgShading | |||
) | const [pure virtual] |
Implemented in lux::CarPaint, lux::Glass, lux::Glossy, lux::Matte, lux::MatteTranslucent, lux::Metal, lux::Mirror, lux::MixMaterial, lux::Null, lux::RoughGlass, and lux::ShinyMetal.
Referenced by lux::Intersection::GetBSDF().
void Material::InitGeneralParams | ( | const TextureParams & | mp | ) |
Definition at line 40 of file material.cpp.
References bumpmapSampleDistance, and lux::TextureParams::FindFloat().
void lux::Material::SetChild1 | ( | boost::shared_ptr< Material > | x | ) | [inline] |
Definition at line 65 of file material.h.
References child1.
void lux::Material::SetChild2 | ( | boost::shared_ptr< Material > | x | ) | [inline] |
Definition at line 66 of file material.h.
References child2.
Definition at line 71 of file material.h.
Referenced by Bump(), and InitGeneralParams().
boost::shared_ptr<Material> lux::Material::child1 |
Definition at line 70 of file material.h.
Referenced by lux::MixMaterial::GetBSDF(), and SetChild1().
boost::shared_ptr<Material> lux::Material::child2 |
Definition at line 70 of file material.h.
Referenced by lux::MixMaterial::GetBSDF(), and SetChild2().
Definition at line 72 of file material.h.
Referenced by lux::CarPaint::CarPaint(), lux::ShinyMetal::GetBSDF(), lux::RoughGlass::GetBSDF(), lux::Null::GetBSDF(), lux::MixMaterial::GetBSDF(), lux::Mirror::GetBSDF(), lux::Metal::GetBSDF(), lux::MatteTranslucent::GetBSDF(), lux::Matte::GetBSDF(), lux::Glossy::GetBSDF(), lux::Glass::GetBSDF(), lux::CarPaint::GetBSDF(), lux::Glass::Glass(), lux::Glossy::Glossy(), Material(), lux::Matte::Matte(), lux::MatteTranslucent::MatteTranslucent(), lux::Metal::Metal(), lux::Mirror::Mirror(), lux::MixMaterial::MixMaterial(), lux::Null::Null(), lux::RoughGlass::RoughGlass(), lux::ShinyMetal::ShinyMetal(), and ~Material().