Description

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 https://doi.org/10.1002/2013JE004580.
 
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.

Parameters
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