#include <material.h>
Public Member Functions | |
| MetalMaterial (const Spectrum &refl, const float exp, bool reflSpecularBounce) | |
| MaterialType | GetType () const |
| bool | IsDiffuse () const |
| bool | IsSpecular () const |
| Spectrum | f (const Vector &wo, const Vector &wi, const Normal &N) const |
| Spectrum | Sample_f (const Vector &wo, Vector *wi, const Normal &N, const Normal &shadeN, const float u0, const float u1, const float u2, const bool onlySpecular, float *pdf, bool &specularBounce) const |
| const Spectrum & | GetKr () const |
Static Public Member Functions | |
| static Vector | GlossyReflection (const Vector &wo, const float exponent, const Normal &shadeN, const float u0, const float u1) |
Private Attributes | |
| Spectrum | Kr |
| float | exponent |
| bool | reflectionSpecularBounce |
Definition at line 339 of file material.h.
| luxrays::sdl::MetalMaterial::MetalMaterial | ( | const Spectrum & | refl, | |
| const float | exp, | |||
| bool | reflSpecularBounce | |||
| ) | [inline] |
Definition at line 341 of file material.h.
References exponent, Kr, and reflectionSpecularBounce.
| Spectrum luxrays::sdl::MetalMaterial::f | ( | const Vector & | wo, | |
| const Vector & | wi, | |||
| const Normal & | N | |||
| ) | const [inline, virtual] |
Implements luxrays::sdl::SurfaceMaterial.
Definition at line 352 of file material.h.
Referenced by GlossyReflection(), and Sample_f().
| const Spectrum& luxrays::sdl::MetalMaterial::GetKr | ( | ) | const [inline] |
Definition at line 373 of file material.h.
References Kr.
Referenced by luxrays::sdl::MatteMetalMaterial::MatteMetalMaterial().
| MaterialType luxrays::sdl::MetalMaterial::GetType | ( | ) | const [inline, virtual] |
Implements luxrays::sdl::Material.
Definition at line 347 of file material.h.
References luxrays::sdl::METAL.
| static Vector luxrays::sdl::MetalMaterial::GlossyReflection | ( | const Vector & | wo, | |
| const float | exponent, | |||
| const Normal & | shadeN, | |||
| const float | u0, | |||
| const float | u1 | |||
| ) | [inline, static] |
Definition at line 375 of file material.h.
References luxrays::Cross(), luxrays::Dot(), f(), luxrays::Normalize(), and luxrays::Normal::x.
Referenced by luxrays::sdl::AlloyMaterial::Sample_f(), and Sample_f().
| bool luxrays::sdl::MetalMaterial::IsDiffuse | ( | ) | const [inline, virtual] |
Implements luxrays::sdl::Material.
Definition at line 349 of file material.h.
| bool luxrays::sdl::MetalMaterial::IsSpecular | ( | ) | const [inline, virtual] |
Implements luxrays::sdl::Material.
Definition at line 350 of file material.h.
| Spectrum luxrays::sdl::MetalMaterial::Sample_f | ( | const Vector & | wo, | |
| Vector * | wi, | |||
| const Normal & | N, | |||
| const Normal & | shadeN, | |||
| const float | u0, | |||
| const float | u1, | |||
| const float | u2, | |||
| const bool | onlySpecular, | |||
| float * | pdf, | |||
| bool & | specularBounce | |||
| ) | const [inline, virtual] |
Implements luxrays::sdl::SurfaceMaterial.
Definition at line 356 of file material.h.
References luxrays::Dot(), exponent, f(), GlossyReflection(), Kr, and reflectionSpecularBounce.
Referenced by luxrays::sdl::MatteMetalMaterial::Sample_f().
float luxrays::sdl::MetalMaterial::exponent [private] |
Definition at line 404 of file material.h.
Referenced by MetalMaterial(), and Sample_f().
Spectrum luxrays::sdl::MetalMaterial::Kr [private] |
Definition at line 403 of file material.h.
Referenced by GetKr(), MetalMaterial(), and Sample_f().
bool luxrays::sdl::MetalMaterial::reflectionSpecularBounce [private] |
Definition at line 405 of file material.h.
Referenced by MetalMaterial(), and Sample_f().
1.6.3