|
Toast Engine
|
Shader-driven material asset. More...
#include <material.hpp>


Public Member Functions | |
| Material (const toml::table &table, Handle< Schema > schema={}) | |
| auto | type () const -> std::string_view override |
| auto | serialize (SaveMode mode) const -> std::vector< uint8_t > override |
| void | reload (const toml::table &table) override |
| Re-parses the asset contents in place. | |
| auto | name () const -> std::string |
| Display name of the material. | |
| virtual auto | shaders () const -> const std::vector< Handle< Shader > > & |
| virtual auto | settings () const -> MaterialSettings |
| virtual auto | value (std::string_view key) const -> const DataValue * |
| Looks up a shader parameter value by name. | |
| virtual auto | rootMaterial () -> Material * |
| The material owning the render pass, instances return their parent. | |
| Public Member Functions inherited from assets::Data | |
| Data (const toml::table &table, Handle< Schema > schema={}) | |
| Data (const toml::table &table, Handle< Schema > schema, KeepAllKeysTag) | |
| Stores the schema handle for round-trip serialization but runs free-form buildRoot, keeping every TOML key. | |
| auto | operator[] (std::string_view k) -> DataValue & |
| auto | operator[] (std::string_view k) const -> const DataValue & |
| auto | contains (std::string_view k) const -> bool |
| auto | root () const -> const DataValue & |
| auto | schema () const -> const Handle< Schema > & |
| Public Member Functions inherited from assets::Asset | |
| Asset (const Asset &)=delete | |
| auto | operator= (const Asset &) -> Asset &=delete |
| auto | refCount () const noexcept -> uint32_t |
Additional Inherited Members | |
| Static Public Attributes inherited from assets::Data | |
| static constexpr KeepAllKeysTag | keep_all_keys {} |
| Protected Member Functions inherited from assets::Data | |
| virtual void | onReloaded () |
| Protected Member Functions inherited from assets::Asset | |
| void | addRef () noexcept |
| void | release () noexcept |
| Protected Attributes inherited from assets::Data | |
| DataValue | m_root |
| Object DataValue holding all fields. | |
| Handle< Schema > | m_schema |
| optional | |
| bool | m_keep_all_keys = false |
Shader-driven material asset.
The shaders array defines which shader assets the material renders with; every other key holds a value for a shader parameter discovered via reflection
The trailing settings table carries fixed-function state
|
overridevirtual |
Re-parses the asset contents in place.
Reimplemented from assets::Data.
Reimplemented in assets::MaterialInstance.

|
inlinenodiscardvirtual |
The material owning the render pass, instances return their parent.
Reimplemented in assets::MaterialInstance.
|
nodiscardoverridevirtual |
Reimplemented from assets::Data.
|
inlinenodiscardoverridevirtual |
Reimplemented from assets::Data.
|
nodiscardvirtual |
Looks up a shader parameter value by name.
Reimplemented in assets::MaterialInstance.
