Material

Inheritance: java.lang.Object, com.aspose.threed.A3DObject

All Implemented Interfaces: java.lang.Iterable

public abstract class Material extends A3DObject implements Iterable<TextureSlot>

Material 定义几何体视觉外观所需的参数。Aspose.3D 提供针对 LambertMaterial, PhongMaterialShaderMaterial 的着色模型 示例:

var mat = new LambertMaterial();
     var tex = new Texture();
     tex.setFileName("diffuse.png");
     mat.setTexture(Material.MAP_DIFFUSE, tex);
     for(var slot : mat)
     {
         System.out.printf("Texture slot %s = %s", slot.getSlotName(), slot.getTexture());
     }

字段

字段描述
MAP_AMBIENTsetTexture 中用于分配环境纹理映射。
MAP_DIFFUSEsetTexture 中用于分配漫反射纹理映射。
MAP_EMISSIVEsetTexture 中用于分配自发光纹理映射。
MAP_NORMALsetTexture 中用于分配法线纹理映射。
MAP_SPECULARsetTexture 中用于分配高光纹理映射。

方法

方法描述
equals(Object arg0)
findProperty(String propertyName)查找属性。
getClass()
getName()获取名称。
getProperties()获取所有属性的集合。
getProperty(String property)获取指定属性的值
getTexture(String slotName)从指定槽获取纹理,它可以是材质的属性名称或着色器的参数名称。
hashCode()
iterator()获取枚举器以遍历内部纹理槽。
notify()
notifyAll()
removeProperty(Property property)移除动态属性。
removeProperty(String property)移除通过名称标识的指定属性
setName(String value)设置名称。
setProperty(String property, Object value)设置指定属性的值
setTexture(String slotName, TextureBase texture)将纹理设置到指定槽
toString()将对象格式化为字符串
wait()
wait(long arg0)
wait(long arg0, int arg1)

MAP_AMBIENT

public static final String MAP_AMBIENT

setTexture 中用于分配环境纹理映射。

MAP_DIFFUSE

public static final String MAP_DIFFUSE

setTexture 中用于分配漫反射纹理映射。

MAP_EMISSIVE

public static final String MAP_EMISSIVE

setTexture 中用于分配自发光纹理映射。

MAP_NORMAL

public static final String MAP_NORMAL

setTexture 中用于分配法线纹理映射。

MAP_SPECULAR

public static final String MAP_SPECULAR

setTexture 中用于分配高光纹理映射。

equals(Object arg0)

public boolean equals(Object arg0)

Parameters:

参数类型描述
arg0java.lang.Object

Returns: 布尔

findProperty(String propertyName)

public Property findProperty(String propertyName)

查找属性。它可以是动态属性(由 CreateDynamicProperty/SetProperty 创建)或本机属性(通过其名称标识)

Parameters:

参数类型描述
propertyNamejava.lang.String属性名称。

Returns: Property - The property.

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getName()

public String getName()

获取名称。

Returns: java.lang.String - 名称。

getProperties()

public PropertyCollection getProperties()

获取所有属性的集合。

Returns: PropertyCollection - the collection of all properties.

getProperty(String property)

public Object getProperty(String property)

获取指定属性的值

Parameters:

参数类型描述
属性java.lang.String属性名称

Returns: java.lang.Object - 找到的属性的值

getTexture(String slotName)

public TextureBase getTexture(String slotName)

从指定槽获取纹理,它可以是材质的属性名称或着色器的参数名称。

Parameters:

参数类型描述
slotNamejava.lang.String槽名称。

Returns: TextureBase - The texture. Example:

var mat = new LambertMaterial();
     var tex = new Texture();
     tex.setFileName("diffuse.png");
     mat.setTexture(Material.MAP_DIFFUSE, tex);
     tex = (Texture)mat.getTexture(Material.MAP_DIFFUSE);

hashCode()

public native int hashCode()

Returns: int

iterator()

public Iterator<TextureSlot> iterator()

获取枚举器以遍历内部纹理槽。

Returns: java.util.Iterator<com.aspose.threed.TextureSlot>

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

removeProperty(Property property)

public boolean removeProperty(Property property)

移除动态属性。

Parameters:

参数类型描述
propertyProperty要删除哪个属性

Returns: boolean - 如果属性成功删除则为 true

removeProperty(String property)

public boolean removeProperty(String property)

移除通过名称标识的指定属性

Parameters:

参数类型描述
属性java.lang.String要删除哪个属性

Returns: boolean - 如果属性成功删除则为 true

setName(String value)

public void setName(String value)

设置名称。

Parameters:

参数类型描述
java.lang.String新值

setProperty(String property, Object value)

public void setProperty(String property, Object value)

设置指定属性的值

Parameters:

参数类型描述
属性java.lang.String属性名称
java.lang.Object属性的值

setTexture(String slotName, TextureBase texture)

public void setTexture(String slotName, TextureBase texture)

将纹理设置到指定槽

Parameters:

参数类型描述
slotNamejava.lang.String槽名称。
textureTextureBase
var mat = new LambertMaterial();
     var tex = new Texture();
     tex.setFileName("diffuse.png");
     mat.setTexture(Material.MAP_NORMAL, tex);
``` |

### toString() {#toString--}

public String toString()



将对象格式化为字符串

**Returns:**
java.lang.String - 对象字符串
### wait() {#wait--}

public final void wait()





### wait(long arg0) {#wait-long-}

public final void wait(long arg0)





**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long |  |

### wait(long arg0, int arg1) {#wait-long-int-}

public final void wait(long arg0, int arg1)





**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |