#include <material.h>
Public Member Functions | |
| MatteMetalMaterial (const Spectrum &col, 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 |
Private Attributes | |
| MatteMaterial | matte |
| MetalMaterial | metal |
| float | matteFilter |
| float | metalFilter |
| float | totFilter |
| float | mattePdf |
| float | metalPdf |
Definition at line 408 of file material.h.
| luxrays::sdl::MatteMetalMaterial::MatteMetalMaterial | ( | const Spectrum & | col, | |
| const Spectrum | refl, | |||
| const float | exp, | |||
| bool | reflSpecularBounce | |||
| ) | [inline] |
Definition at line 410 of file material.h.
References luxrays::Spectrum::Filter(), luxrays::sdl::MatteMaterial::GetKd(), luxrays::sdl::MetalMaterial::GetKr(), matte, matteFilter, mattePdf, metal, metalFilter, metalPdf, and totFilter.
| Spectrum luxrays::sdl::MatteMetalMaterial::f | ( | const Vector & | wo, | |
| const Vector & | wi, | |||
| const Normal & | N | |||
| ) | const [inline, virtual] |
Implements luxrays::sdl::SurfaceMaterial.
Definition at line 425 of file material.h.
References luxrays::sdl::MatteMaterial::f(), matte, and mattePdf.
Referenced by Sample_f().
| MaterialType luxrays::sdl::MatteMetalMaterial::GetType | ( | ) | const [inline, virtual] |
Implements luxrays::sdl::Material.
Definition at line 420 of file material.h.
References luxrays::sdl::MATTEMETAL.
| bool luxrays::sdl::MatteMetalMaterial::IsDiffuse | ( | ) | const [inline, virtual] |
Implements luxrays::sdl::Material.
Definition at line 422 of file material.h.
| bool luxrays::sdl::MatteMetalMaterial::IsSpecular | ( | ) | const [inline, virtual] |
Implements luxrays::sdl::Material.
Definition at line 423 of file material.h.
| Spectrum luxrays::sdl::MatteMetalMaterial::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 429 of file material.h.
References f(), matte, matteFilter, mattePdf, metal, metalPdf, luxrays::sdl::MatteMaterial::Sample_f(), luxrays::sdl::MetalMaterial::Sample_f(), and totFilter.
Definition at line 448 of file material.h.
Referenced by f(), MatteMetalMaterial(), and Sample_f().
float luxrays::sdl::MatteMetalMaterial::matteFilter [private] |
Definition at line 450 of file material.h.
Referenced by MatteMetalMaterial(), and Sample_f().
float luxrays::sdl::MatteMetalMaterial::mattePdf [private] |
Definition at line 450 of file material.h.
Referenced by f(), MatteMetalMaterial(), and Sample_f().
Definition at line 449 of file material.h.
Referenced by MatteMetalMaterial(), and Sample_f().
float luxrays::sdl::MatteMetalMaterial::metalFilter [private] |
Definition at line 450 of file material.h.
Referenced by MatteMetalMaterial().
float luxrays::sdl::MatteMetalMaterial::metalPdf [private] |
Definition at line 450 of file material.h.
Referenced by MatteMetalMaterial(), and Sample_f().
float luxrays::sdl::MatteMetalMaterial::totFilter [private] |
Definition at line 450 of file material.h.
Referenced by MatteMetalMaterial(), and Sample_f().
1.6.3