Class Material
Definition
- Assembly:
- Tizen.NUI.Scene3D.dll
Class for setting Material properties of 3D models.
public class Material : BaseHandle, IDynamicResourceHandler, INameScope, System.IDisposable
- Inheritance
- Implements
-
System.IDisposable
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
Examples
Material material = new Material();
ModelPrimitive modelPrimitive = new ModelPrimitive();
modelPrimitive.Material = material;
Constructors
View SourceMaterial()
Create an initialized Material.
Declaration
public Material()
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
Material(Material)
Copy constructor.
Declaration
public Material(Material material)
Parameters
Type | Name | Description |
---|---|---|
Material | material | Source object to copy. |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
Properties
View SourceAlphaCutoff
Property for the alpha cutoff value of the material.
Declaration
public float AlphaCutoff { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
AlphaMode
Property for the alpha blending mode of the material.
Declaration
public MaterialAlphaModeType AlphaMode { get; set; }
Property Value
Type | Description |
---|---|
MaterialAlphaModeType |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
BaseColorFactor
Property for the base color factor of the material.
Declaration
public Vector4 BaseColorFactor { get; set; }
Property Value
Type | Description |
---|---|
Vector4 |
Remarks
This factor is multiplied with the base color of the material.
BaseColorUrl
Property for the URL of the base color texture.
Declaration
public string BaseColorUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This texture represents the base color of the material.
DepthIndex
Property to define rendering order.
Declaration
public int DepthIndex { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Depth index is used to defind rendering order. Basically, a Renderer that has smaller depth index is rendered earlier. In the ordinary DALI UI components has 0 as depth index by default. (For the case of Toolkit::Control, its renderer has depth index value between [-20, 20] as fallowing the renderer's purpose)
In the Scene3D cases, the rendering order of each Renderer may need to be manually defined to match scene developer's intent. Scene3D::DepthIndex::Ranges could be used to adjust rendering order between 3D Scene content. Or it also could be used to manage UI component in 3D Scene independently.
Changing the depth index only affects the rendering order, and does not mean that objects drawn later will be drawn on top. To compute final rendering order, whether the object is opaque or non-opaque takes precedence over the depth index. Changing the rendering order among translucent objects has a significant impact on the rendering results.
The predefined depth index range is definded in MaterialDepthIndexRange.
DoubleSided
Property for the double sided material flag.
Declaration
public bool DoubleSided { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
EmissiveFactor
Property for the emissive factor of the material.
Declaration
public Vector3 EmissiveFactor { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
EmissiveUrl
Property for the URL of the emissive texture.
Declaration
public string EmissiveUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
Ior
Property for the index of refraction of the material.
Declaration
public float Ior { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
MetallicFactor
Property for the metallic factor of the material.
Declaration
public float MetallicFactor { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This factor is multiplied with the metallicness of the material.
MetallicRoughnessUrl
Property for the URL of the metallic roughness texture.
Declaration
public string MetallicRoughnessUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This texture represents the metallicness and roughness of the material.
Name
The name of the Material.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This Name property is for setting the name of Material. The name can be used to identify the Material.
NormalScale
Property for the scale of the normal texture.
Declaration
public float NormalScale { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
NormalUrl
Property for the URL of the normal texture.
Declaration
public string NormalUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
OcclusionStrength
Property for the strength of the occlusion texture.
Declaration
public float OcclusionStrength { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
OcclusionUrl
Property for the URL of the occlusion texture.
Declaration
public string OcclusionUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
RoughnessFactor
Property for the roughness factor of the material.
Declaration
public float RoughnessFactor { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This factor is multiplied with the roughness of the material.
SpecularColorFactor
Property for the specular color factor of the material.
Declaration
public Vector3 SpecularColorFactor { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
SpecularColorUrl
Property for the URL of the specular color texture.
Declaration
public string SpecularColorUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
SpecularFactor
Property for the specular factor of the material.
Declaration
public float SpecularFactor { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
SpecularUrl
Property for the URL of the specular texture.
Declaration
public string SpecularUrl { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
Methods
View SourceGetSampler(MaterialTextureType)
Gets the sampler of the ModelNode object for the specified texture type.
Declaration
public Sampler GetSampler(MaterialTextureType textureType)
Parameters
Type | Name | Description |
---|---|---|
MaterialTextureType | textureType | The TextureType of the sampler to get. |
Returns
Type | Description |
---|---|
Sampler | The Sampler object of the ModelNode object for the specified texture type. |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
GetTexture(MaterialTextureType)
Gets the texture of the ModelNode object for the specified texture type.
Declaration
public Texture GetTexture(MaterialTextureType textureType)
Parameters
Type | Name | Description |
---|---|---|
MaterialTextureType | textureType | The TextureType of the texture to get. |
Returns
Type | Description |
---|---|
Texture | The Texture object of the ModelNode object for the specified texture type. |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
ReleaseSwigCPtr(HandleRef)
Release swigCPtr.
Declaration
protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
Parameters
Type | Name | Description |
---|---|---|
System.Runtime.InteropServices.HandleRef | swigCPtr |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
SetSampler(MaterialTextureType, Sampler)
Sets the sampler of the ModelNode object for the specified texture type.
Declaration
public void SetSampler(MaterialTextureType textureType, Sampler sampler)
Parameters
Type | Name | Description |
---|---|---|
MaterialTextureType | textureType | The TextureType of the sampler to set. |
Sampler | sampler | The Sampler object to set. |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.
SetTexture(MaterialTextureType, Texture)
Sets the texture of the ModelNode object for the specified texture type.
Declaration
public void SetTexture(MaterialTextureType textureType, Texture texture)
Parameters
Type | Name | Description |
---|---|---|
MaterialTextureType | textureType | The TextureType of the texture to set. |
Texture | texture | The Texture object to set. |
Remarks
This Material class is for setting Material properties of 3D models. This Material supports properties and textures for PBR. Also, Material can be shared with multiple ModelPrimitives and if the value is modified, the rendering results of all ModelPrimitives using this Material will be changed.