- java.lang.Object
-
- javafx.scene.paint.Material
-
- javafx.scene.paint.PhongMaterial
-
public class PhongMaterial extends Material
ThePhongMaterialclass provides definitions of properties that represent a Phong shaded material. It describes the interaction of light with the surface of theMeshit is applied to. ThePhongMaterialreflects light in terms of a diffuse and specular component together with an ambient and a self illumination term. The color of a point on a geometric surface is mathematical function of these four components.The color is computed by the following equation:
wherefor 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]is the color of light source i,
L[i]is the vector from the surface to light source i,
Nis the normal vector (taking into the account the bumpMap if present),
R[i]is the normalized reflection vector for L[i] about the surface normal,
andVis the normalized view vector.- Since:
- JavaFX 8.0
- See Also:
AmbientLight,PointLight
-
-
Property Summary
Properties Type Property Description ObjectProperty<Image>bumpMapThe bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.ObjectProperty<Color>diffuseColorThe diffuse color of thisPhongMaterial.ObjectProperty<Image>diffuseMapThe diffuse map of thisPhongMaterial.ObjectProperty<Image>selfIlluminationMapThe self illumination map of thisPhongMaterial.ObjectProperty<Color>specularColorThe specular color of thisPhongMaterial.ObjectProperty<Image>specularMapThe specular map of thisPhongMaterial.DoublePropertyspecularPowerThe specular power of thisPhongMaterial.
-
Constructor Summary
Constructors Constructor Description PhongMaterial()Creates a new instance ofPhongMaterialclass with a default Color.WHITEdiffuseColorproperty.PhongMaterial(Color diffuseColor)Creates a new instance ofPhongMaterialclass using the specified color for itsdiffuseColorproperty.PhongMaterial(Color diffuseColor, Image diffuseMap, Image specularMap, Image bumpMap, Image selfIlluminationMap)Creates a new instance ofPhongMaterialclass using the specified colors and images for itsdiffuseColorproperties.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectProperty<Image>bumpMapProperty()The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.ObjectProperty<Color>diffuseColorProperty()The diffuse color of thisPhongMaterial.ObjectProperty<Image>diffuseMapProperty()The diffuse map of thisPhongMaterial.ImagegetBumpMap()Gets the value of the property bumpMap.ColorgetDiffuseColor()Gets the value of the property diffuseColor.ImagegetDiffuseMap()Gets the value of the property diffuseMap.ImagegetSelfIlluminationMap()Gets the value of the property selfIlluminationMap.ColorgetSpecularColor()Gets the value of the property specularColor.ImagegetSpecularMap()Gets the value of the property specularMap.doublegetSpecularPower()Gets the value of the property specularPower.ObjectProperty<Image>selfIlluminationMapProperty()The self illumination map of thisPhongMaterial.voidsetBumpMap(Image value)Sets the value of the property bumpMap.voidsetDiffuseColor(Color value)Sets the value of the property diffuseColor.voidsetDiffuseMap(Image value)Sets the value of the property diffuseMap.voidsetSelfIlluminationMap(Image value)Sets the value of the property selfIlluminationMap.voidsetSpecularColor(Color value)Sets the value of the property specularColor.voidsetSpecularMap(Image value)Sets the value of the property specularMap.voidsetSpecularPower(double value)Sets the value of the property specularPower.ObjectProperty<Color>specularColorProperty()The specular color of thisPhongMaterial.ObjectProperty<Image>specularMapProperty()The specular map of thisPhongMaterial.DoublePropertyspecularPowerProperty()The specular power of thisPhongMaterial.StringtoString()
-
-
-
Property Detail
-
diffuseColor
public final ObjectProperty<Color> diffuseColorProperty
The diffuse color of thisPhongMaterial.- Default value:
- Color.WHITE
- See Also:
getDiffuseColor(),setDiffuseColor(Color)
-
specularColor
public final ObjectProperty<Color> specularColorProperty
The specular color of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularColor(),setSpecularColor(Color)
-
specularPower
public final DoubleProperty specularPowerProperty
The specular power of thisPhongMaterial.- Default value:
- 32.0
- See Also:
getSpecularPower(),setSpecularPower(double)
-
diffuseMap
public final ObjectProperty<Image> diffuseMapProperty
The diffuse map of thisPhongMaterial.- Default value:
- null
- See Also:
getDiffuseMap(),setDiffuseMap(Image)
-
specularMap
public final ObjectProperty<Image> specularMapProperty
The specular map of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularMap(),setSpecularMap(Image)
-
bumpMap
public final ObjectProperty<Image> bumpMapProperty
The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.- Default value:
- null
- See Also:
getBumpMap(),setBumpMap(Image)
-
selfIlluminationMap
public final ObjectProperty<Image> selfIlluminationMapProperty
The self illumination map of thisPhongMaterial.- Default value:
- null
- See Also:
getSelfIlluminationMap(),setSelfIlluminationMap(Image)
-
-
Constructor Detail
-
PhongMaterial
public PhongMaterial()
Creates a new instance ofPhongMaterialclass with a default Color.WHITEdiffuseColorproperty.
-
PhongMaterial
public PhongMaterial(Color diffuseColor)
Creates a new instance ofPhongMaterialclass using the specified color for itsdiffuseColorproperty.- Parameters:
diffuseColor- the color of the diffuseColor property
-
PhongMaterial
public PhongMaterial(Color diffuseColor, Image diffuseMap, Image specularMap, Image bumpMap, Image selfIlluminationMap)
Creates a new instance ofPhongMaterialclass using the specified colors and images for itsdiffuseColorproperties.- Parameters:
diffuseColor- the color of the diffuseColor propertydiffuseMap- the image of the diffuseMap propertyspecularMap- the image of the specularMap propertybumpMap- the image of the bumpMap propertyselfIlluminationMap- the image of the selfIlluminationMap property
-
-
Method Detail
-
setDiffuseColor
public final void setDiffuseColor(Color value)
Sets the value of the property diffuseColor.- Property description:
- The diffuse color of this
PhongMaterial. - Default value:
- Color.WHITE
-
getDiffuseColor
public final Color getDiffuseColor()
Gets the value of the property diffuseColor.- Property description:
- The diffuse color of this
PhongMaterial. - Default value:
- Color.WHITE
-
diffuseColorProperty
public final ObjectProperty<Color> diffuseColorProperty()
The diffuse color of thisPhongMaterial.- Default value:
- Color.WHITE
- See Also:
getDiffuseColor(),setDiffuseColor(Color)
-
setSpecularColor
public final void setSpecularColor(Color value)
Sets the value of the property specularColor.- Property description:
- The specular color of this
PhongMaterial. - Default value:
- null
-
getSpecularColor
public final Color getSpecularColor()
Gets the value of the property specularColor.- Property description:
- The specular color of this
PhongMaterial. - Default value:
- null
-
specularColorProperty
public final ObjectProperty<Color> specularColorProperty()
The specular color of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularColor(),setSpecularColor(Color)
-
setSpecularPower
public final void setSpecularPower(double value)
Sets the value of the property specularPower.- Property description:
- The specular power of this
PhongMaterial. - Default value:
- 32.0
-
getSpecularPower
public final double getSpecularPower()
Gets the value of the property specularPower.- Property description:
- The specular power of this
PhongMaterial. - Default value:
- 32.0
-
specularPowerProperty
public final DoubleProperty specularPowerProperty()
The specular power of thisPhongMaterial.- Default value:
- 32.0
- See Also:
getSpecularPower(),setSpecularPower(double)
-
setDiffuseMap
public final void setDiffuseMap(Image value)
Sets the value of the property diffuseMap.- Property description:
- The diffuse map of this
PhongMaterial. - Default value:
- null
-
getDiffuseMap
public final Image getDiffuseMap()
Gets the value of the property diffuseMap.- Property description:
- The diffuse map of this
PhongMaterial. - Default value:
- null
-
diffuseMapProperty
public final ObjectProperty<Image> diffuseMapProperty()
The diffuse map of thisPhongMaterial.- Default value:
- null
- See Also:
getDiffuseMap(),setDiffuseMap(Image)
-
setSpecularMap
public final void setSpecularMap(Image value)
Sets the value of the property specularMap.- Property description:
- The specular map of this
PhongMaterial. - Default value:
- null
-
getSpecularMap
public final Image getSpecularMap()
Gets the value of the property specularMap.- Property description:
- The specular map of this
PhongMaterial. - Default value:
- null
-
specularMapProperty
public final ObjectProperty<Image> specularMapProperty()
The specular map of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularMap(),setSpecularMap(Image)
-
setBumpMap
public final void setBumpMap(Image value)
Sets the value of the property bumpMap.- Property description:
- The bump map of this
PhongMaterial, which is a normal map stored as a RGBImage. - Default value:
- null
-
getBumpMap
public final Image getBumpMap()
Gets the value of the property bumpMap.- Property description:
- The bump map of this
PhongMaterial, which is a normal map stored as a RGBImage. - Default value:
- null
-
bumpMapProperty
public final ObjectProperty<Image> bumpMapProperty()
The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.- Default value:
- null
- See Also:
getBumpMap(),setBumpMap(Image)
-
setSelfIlluminationMap
public final void setSelfIlluminationMap(Image value)
Sets the value of the property selfIlluminationMap.- Property description:
- The self illumination map of this
PhongMaterial. - Default value:
- null
-
getSelfIlluminationMap
public final Image getSelfIlluminationMap()
Gets the value of the property selfIlluminationMap.- Property description:
- The self illumination map of this
PhongMaterial. - Default value:
- null
-
selfIlluminationMapProperty
public final ObjectProperty<Image> selfIlluminationMapProperty()
The self illumination map of thisPhongMaterial.- Default value:
- null
- See Also:
getSelfIlluminationMap(),setSelfIlluminationMap(Image)
-
-