Open CASCADE Technology
7.5.0
|
Describes material's BSDF (Bidirectional Scattering Distribution Function) used for physically-based rendering (in path tracing engine). BSDF is represented as weighted mixture of basic BRDFs/BTDFs (Bidirectional Reflectance (Transmittance) Distribution Functions). More...
#include <Graphic3d_BSDF.hxx>
Public Member Functions | |
Graphic3d_BSDF () | |
Creates uninitialized BSDF. More... | |
void | Normalize () |
Normalizes BSDF components. More... | |
bool | operator== (const Graphic3d_BSDF &theOther) const |
Performs comparison of two BSDFs. More... | |
void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. More... | |
Static Public Member Functions | |
static Graphic3d_BSDF | CreateDiffuse (const Graphic3d_Vec3 &theWeight) |
Creates BSDF describing diffuse (Lambertian) surface. More... | |
static Graphic3d_BSDF | CreateMetallic (const Graphic3d_Vec3 &theWeight, const Graphic3d_Fresnel &theFresnel, const Standard_ShortReal theRoughness) |
Creates BSDF describing polished metallic-like surface. More... | |
static Graphic3d_BSDF | CreateTransparent (const Graphic3d_Vec3 &theWeight, const Graphic3d_Vec3 &theAbsorptionColor, const Standard_ShortReal theAbsorptionCoeff) |
Creates BSDF describing transparent object. Transparent BSDF models simple transparency without refraction (the ray passes straight through the surface). More... | |
static Graphic3d_BSDF | CreateGlass (const Graphic3d_Vec3 &theWeight, const Graphic3d_Vec3 &theAbsorptionColor, const Standard_ShortReal theAbsorptionCoeff, const Standard_ShortReal theRefractionIndex) |
Creates BSDF describing glass-like object. Glass-like BSDF mixes refraction and reflection effects at grazing angles using physically-based Fresnel dielectric model. More... | |
static Graphic3d_BSDF | CreateMetallicRoughness (const Graphic3d_PBRMaterial &thePbr) |
Creates BSDF from PBR metallic-roughness material. More... | |
Data Fields | |
Graphic3d_Vec4 | Kc |
Weight of coat specular/glossy BRDF. More... | |
Graphic3d_Vec3 | Kd |
Weight of base diffuse BRDF. More... | |
Graphic3d_Vec4 | Ks |
Weight of base specular/glossy BRDF. More... | |
Graphic3d_Vec3 | Kt |
Weight of base specular/glossy BTDF. More... | |
Graphic3d_Vec3 | Le |
Radiance emitted by the surface. More... | |
Graphic3d_Vec4 | Absorption |
Volume scattering color/density. More... | |
Graphic3d_Fresnel | FresnelCoat |
Parameters of Fresnel reflectance of coat layer. More... | |
Graphic3d_Fresnel | FresnelBase |
Parameters of Fresnel reflectance of base layer. More... | |
Describes material's BSDF (Bidirectional Scattering Distribution Function) used for physically-based rendering (in path tracing engine). BSDF is represented as weighted mixture of basic BRDFs/BTDFs (Bidirectional Reflectance (Transmittance) Distribution Functions).
NOTE: OCCT uses two-layer material model. We have base diffuse, glossy, or transmissive layer, covered by one glossy/specular coat. In the current model, the layers themselves have no thickness; they can simply reflect light or transmits it to the layer under it. We use actual BRDF model only for direct reflection by the coat layer. For transmission through this layer, we approximate it as a flat specular surface.
Graphic3d_BSDF::Graphic3d_BSDF | ( | ) |
Creates uninitialized BSDF.
|
static |
Creates BSDF describing diffuse (Lambertian) surface.
|
static |
Creates BSDF describing glass-like object. Glass-like BSDF mixes refraction and reflection effects at grazing angles using physically-based Fresnel dielectric model.
|
static |
Creates BSDF describing polished metallic-like surface.
|
static |
Creates BSDF from PBR metallic-roughness material.
|
static |
Creates BSDF describing transparent object. Transparent BSDF models simple transparency without refraction (the ray passes straight through the surface).
void Graphic3d_BSDF::DumpJson | ( | Standard_OStream & | theOStream, |
Standard_Integer | theDepth = -1 |
||
) | const |
Dumps the content of me into the stream.
void Graphic3d_BSDF::Normalize | ( | ) |
Normalizes BSDF components.
bool Graphic3d_BSDF::operator== | ( | const Graphic3d_BSDF & | theOther | ) | const |
Performs comparison of two BSDFs.
Graphic3d_Vec4 Graphic3d_BSDF::Absorption |
Volume scattering color/density.
Graphic3d_Fresnel Graphic3d_BSDF::FresnelBase |
Parameters of Fresnel reflectance of base layer.
Graphic3d_Fresnel Graphic3d_BSDF::FresnelCoat |
Parameters of Fresnel reflectance of coat layer.
Graphic3d_Vec4 Graphic3d_BSDF::Kc |
Weight of coat specular/glossy BRDF.
Graphic3d_Vec3 Graphic3d_BSDF::Kd |
Weight of base diffuse BRDF.
Graphic3d_Vec4 Graphic3d_BSDF::Ks |
Weight of base specular/glossy BRDF.
Graphic3d_Vec3 Graphic3d_BSDF::Kt |
Weight of base specular/glossy BTDF.
Graphic3d_Vec3 Graphic3d_BSDF::Le |
Radiance emitted by the surface.