java.lang.Object
javafx.scene.paint.Material
javafx.scene.paint.PhongMaterial
public class PhongMaterial extends Material
The
and
PhongMaterial class provides definitions of properties that
represent a Phong shaded material. It describes the interaction of
light with the surface of the Mesh it is applied to. The PhongMaterial
reflects 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:
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
where
lightColor[i] is the color of light source i,L[i] is the vector from the surface to light source i,N is 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,and
V is 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
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 Details
-
diffuseColor
The diffuse color of thisPhongMaterial.- Default value:
- Color.WHITE
- See Also:
getDiffuseColor(),setDiffuseColor(Color)
-
specularColor
The specular color of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularColor(),setSpecularColor(Color)
-
specularPower
The specular power of thisPhongMaterial.- Default value:
- 32.0
- See Also:
getSpecularPower(),setSpecularPower(double)
-
diffuseMap
The diffuse map of thisPhongMaterial.- Default value:
- null
- See Also:
getDiffuseMap(),setDiffuseMap(Image)
-
specularMap
The specular map of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularMap(),setSpecularMap(Image)
-
bumpMap
The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.- Default value:
- null
- See Also:
getBumpMap(),setBumpMap(Image)
-
selfIlluminationMap
The self illumination map of thisPhongMaterial.- Default value:
- null
- See Also:
getSelfIlluminationMap(),setSelfIlluminationMap(Image)
-
-
Constructor Details
-
PhongMaterial
public PhongMaterial()Creates a new instance ofPhongMaterialclass with a default Color.WHITEdiffuseColorproperty. -
PhongMaterial
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 Details
-
setDiffuseColor
Sets the value of the property diffuseColor.- Property description:
- The diffuse color of this
PhongMaterial. - Default value:
- Color.WHITE
-
getDiffuseColor
Gets the value of the property diffuseColor.- Property description:
- The diffuse color of this
PhongMaterial. - Default value:
- Color.WHITE
-
diffuseColorProperty
The diffuse color of thisPhongMaterial.- Default value:
- Color.WHITE
- See Also:
getDiffuseColor(),setDiffuseColor(Color)
-
setSpecularColor
Sets the value of the property specularColor.- Property description:
- The specular color of this
PhongMaterial. - Default value:
- null
-
getSpecularColor
Gets the value of the property specularColor.- Property description:
- The specular color of this
PhongMaterial. - Default value:
- null
-
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
The specular power of thisPhongMaterial.- Default value:
- 32.0
- See Also:
getSpecularPower(),setSpecularPower(double)
-
setDiffuseMap
Sets the value of the property diffuseMap.- Property description:
- The diffuse map of this
PhongMaterial. - Default value:
- null
-
getDiffuseMap
Gets the value of the property diffuseMap.- Property description:
- The diffuse map of this
PhongMaterial. - Default value:
- null
-
diffuseMapProperty
The diffuse map of thisPhongMaterial.- Default value:
- null
- See Also:
getDiffuseMap(),setDiffuseMap(Image)
-
setSpecularMap
Sets the value of the property specularMap.- Property description:
- The specular map of this
PhongMaterial. - Default value:
- null
-
getSpecularMap
Gets the value of the property specularMap.- Property description:
- The specular map of this
PhongMaterial. - Default value:
- null
-
specularMapProperty
The specular map of thisPhongMaterial.- Default value:
- null
- See Also:
getSpecularMap(),setSpecularMap(Image)
-
setBumpMap
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
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
The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.- Default value:
- null
- See Also:
getBumpMap(),setBumpMap(Image)
-
setSelfIlluminationMap
Sets the value of the property selfIlluminationMap.- Property description:
- The self illumination map of this
PhongMaterial. - Default value:
- null
-
getSelfIlluminationMap
Gets the value of the property selfIlluminationMap.- Property description:
- The self illumination map of this
PhongMaterial. - Default value:
- null
-
selfIlluminationMapProperty
The self illumination map of thisPhongMaterial.- Default value:
- null
- See Also:
getSelfIlluminationMap(),setSelfIlluminationMap(Image)
-
toString
-