class
PbrShaderAttributesManager
Base classes
-
template<class T, ManagedObjectAccess Access>class AttributesManager<attributes::PbrShaderAttributes, ManagedObjectAccess::Copy>
- Class template defining responsibilities and functionality for managing esp::
metadata:: attributes:: AbstractAttributes constructs.
Constructors, destructors, conversion operators
Public functions
-
auto createObject(const std::
string& pbrConfigFilename = ESP_DEFAULT_PBRSHADER_CONFIG_REL_PATH, bool registerTemplate = true) -> attributes::PbrShaderAttributes::ptr override - Creates an instance of a PBR shader configuration file used to govern which calculations are performed by the PBR shader (such as Image-based Lighting and/or specific PBR layer calculations), as well as to provide some user-configurable shader-wide control values.
- void setValsFromJSONDoc(attributes::PbrShaderAttributes::ptr attribs, const io::JsonGenericValue& jsonConfig) override
- Method to take an existing attributes and set its values from passed json config file.
- void setAllIBLEnabled(bool isIblEnabled)
- This will set all the metadata::
attributes:: PbrShaderAttributes to have IBL either on or off. - void setAllDirectLightsEnabled(bool isDirLightEnabled)
- This will set all the metadata::
attributes:: PbrShaderAttributes to have Direct Ligthing either on or off.
Protected functions
-
auto initNewObjectInternal(const std::
string& handleName, bool builtFromConfig) -> attributes::PbrShaderAttributes::ptr override - Used Internally. Create and configure newly-created attributes with any default values, before any specific values are set.
-
void deleteObjectInternalFinalize(int templateID,
const std::
string& templateHandle) override - This method will perform any necessary updating that is attributesManager-specific upon template removal, such as removing a specific template handle from the list of file-based template handles in ObjectAttributesManager. This should only be called esp::core::ManagedContainerBase.
-
auto registerObjectFinalize(attributes::PbrShaderAttributes::ptr pbrShaderConfigurationTemplate,
const std::
string& pbrShaderConfigurationHandle, bool forceRegistration) -> int override - Add a copy of the esp::
metadata:: attributes:: PbrShaderAttributes shared_ptr object to the objectLibrary_ . - void resetFinalize() override
- Any physics-attributes-specific resetting that needs to happen on reset.
Function documentation
attributes::PbrShaderAttributes::ptr esp:: metadata:: managers:: PbrShaderAttributesManager:: createObject(const std:: string& pbrConfigFilename = ESP_DEFAULT_PBRSHADER_CONFIG_REL_PATH,
bool registerTemplate = true) override
Creates an instance of a PBR shader configuration file used to govern which calculations are performed by the PBR shader (such as Image-based Lighting and/or specific PBR layer calculations), as well as to provide some user-configurable shader-wide control values.
Parameters | |
---|---|
pbrConfigFilename | The location of the PBR shader configuration file to parse. Defaults to the file location ESP_DEFAULT_PHYSICS_CONFIG_REL_PATH set by cmake. |
registerTemplate | whether to add this template to the library. If the user is going to edit this template, this should be false - any subsequent editing will require re-registration. Defaults to true. If specified as true, then this function returns a copy of the registered template. |
Returns | a reference to the physics simulation meta data object parsed from the specified configuration file. |
If a template exists with this handle, this existing template will be overwritten with the newly created one if registerTemplate is true.
void esp:: metadata:: managers:: PbrShaderAttributesManager:: setValsFromJSONDoc(attributes::PbrShaderAttributes::ptr attribs,
const io::JsonGenericValue& jsonConfig) override
Method to take an existing attributes and set its values from passed json config file.
Parameters | |
---|---|
attribs | (out) an existing attributes to be modified. |
jsonConfig | json document to parse |
attributes::PbrShaderAttributes::ptr esp:: metadata:: managers:: PbrShaderAttributesManager:: initNewObjectInternal(const std:: string& handleName,
bool builtFromConfig) override protected
Used Internally. Create and configure newly-created attributes with any default values, before any specific values are set.
Parameters | |
---|---|
handleName | handle name to be assigned to attributes |
builtFromConfig | Whether this PbrShaderAttributes is being built from a config file (i.e. handleName is the name of a configuration file) or from some other source. |
Returns | Newly created but unregistered PbrShaderAttributes pointer, with only default values set. |
void esp:: metadata:: managers:: PbrShaderAttributesManager:: deleteObjectInternalFinalize(int templateID,
const std:: string& templateHandle) override protected
This method will perform any necessary updating that is attributesManager-specific upon template removal, such as removing a specific template handle from the list of file-based template handles in ObjectAttributesManager. This should only be called esp::core::ManagedContainerBase.
Parameters | |
---|---|
templateID | the ID of the template to remove |
templateHandle | the string key of the attributes desired. |
int esp:: metadata:: managers:: PbrShaderAttributesManager:: registerObjectFinalize(attributes::PbrShaderAttributes::ptr pbrShaderConfigurationTemplate,
const std:: string& pbrShaderConfigurationHandle,
bool forceRegistration) override protected
Add a copy of the esp::
Parameters | |
---|---|
pbrShaderConfigurationTemplate | The attributes template. |
pbrShaderConfigurationHandle | The key for referencing the template in the objectLibrary_ |
forceRegistration | Will register object even if conditionalE registration checks fail. |
Returns | The index in the objectLibrary_ |