Partager via


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;

See also