Class MeshComponent

Renders a mesh at the position of the Entity.

The referenced MeshComponent.Mesh is rendered at the location of the owner entity. The mesh component also allows to override the materials that are used for rendering. If the mesh has been converted with collision information, it will also participate in spatial queries.

class Microsoft::Azure::RemoteRendering::MeshComponent final : public Microsoft::Azure::RemoteRendering::ComponentBase



Sets an override material for a given material slot.

A Result.IndexOutOfRange error occurs if 'idx' is outside the valid range.

auto SetMaterial(int32_t idx, ApiHandle<Microsoft::Azure::RemoteRendering::Material> const& material) noexcept -> Microsoft::Azure::RemoteRendering::Status;


Name Type Description
idx int A valid index into the array.
material Material The material to set as the override. Passing null clears any previous override, such that the mesh's default material is used again.



Returns the list of materials set on this component.

These are materials that were specifically set to override the default mesh materials, through SetMaterial(). The array will always be the same size as Mesh.Materials, however, entries for which no override is set, will be null.

auto GetMaterials(std::vector<ApiHandle<Microsoft::Azure::RemoteRendering::Material>> & out) const noexcept -> void;

See also


The Mesh used for rendering and spatial queries.

auto GetMesh() const noexcept -> ApiHandle<Microsoft::Azure::RemoteRendering::Mesh>;
auto SetMesh(ApiHandle<Microsoft::Azure::RemoteRendering::Mesh> const& value) noexcept -> Microsoft::Azure::RemoteRendering::Status;


Returns the list of actually used materials for rendering the mesh.

The array will either contain the override material (MeshComponent.Materials) or, if no override was set, the default material of the referenced MeshComponent.Mesh.

auto GetUsedMaterials(std::vector<ApiHandle<Microsoft::Azure::RemoteRendering::Material>> & out) const noexcept -> void;

See also

See also