- 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 + selfIlluminationMap
lightColor[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
的镜面图。DoubleProperty
specularPower
这镜子的力量这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
。Image
getBumpMap()
获取属性bumpMap的值。Color
getDiffuseColor()
获取属性diffuseColor的值。Image
getDiffuseMap()
获取属性diffuseMap的值。Image
getSelfIlluminationMap()
获取属性selfIlluminationMap的值。Color
getSpecularColor()
获取属性specularColor的值。Image
getSpecularMap()
获取属性specularMap的值。double
getSpecularPower()
获取属性specularPower的值。ObjectProperty<Image>
selfIlluminationMapProperty()
这个自拍照片PhongMaterial
。void
setBumpMap(Image value)
设置属性bumpMap的值。void
setDiffuseColor(Color value)
设置属性diffuseColor的值。void
setDiffuseMap(Image value)
设置propertyMap属性的值。void
setSelfIlluminationMap(Image value)
设置属性selfIlluminationMap的值。void
setSpecularColor(Color value)
设置属性specularColor的值。void
setSpecularMap(Image value)
设置属性specularMap的值。void
setSpecularPower(double value)
设置属性specularPower的值。ObjectProperty<Color>
specularColorProperty()
这镜子的颜色PhongMaterial
。ObjectProperty<Image>
specularMapProperty()
这个PhongMaterial
的镜面图。DoubleProperty
specularPowerProperty()
这个镜面的力量这个PhongMaterial
。String
toString()
返回对象的字符串表示形式。
-
-
-
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)
-
-