21#include <ignition/utils/ImplPtr.hh>
24#include "sdf/sdf_config.h"
30 inline namespace SDF_VERSION_NAMESPACE {
168 public:
void SetLightMap(
const std::string &_map,
unsigned int _uvSet = 0u);
233 IGN_UTILS_IMPL_PTR(dataPtr)
265 IGN_UTILS_IMPL_PTR(dataPtr)
This class contains Physically-Based-Rendering (PBR) workflow properties.
Definition: Pbr.hh:59
std::string EmissiveMap() const
Get the emissive map filename.
void SetRoughnessMap(const std::string &_map)
Set the roughness map filename for metal workflow.
PbrWorkflowType Type() const
Get the workflow type.
void SetMetalness(const double _value)
Set the metalness value of the material for metal workflow.
unsigned int LightMapTexCoordSet() const
Get the light map texture coordinate set.
void SetAlbedoMap(const std::string &_map)
Set the albedo map filename.
Errors Load(ElementPtr _sdf)
Load the pbr workflow based on an element pointer.
std::string MetalnessMap() const
Get the metalness map filename for metal workflow.
double Roughness() const
Get the roughness value of the material for metal workflow.
std::string RoughnessMap() const
Get the roughness map filename for metal workflow.
std::string NormalMap() const
Get the normal map filename.
std::string LightMap() const
Get the light map filename.
void SetType(PbrWorkflowType _type)
Set the PBR workflow to use.
double Metalness() const
Get the metalness value of the material for metal workflow.
void SetRoughness(const double _value)
Set the roughness value of the material for metal workflow.
void SetEnvironmentMap(const std::string &_map)
Set the environment map filename.
void SetGlossiness(const double _value)
Set the glossiness value of the material for specular workflow.
std::string AlbedoMap() const
Get the albedo map filename.
PbrWorkflow()
Default constructor.
std::string SpecularMap() const
Get the specular map filename for specular workflow.
void SetLightMap(const std::string &_map, unsigned int _uvSet=0u)
Set the light map filename.
std::string EnvironmentMap() const
Get the environment map filename.
void SetSpecularMap(const std::string &_map)
Set the specular map filename for specular workflow.
void SetNormalMap(const std::string &_map, NormalMapSpace _space=NormalMapSpace::TANGENT)
Set the normal map filename.
NormalMapSpace NormalMapType() const
Get the normal map type, either tangent or object space.
void SetEmissiveMap(const std::string &_map)
Set the emissive map filename.
void SetGlossinessMap(const std::string &_map)
Set the glossiness map filename for specular workflow.
bool operator!=(const PbrWorkflow &_workflow) const
Return true this PbrWorkflow object does not contain the same values as the passed in parameter.
double Glossiness() const
Get the glossiness value of the material for specular workflow.
std::string GlossinessMap() const
Get the glossiness map filename for specular workflow.
void SetAmbientOcclusionMap(const std::string &_map)
Set the ambient occlusion map filename.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
void SetMetalnessMap(const std::string &_map)
Set the metalness map filename for metal workflow.
std::string AmbientOcclusionMap() const
Get the ambient occlusion map filename.
bool operator==(const PbrWorkflow &_workflow) const
Return true if both PbrWorkflow objects contain the same values.
This class provides access to Physically-Based-Rendering (PBR) material workflows.
Definition: Pbr.hh:239
Pbr()
Default constructor.
Errors Load(ElementPtr _sdf)
Load the pbr based on an element pointer.
void SetWorkflow(PbrWorkflowType _type, const PbrWorkflow &_workflow)
Set a PBR workflow by type.
const PbrWorkflow * Workflow(PbrWorkflowType _type) const
Get a PBR workflow by type.
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:106
PbrWorkflowType
Type of PBR workflow.
Definition: Pbr.hh:35
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:54
NormalMapSpace
Space the normal map is defined in.
Definition: Pbr.hh:48
namespace for Simulation Description Format parser
Definition: Actor.hh:34
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:41