ShaderMaterial

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

public class ShaderMaterial extends Material

着色器材质允许通过外部渲染引擎或着色器语言来描述材质。ShaderMaterial 使用 ShaderTechnique 来描述具体的渲染细节,并且会根据最终渲染平台选择最合适的技术。例如,您的 ShaderMaterial 实例可以拥有两种技术,一种由 HLSL 定义,另一种由 GLSL 定义。在非 Windows 平台上应使用 GLSL 而不是 HLSL

构造函数

构造函数描述
ShaderMaterial()初始化 ShaderMaterial 类的新实例。
ShaderMaterial(String name)初始化 ShaderMaterial 类的新实例。

字段

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

方法

方法描述
equals(Object arg0)
findProperty(String propertyName)查找属性。
getClass()
getName()获取名称。
getProperties()获取所有属性的集合。
getProperty(String property)获取指定属性的值
getTechniques()获取此材质中定义的所有可用技术。
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)

ShaderMaterial()

public ShaderMaterial()

初始化 ShaderMaterial 类的新实例。

ShaderMaterial(String name)

public ShaderMaterial(String name)

初始化 ShaderMaterial 类的新实例。

Parameters:

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

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 - 找到的属性的值

getTechniques()

public List<ShaderTechnique> getTechniques()

获取此材质中定义的所有可用技术。

Returns: java.util.List<com.aspose.threed.ShaderTechnique> - 此材质中定义的所有可用技术。

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 |  |