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>
bumpMap
The bump map of thisPhongMaterial
, which is a normal map stored as a RGBImage
.ObjectProperty<Color>
diffuseColor
The diffuse color of thisPhongMaterial
.ObjectProperty<Image>
diffuseMap
The diffuse map of thisPhongMaterial
.ObjectProperty<Image>
selfIlluminationMap
The self illumination map of thisPhongMaterial
.ObjectProperty<Color>
specularColor
The specular color of thisPhongMaterial
.ObjectProperty<Image>
specularMap
The specular map of thisPhongMaterial
.DoubleProperty
specularPower
The specular power of thisPhongMaterial
. -
Constructor Summary
Constructors Constructor Description PhongMaterial()
Creates a new instance ofPhongMaterial
class with a default Color.WHITEdiffuseColor
property.PhongMaterial(Color diffuseColor)
Creates a new instance ofPhongMaterial
class using the specified color for itsdiffuseColor
property.PhongMaterial(Color diffuseColor, Image diffuseMap, Image specularMap, Image bumpMap, Image selfIlluminationMap)
Creates a new instance ofPhongMaterial
class using the specified colors and images for itsdiffuseColor
properties. -
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
.Image
getBumpMap()
Gets the value of the property bumpMap.Color
getDiffuseColor()
Gets the value of the property diffuseColor.Image
getDiffuseMap()
Gets the value of the property diffuseMap.Image
getSelfIlluminationMap()
Gets the value of the property selfIlluminationMap.Color
getSpecularColor()
Gets the value of the property specularColor.Image
getSpecularMap()
Gets the value of the property specularMap.double
getSpecularPower()
Gets the value of the property specularPower.ObjectProperty<Image>
selfIlluminationMapProperty()
The self illumination map of thisPhongMaterial
.void
setBumpMap(Image value)
Sets the value of the property bumpMap.void
setDiffuseColor(Color value)
Sets the value of the property diffuseColor.void
setDiffuseMap(Image value)
Sets the value of the property diffuseMap.void
setSelfIlluminationMap(Image value)
Sets the value of the property selfIlluminationMap.void
setSpecularColor(Color value)
Sets the value of the property specularColor.void
setSpecularMap(Image value)
Sets the value of the property specularMap.void
setSpecularPower(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
.DoubleProperty
specularPowerProperty()
The specular power of thisPhongMaterial
.
-
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 ofPhongMaterial
class with a default Color.WHITEdiffuseColor
property. -
PhongMaterial
Creates a new instance ofPhongMaterial
class using the specified color for itsdiffuseColor
property.- 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 ofPhongMaterial
class using the specified colors and images for itsdiffuseColor
properties.- 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)
-