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



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;


Name Type Description
other Material The material from which to copy properties.



auto GetMaterialSubType() const noexcept -> Microsoft::Azure::RemoteRendering::MaterialType;


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;


The exact type of this resource.

auto GetType() const noexcept -> Microsoft::Azure::RemoteRendering::ObjectType;


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;

See also