Open CASCADE Technology  7.1.0.beta
Public Member Functions | Static Public Member Functions | Data Fields
Graphic3d_BSDF Class Reference

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...
 
Graphic3d_BSDFoperator+ (const Graphic3d_BSDF &theOther)
 Performs mixing of two BSDFs. More...
 
bool operator== (const Graphic3d_BSDF &theOther) const
 Performs comparison of two BSDFs. 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...
 

Data Fields

Graphic3d_Vec3 Kd
 Weight of the Lambertian BRDF. More...
 
Graphic3d_Vec3 Kr
 Weight of the reflection BRDF. More...
 
Graphic3d_Vec3 Kt
 Weight of the transmission BTDF. More...
 
Graphic3d_Vec3 Ks
 Weight of the Blinn's glossy BRDF. More...
 
Graphic3d_Vec3 Le
 Self-emitted radiance. More...
 
Graphic3d_Fresnel Fresnel
 Parameters of Fresnel reflectance. More...
 
Standard_ShortReal Roughness
 Roughness (exponent) of Blinn's BRDF. More...
 
Graphic3d_Vec3 AbsorptionColor
 Absorption color of transparent media. More...
 
Standard_ShortReal AbsorptionCoeff
 Absorption intensity of transparent media. More...
 

Detailed Description

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).

Constructor & Destructor Documentation

Graphic3d_BSDF::Graphic3d_BSDF ( )
inline

Creates uninitialized BSDF.

Member Function Documentation

static Graphic3d_BSDF Graphic3d_BSDF::CreateDiffuse ( const Graphic3d_Vec3 theWeight)
static

Creates BSDF describing diffuse (Lambertian) surface.

static Graphic3d_BSDF Graphic3d_BSDF::CreateGlass ( const Graphic3d_Vec3 theWeight,
const Graphic3d_Vec3 theAbsorptionColor,
const Standard_ShortReal  theAbsorptionCoeff,
const Standard_ShortReal  theRefractionIndex 
)
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 Graphic3d_BSDF Graphic3d_BSDF::CreateMetallic ( const Graphic3d_Vec3 theWeight,
const Graphic3d_Fresnel theFresnel,
const Standard_ShortReal  theRoughness 
)
static

Creates BSDF describing polished metallic-like surface.

static Graphic3d_BSDF Graphic3d_BSDF::CreateTransparent ( const Graphic3d_Vec3 theWeight,
const Graphic3d_Vec3 theAbsorptionColor,
const Standard_ShortReal  theAbsorptionCoeff 
)
static

Creates BSDF describing transparent object. Transparent BSDF models simple transparency without refraction (the ray passes straight through the surface).

void Graphic3d_BSDF::Normalize ( )

Normalizes BSDF components.

Graphic3d_BSDF& Graphic3d_BSDF::operator+ ( const Graphic3d_BSDF theOther)
inline

Performs mixing of two BSDFs.

bool Graphic3d_BSDF::operator== ( const Graphic3d_BSDF theOther) const
inline

Performs comparison of two BSDFs.

Field Documentation

Standard_ShortReal Graphic3d_BSDF::AbsorptionCoeff

Absorption intensity of transparent media.

Graphic3d_Vec3 Graphic3d_BSDF::AbsorptionColor

Absorption color of transparent media.

Graphic3d_Fresnel Graphic3d_BSDF::Fresnel

Parameters of Fresnel reflectance.

Graphic3d_Vec3 Graphic3d_BSDF::Kd

Weight of the Lambertian BRDF.

Graphic3d_Vec3 Graphic3d_BSDF::Kr

Weight of the reflection BRDF.

Graphic3d_Vec3 Graphic3d_BSDF::Ks

Weight of the Blinn's glossy BRDF.

Graphic3d_Vec3 Graphic3d_BSDF::Kt

Weight of the transmission BTDF.

Graphic3d_Vec3 Graphic3d_BSDF::Le

Self-emitted radiance.

Standard_ShortReal Graphic3d_BSDF::Roughness

Roughness (exponent) of Blinn's BRDF.


The documentation for this class was generated from the following file: