Material.ixx File
Material abstraction: shader + material properties. More...
Included Headers
#include <memory>
#include <stdexcept>
#include <helios.rendering.shader.Shader>
#include <helios.util.log>
#include <helios.rendering.material.MaterialShaderProperties>
#include <helios.rendering.shader.UniformValueMap>
Namespaces Index
| namespace | helios |
| namespace | rendering |
|
Graphics rendering infrastructure. More... | |
| namespace | material |
Classes Index
| class | Material |
|
Represents a parameterizable material. More... | |
Macro Definitions Index
| #define | HELIOS_LOG_SCOPE "helios::rendering::material::Material" |
Description
Material abstraction: shader + material properties.
Macro Definitions
HELIOS_LOG_SCOPE
|
Definition at line 17 of file Material.ixx.
17#define HELIOS_LOG_SCOPE "helios::rendering::material::Material"
File Listing
The file content with the documentation metadata removed is:
17#define HELIOS_LOG_SCOPE "helios::rendering::material::Material"
18export namespace helios::rendering::material {
35 std::shared_ptr<const helios::rendering::material::MaterialShaderProperties> materialProperties_;
45 inline static const helios::util::log::Logger& logger_ = helios::util::log::LogManager::loggerForScope(HELIOS_LOG_SCOPE);
59 std::shared_ptr<const helios::rendering::shader::Shader> shader,
60 std::shared_ptr<const helios::rendering::material::MaterialShaderProperties> materialProperties
63 materialProperties_(std::move(materialProperties))
65 if (!shader_ || !materialProperties_) {
66 const std::string msg = !shader_ ?
69 logger_.error(msg);
79 [[nodiscard]] const helios::rendering::material::MaterialShaderProperties& materialProperties() const noexcept {
80 return *materialProperties_;
89 [[nodiscard]] const helios::rendering::shader::Shader& shader() const noexcept {
90 return *shader_;
101 void writeUniformValues(helios::rendering::shader::UniformValueMap& uniformValueMap) const noexcept {
102 materialProperties_->writeUniformValues(uniformValueMap);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.