Class Material
Materials are shared resources used to describe the rendering properties of a Mesh.
A material specifies which textures to use and how to apply lighting to geometry. This class is the base class for all material resources. Derived classes determine the exact appearance.
If a material is modified, all meshes that reference the material will be affected. To modify only the material of a specific object you need to create a dedicated material and replace the material reference on the MeshComponent to point to the custom material.
class Microsoft::Azure::RemoteRendering::Material : public Microsoft::Azure::RemoteRendering::ResourceBase
Methods
CopyFrom
Copies material properties from another material.
If the material types don't match, only common properties such as albedo color and texture are copied.
A Result.InvalidParam error occurs if 'other' is an invalid material.
auto CopyFrom(ApiHandle<Microsoft::Azure::RemoteRendering::Material> const& other) noexcept -> Microsoft::Azure::RemoteRendering::Status;
Parameters
Name | Type | Description |
---|---|---|
other |
Material | The material from which to copy properties. |
Properties
MaterialSubType
Which kind of material this is.
auto GetMaterialSubType() const noexcept -> Microsoft::Azure::RemoteRendering::MaterialType;
Name
The name of this material.
A Result.StringTooLong error occurs if the given string is excessively long.
auto GetName(std::string & out) const noexcept -> void;
auto SetName(std::string const& value) noexcept -> Microsoft::Azure::RemoteRendering::Status;
Type
The exact type of this resource.
auto GetType() const noexcept -> Microsoft::Azure::RemoteRendering::ObjectType;
Valid
Whether this resource is still valid.
A resource is invalid if it has been destroyed or if the connection has been lost. It is an error to call any other function on an invalid object.
auto GetValid() const noexcept -> bool;