- java.lang.Object
-
- javafx.scene.paint.Material
-
- javafx.scene.paint.PhongMaterial
-
public class PhongMaterial extends Material
PhongMaterial类提供了代表Phong阴影材料的属性的定义。 它描述了光与其应用的Mesh的表面的相互作用。PhongMaterial根据漫反射和镜面反射光以及环境和自身照明条件反射光。 几何表面上的点的颜色是这四个分量的数学函数。颜色由以下等式计算:
其中for each ambient light source i { ambient += lightColor[i] } for each point light source i { diffuse += (L[i] . N) * lightColor[i] specular += ((R[i] . V) ^ (specularPower * intensity(specularMap))) * lightColor[i] } color = (ambient + diffuse) * diffuseColor * diffuseMap + specular * specularColor * specularMap + selfIlluminationMaplightColor[i]是光源i的颜色,
L[i]是从表面到光源i的矢量,
N是正常的向量(如果存在,则将其加入到bumpMap中)
R[i]是关于表面法线的L [i]的归一化反射矢量,
V是归一化视图向量。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
AmbientLight,PointLight
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<Image>bumpMap这个PhongMaterial的凹凸贴图,这是一个正常的地图,存储为RGBImage。ObjectProperty<Color>diffuseColor这个漫反射颜色的这个PhongMaterial。ObjectProperty<Image>diffuseMap这个漫反射图PhongMaterial。ObjectProperty<Image>selfIlluminationMap这个自拍照片PhongMaterial。ObjectProperty<Color>specularColor这个镜面颜色是PhongMaterial。ObjectProperty<Image>specularMap这个PhongMaterial的镜面图。DoublePropertyspecularPower这镜子的力量这PhongMaterial。
-
构造方法摘要
构造方法 Constructor 描述 PhongMaterial()创建一个新的实例PhongMaterial类与默认Color.WHITEdiffuseColor属性。PhongMaterial(Color diffuseColor)使用指定的颜色为其diffuseColor属性创建一个新的实例PhongMaterial类。PhongMaterial(Color diffuseColor, Image diffuseMap, Image specularMap, Image bumpMap, Image selfIlluminationMap)使用指定的颜色和图像为其diffuseColor属性创建PhongMaterial类的新实例。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ObjectProperty<Image>bumpMapProperty()这个PhongMaterial的凹凸贴图,这是一个保存为RGBImage的法线贴图。ObjectProperty<Color>diffuseColorProperty()这个漫反射的颜色PhongMaterial。ObjectProperty<Image>diffuseMapProperty()这个漫反射图PhongMaterial。ImagegetBumpMap()获取属性bumpMap的值。ColorgetDiffuseColor()获取属性diffuseColor的值。ImagegetDiffuseMap()获取属性diffuseMap的值。ImagegetSelfIlluminationMap()获取属性selfIlluminationMap的值。ColorgetSpecularColor()获取属性specularColor的值。ImagegetSpecularMap()获取属性specularMap的值。doublegetSpecularPower()获取属性specularPower的值。ObjectProperty<Image>selfIlluminationMapProperty()这个自拍照片PhongMaterial。voidsetBumpMap(Image value)设置属性bumpMap的值。voidsetDiffuseColor(Color value)设置属性diffuseColor的值。voidsetDiffuseMap(Image value)设置propertyMap属性的值。voidsetSelfIlluminationMap(Image value)设置属性selfIlluminationMap的值。voidsetSpecularColor(Color value)设置属性specularColor的值。voidsetSpecularMap(Image value)设置属性specularMap的值。voidsetSpecularPower(double value)设置属性specularPower的值。ObjectProperty<Color>specularColorProperty()这镜子的颜色PhongMaterial。ObjectProperty<Image>specularMapProperty()这个PhongMaterial的镜面图。DoublePropertyspecularPowerProperty()这个镜面的力量这个PhongMaterial。StringtoString()返回对象的字符串表示形式。
-
-
-
Property Detail
-
diffuseColor
public final ObjectProperty<Color> diffuseColorProperty
这个漫反射颜色PhongMaterial。- Default value:
- Color.WHITE
- 另请参见:
-
getDiffuseColor(),setDiffuseColor(Color)
-
specularColor
public final ObjectProperty<Color> specularColorProperty
这个镜面颜色是PhongMaterial。- Default value:
- 空值
- 另请参见:
-
getSpecularColor(),setSpecularColor(Color)
-
specularPower
public final DoubleProperty specularPowerProperty
这镜子的力量这个PhongMaterial。- Default value:
- 32.0
- 另请参见:
-
getSpecularPower(),setSpecularPower(double)
-
diffuseMap
public final ObjectProperty<Image> diffuseMapProperty
这个漫反射图PhongMaterial。- Default value:
- 空值
- 另请参见:
-
getDiffuseMap(),setDiffuseMap(Image)
-
specularMap
public final ObjectProperty<Image> specularMapProperty
这个PhongMaterial的镜面图。- Default value:
- 空值
- 另请参见:
-
getSpecularMap(),setSpecularMap(Image)
-
bumpMap
public final ObjectProperty<Image> bumpMapProperty
这个PhongMaterial的凹凸贴图,这是一个存储为RGBImage的法线贴图。- Default value:
- 空值
- 另请参见:
-
getBumpMap(),setBumpMap(Image)
-
selfIlluminationMap
public final ObjectProperty<Image> selfIlluminationMapProperty
这个PhongMaterial的自我照明图。- Default value:
- 空值
- 另请参见:
-
getSelfIlluminationMap(),setSelfIlluminationMap(Image)
-
-
构造方法详细信息
-
PhongMaterial
public PhongMaterial()
使用默认的Color.WHITEdiffuseColor属性创建一个PhongMaterial类的新实例。
-
PhongMaterial
public PhongMaterial(Color diffuseColor)
使用指定的颜色为其diffuseColor属性创建一个PhongMaterial类的新实例。- 参数
-
diffuseColor- diffuseColor属性的颜色
-
PhongMaterial
public PhongMaterial(Color diffuseColor, Image diffuseMap, Image specularMap, Image bumpMap, Image selfIlluminationMap)
使用指定的颜色和图像为其diffuseColor属性创建一个PhongMaterial类的新实例。- 参数
-
diffuseColor- diffuseColor属性的颜色 -
diffuseMap- diffuseMap属性的图像 -
specularMap- specularMap属性的图像 -
bumpMap- bumpMap属性的图像 -
selfIlluminationMap- selfIlluminationMap属性的图像
-
-
方法详细信息
-
setDiffuseColor
public final void setDiffuseColor(Color value)
设置属性diffuseColor的值。- Property description:
-
这个漫反射的颜色
PhongMaterial。 - Default value:
- Color.WHITE
-
getDiffuseColor
public final Color getDiffuseColor()
获取属性diffuseColor的值。- Property description:
-
这个漫反射的颜色
PhongMaterial。 - Default value:
- Color.WHITE
-
diffuseColorProperty
public final ObjectProperty<Color> diffuseColorProperty()
这个漫反射的颜色这个PhongMaterial。- Default value:
- Color.WHITE
- 另请参见:
-
getDiffuseColor(),setDiffuseColor(Color)
-
setSpecularColor
public final void setSpecularColor(Color value)
设置属性specularColor的值。- Property description:
-
这个镜面颜色
PhongMaterial。 - Default value:
- 空值
-
getSpecularColor
public final Color getSpecularColor()
获取属性specularColor的值。- Property description:
-
这镜子的颜色
PhongMaterial。 - Default value:
- 空值
-
specularColorProperty
public final ObjectProperty<Color> specularColorProperty()
这镜子的颜色PhongMaterial。- Default value:
- 空值
- 另请参见:
-
getSpecularColor(),setSpecularColor(Color)
-
setSpecularPower
public final void setSpecularPower(double value)
设置属性specularPower的值。- Property description:
-
这镜子的力量这个
PhongMaterial。 - Default value:
- 32.0
-
getSpecularPower
public final double getSpecularPower()
获取属性specularPower的值。- Property description:
-
这镜子的力量这个
PhongMaterial。 - Default value:
- 32.0
-
specularPowerProperty
public final DoubleProperty specularPowerProperty()
这镜子的力量这PhongMaterial。- Default value:
- 32.0
- 另请参见:
-
getSpecularPower(),setSpecularPower(double)
-
setDiffuseMap
public final void setDiffuseMap(Image value)
设置propertyMap属性的值。- Property description:
-
这个漫反射图
PhongMaterial。 - Default value:
- 空值
-
getDiffuseMap
public final Image getDiffuseMap()
获取属性diffuseMap的值。- Property description:
-
这个漫反射图
PhongMaterial。 - Default value:
- 空值
-
diffuseMapProperty
public final ObjectProperty<Image> diffuseMapProperty()
这个漫反射图PhongMaterial。- Default value:
- 空值
- 另请参见:
-
getDiffuseMap(),setDiffuseMap(Image)
-
setSpecularMap
public final void setSpecularMap(Image value)
设置属性specularMap的值。- Property description:
-
这个
PhongMaterial的镜面图。 - Default value:
- 空值
-
getSpecularMap
public final Image getSpecularMap()
获取属性specularMap的值。- Property description:
-
这个
PhongMaterial的镜面图。 - Default value:
- 空值
-
specularMapProperty
public final ObjectProperty<Image> specularMapProperty()
这个PhongMaterial的镜面图。- Default value:
- 空值
- 另请参见:
-
getSpecularMap(),setSpecularMap(Image)
-
setBumpMap
public final void setBumpMap(Image value)
设置属性bumpMap的值。- Property description:
-
这个
PhongMaterial的凹凸贴图,这是一个保存为RGBImage的法线贴图。 - Default value:
- 空值
-
getBumpMap
public final Image getBumpMap()
获取属性bumpMap的值。- Property description:
-
这个
PhongMaterial的凹凸贴图,这是一个保存为RGBImage的普通地图。 - Default value:
- 空值
-
bumpMapProperty
public final ObjectProperty<Image> bumpMapProperty()
这个PhongMaterial的凹凸贴图,它是一个存储为RGBImage的法线贴图。- Default value:
- 空值
- 另请参见:
-
getBumpMap(),setBumpMap(Image)
-
setSelfIlluminationMap
public final void setSelfIlluminationMap(Image value)
设置属性selfIlluminationMap的值。- Property description:
-
这个自拍照片
PhongMaterial。 - Default value:
- 空值
-
getSelfIlluminationMap
public final Image getSelfIlluminationMap()
获取属性selfIlluminationMap的值。- Property description:
-
这个自拍照片
PhongMaterial。 - Default value:
- 空值
-
selfIlluminationMapProperty
public final ObjectProperty<Image> selfIlluminationMapProperty()
这个自拍照片PhongMaterial。- Default value:
- 空值
- 另请参见:
-
getSelfIlluminationMap(),setSelfIlluminationMap(Image)
-
-