cesium-native  0.41.0
CesiumGltf::MaterialPBRMetallicRoughness Struct Referencefinal

A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology. More...

#include <CesiumGltf/MaterialPBRMetallicRoughness.h>

Inheritance diagram for CesiumGltf::MaterialPBRMetallicRoughness:
CesiumUtility::ExtensibleObject

Public Attributes

std::vector< double > baseColorFactor = {1, 1, 1, 1}
 The factors for the base color of the material. More...
 
std::optional< CesiumGltf::TextureInfobaseColorTexture
 The base color texture. More...
 
double metallicFactor = 1
 The factor for the metalness of the material. More...
 
double roughnessFactor = 1
 The factor for the roughness of the material. More...
 
std::optional< CesiumGltf::TextureInfometallicRoughnessTexture
 The metallic-roughness texture. More...
 
- Public Attributes inherited from CesiumUtility::ExtensibleObject
std::unordered_map< std::string, std::any > extensions
 The extensions attached to this object. More...
 
JsonValue::Object extras
 Application-specific data. More...
 
JsonValue::Object unknownProperties
 Unknown properties that exist on this object but do not have any representation in the statically-typed classes. More...
 

Static Public Attributes

static constexpr const char * TypeName = "MaterialPBRMetallicRoughness"
 

Additional Inherited Members

- Public Member Functions inherited from CesiumUtility::ExtensibleObject
template<typename T >
bool hasExtension () const noexcept
 Checks if an extension exists given its static type. More...
 
template<typename T >
const T * getExtension () const noexcept
 Gets an extension given its static type. More...
 
template<typename T >
T * getExtension () noexcept
 Gets an extension given its static type. More...
 
const JsonValuegetGenericExtension (const std::string &extensionName) const noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue. More...
 
JsonValuegetGenericExtension (const std::string &extensionName) noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue. More...
 
template<typename T , typename... ConstructorArgumentTypes>
T & addExtension (ConstructorArgumentTypes &&... constructorArguments)
 Adds a statically-typed extension to this object. More...
 
template<typename T >
void removeExtension ()
 Removes a statically-typed extension from this object. More...
 

Detailed Description

A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.

Definition at line 19 of file MaterialPBRMetallicRoughness.h.

Member Data Documentation

◆ baseColorFactor

std::vector<double> CesiumGltf::MaterialPBRMetallicRoughness::baseColorFactor = {1, 1, 1, 1}

The factors for the base color of the material.

This value defines linear multipliers for the sampled texels of the base color texture.

Definition at line 29 of file MaterialPBRMetallicRoughness.h.

◆ baseColorTexture

std::optional<CesiumGltf::TextureInfo> CesiumGltf::MaterialPBRMetallicRoughness::baseColorTexture

The base color texture.

The first three components (RGB) MUST be encoded with the sRGB transfer function. They specify the base color of the material. If the fourth component (A) is present, it represents the linear alpha coverage of the material. Otherwise, the alpha coverage is equal to 1.0. The material.alphaMode property specifies how alpha is interpreted. The stored texels MUST NOT be premultiplied. When undefined, the texture MUST be sampled as having 1.0 in all components.

Definition at line 42 of file MaterialPBRMetallicRoughness.h.

◆ metallicFactor

double CesiumGltf::MaterialPBRMetallicRoughness::metallicFactor = 1

The factor for the metalness of the material.

This value defines a linear multiplier for the sampled metalness values of the metallic-roughness texture.

Definition at line 50 of file MaterialPBRMetallicRoughness.h.

◆ metallicRoughnessTexture

std::optional<CesiumGltf::TextureInfo> CesiumGltf::MaterialPBRMetallicRoughness::metallicRoughnessTexture

The metallic-roughness texture.

The metalness values are sampled from the B channel. The roughness values are sampled from the G channel. These values MUST be encoded with a linear transfer function. If other channels are present (R or A), they MUST be ignored for metallic-roughness calculations. When undefined, the texture MUST be sampled as having 1.0 in G and B components.

Definition at line 69 of file MaterialPBRMetallicRoughness.h.

◆ roughnessFactor

double CesiumGltf::MaterialPBRMetallicRoughness::roughnessFactor = 1

The factor for the roughness of the material.

This value defines a linear multiplier for the sampled roughness values of the metallic-roughness texture.

Definition at line 58 of file MaterialPBRMetallicRoughness.h.


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