Definition of a visual material.

#include <ChVisualMaterial.h>

Public Member Functions

void SetAmbientColor (const ChColor &rgb)
void SetDiffuseColor (const ChColor &rgb)
void SetSpecularColor (const ChColor &rgb)
void SetEmissiveColor (const ChColor &rgb)
void SetEmissivePower (const float &power)
void SetSpecularExponent (float exponent)
void SetOpacity (float o)
void SetIllumination (int i)
void SetKdTexture (const std::string &filename)
void SetKsTexture (const std::string &filename)
void SetKeTexture (const std::string &filename)
void SetNormalMapTexture (const std::string &filename)
void SetMetallicTexture (const std::string &filename)
void SetRoughnessTexture (const std::string &filename)
void SetOpacityTexture (const std::string &filename)
void SetWeightTexture (const std::string &filename)
void SetDisplacementTexture (const std::string &filename)
void SetAmbientOcclusionTexture (const std::string &filename)
void SetTextureScale (float scale_x, float scale_y)
 Apply the specified texture scaling to all textures in this material.
void SetFresnelExp (float exp)
void SetFresnelMax (float max)
void SetFresnelMin (float min)
void SetRoughness (float r)
void SetMetallic (float m)
void SetAnisotropy (float a)
void SetUseSpecularWorkflow (bool s)
void SetUseHapke (bool h)
 Enable or disable the use of the Hapke material model. We implement the modern hapke model descried in
void SetClassID (unsigned short int id)
void SetInstanceID (unsigned short int id)
void SetHapkeParameters (float w, float b, float c, float B_s0, float h_s, float phi, float theta_p)
 Set the Hapke material parameters. More...
const ChColorGetAmbientColor () const
const ChColorGetDiffuseColor () const
const ChColorGetSpecularColor () const
const ChColorGetEmissiveColor () const
const float & GetEmissivePower () const
float GetSpecularExponent () const
float GetOpacity () const
int GetIllumination () const
const std::string & GetKdTexture () const
const std::string & GetKsTexture () const
const std::string & GetKeTexture () const
const std::string & GetNormalMapTexture () const
const std::string & GetMetallicTexture () const
const std::string & GetRoughnessTexture () const
const std::string & GetOpacityTexture () const
const std::string & GetWeightTexture () const
const std::string & GetDisplacementTexture () const
const std::string & GetAmbientOcclusionTexture () const
const ChVector2fGetTextureScale () const
float GetFresnelExp () const
float GetFresnelMax () const
float GetFresnelMin () const
float GetRoughness () const
float GetMetallic () const
float GetAnisotropy () const
bool GetUseSpecularWorkflow () const
bool GetUseHapke () const
float GetHapkeW () const
float GetHapkeB () const
float GetHapkeC () const
float GetHapkeBs0 () const
float GetHapkeHs () const
float GetHapkePhi () const
float GetHapkeRoughness () const
unsigned short int GetClassID () const
unsigned short int GetInstanceID () const
virtual void ArchiveOut (ChArchiveOut &archive_out)
 Method to allow serialization of transient data to archives.
virtual void ArchiveIn (ChArchiveIn &archive_in)
 Method to allow deserialization of transient data from archives.

Static Public Member Functions

static std::shared_ptr< ChVisualMaterialDefault ()
 Create a default material.

Member Function Documentation

◆ SetHapkeParameters()

void chrono::ChVisualMaterial::SetHapkeParameters ( float  w,
float  b,
float  c,
float  B_s0,
float  h_s,
float  phi,
float  theta_p 

Set the Hapke material parameters.

Note that in our implementation, we ignore the impact of coherent backscatter.

wsingle scattering albedo
bshape controlling parameter for the amplitude of backward and forward scatter of particles
cweighting factor that controls the contribution of backward and forward scatter.
B_s0Amplitude of the opposition effect caused by shadow hiding
h_sAngular width of the opposition effect caused by shadow hiding.
phiFillig factor of the regolith
theta_pEffective value of the photometric roughness which controls the surface roughness

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/assets/ChVisualMaterial.h
  • /builds/uwsbel/chrono/src/chrono/assets/ChVisualMaterial.cpp