OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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.
    void Normalize ()
     Normalizes BSDF components.
    bool operator== (const Graphic3d_BSDF &theOther) const
     Performs comparison of two BSDFs.
    void DumpJson (Standard_OStream &theOStream, int theDepth=-1) const
     Dumps the content of me into the stream.

    Static Public Member Functions

    static Graphic3d_BSDF CreateDiffuse (const NCollection_Vec3< float > &theWeight)
     Creates BSDF describing diffuse (Lambertian) surface.
    static Graphic3d_BSDF CreateMetallic (const NCollection_Vec3< float > &theWeight, const Graphic3d_Fresnel &theFresnel, const float theRoughness)
     Creates BSDF describing polished metallic-like surface.
    static Graphic3d_BSDF CreateTransparent (const NCollection_Vec3< float > &theWeight, const NCollection_Vec3< float > &theAbsorptionColor, const float theAbsorptionCoeff)
     Creates BSDF describing transparent object. Transparent BSDF models simple transparency without refraction (the ray passes straight through the surface).
    static Graphic3d_BSDF CreateGlass (const NCollection_Vec3< float > &theWeight, const NCollection_Vec3< float > &theAbsorptionColor, const float theAbsorptionCoeff, const float theRefractionIndex)
     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 CreateMetallicRoughness (const Graphic3d_PBRMaterial &thePbr)
     Creates BSDF from PBR metallic-roughness material.

    Data Fields

    NCollection_Vec4< float > Kc
     Weight of coat specular/glossy BRDF.
    NCollection_Vec3< float > Kd
     Weight of base diffuse BRDF.
    NCollection_Vec4< float > Ks
     Weight of base specular/glossy BRDF.
    NCollection_Vec3< float > Kt
     Weight of base specular/glossy BTDF.
    NCollection_Vec3< float > Le
     Radiance emitted by the surface.
    NCollection_Vec4< float > Absorption
     Volume scattering color/density.
    Graphic3d_Fresnel FresnelCoat
     Parameters of Fresnel reflectance of coat layer.
    Graphic3d_Fresnel FresnelBase
     Parameters of Fresnel reflectance of base layer.

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

    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.

    Constructor & Destructor Documentation

    ◆ Graphic3d_BSDF()

    Graphic3d_BSDF::Graphic3d_BSDF ( )

    Creates uninitialized BSDF.

    Member Function Documentation

    ◆ CreateDiffuse()

    Graphic3d_BSDF Graphic3d_BSDF::CreateDiffuse ( const NCollection_Vec3< float > & theWeight)
    static

    Creates BSDF describing diffuse (Lambertian) surface.

    ◆ CreateGlass()

    Graphic3d_BSDF Graphic3d_BSDF::CreateGlass ( const NCollection_Vec3< float > & theWeight,
    const NCollection_Vec3< float > & theAbsorptionColor,
    const float theAbsorptionCoeff,
    const float 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.

    ◆ CreateMetallic()

    Graphic3d_BSDF Graphic3d_BSDF::CreateMetallic ( const NCollection_Vec3< float > & theWeight,
    const Graphic3d_Fresnel & theFresnel,
    const float theRoughness )
    static

    Creates BSDF describing polished metallic-like surface.

    ◆ CreateMetallicRoughness()

    Graphic3d_BSDF Graphic3d_BSDF::CreateMetallicRoughness ( const Graphic3d_PBRMaterial & thePbr)
    static

    Creates BSDF from PBR metallic-roughness material.

    ◆ CreateTransparent()

    Graphic3d_BSDF Graphic3d_BSDF::CreateTransparent ( const NCollection_Vec3< float > & theWeight,
    const NCollection_Vec3< float > & theAbsorptionColor,
    const float theAbsorptionCoeff )
    static

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

    ◆ DumpJson()

    void Graphic3d_BSDF::DumpJson ( Standard_OStream & theOStream,
    int theDepth = -1 ) const

    Dumps the content of me into the stream.

    ◆ Normalize()

    void Graphic3d_BSDF::Normalize ( )

    Normalizes BSDF components.

    ◆ operator==()

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

    Performs comparison of two BSDFs.

    Field Documentation

    ◆ Absorption

    NCollection_Vec4<float> Graphic3d_BSDF::Absorption

    Volume scattering color/density.

    ◆ FresnelBase

    Graphic3d_Fresnel Graphic3d_BSDF::FresnelBase

    Parameters of Fresnel reflectance of base layer.

    ◆ FresnelCoat

    Graphic3d_Fresnel Graphic3d_BSDF::FresnelCoat

    Parameters of Fresnel reflectance of coat layer.

    ◆ Kc

    NCollection_Vec4<float> Graphic3d_BSDF::Kc

    Weight of coat specular/glossy BRDF.

    ◆ Kd

    NCollection_Vec3<float> Graphic3d_BSDF::Kd

    Weight of base diffuse BRDF.

    ◆ Ks

    NCollection_Vec4<float> Graphic3d_BSDF::Ks

    Weight of base specular/glossy BRDF.

    ◆ Kt

    NCollection_Vec3<float> Graphic3d_BSDF::Kt

    Weight of base specular/glossy BTDF.

    ◆ Le

    NCollection_Vec3<float> Graphic3d_BSDF::Le

    Radiance emitted by the surface.


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