java.lang.Object
javafx.scene.paint.Material
javafx.scene.paint.PhongMaterial
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:
-
Property Summary
PropertiesTypePropertyDescriptionfinal ObjectProperty<Image>The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.final ObjectProperty<Color>The diffuse color of thisPhongMaterial.final ObjectProperty<Image>The diffuse map of thisPhongMaterial.final ObjectProperty<Image>The self illumination map of thisPhongMaterial.final ObjectProperty<Color>The specular color of thisPhongMaterial.final ObjectProperty<Image>The specular map of thisPhongMaterial.final DoublePropertyThe specular power of thisPhongMaterial. -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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 TypeMethodDescriptionfinal ObjectProperty<Image>The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.final ObjectProperty<Color>The diffuse color of thisPhongMaterial.final ObjectProperty<Image>The diffuse map of thisPhongMaterial.final ImageGets the value of thebumpMapproperty.final ColorGets the value of thediffuseColorproperty.final ImageGets the value of thediffuseMapproperty.final ImageGets the value of theselfIlluminationMapproperty.final ColorGets the value of thespecularColorproperty.final ImageGets the value of thespecularMapproperty.final doubleGets the value of thespecularPowerproperty.final ObjectProperty<Image>The self illumination map of thisPhongMaterial.final voidsetBumpMap(Image value) Sets the value of thebumpMapproperty.final voidsetDiffuseColor(Color value) Sets the value of thediffuseColorproperty.final voidsetDiffuseMap(Image value) Sets the value of thediffuseMapproperty.final voidsetSelfIlluminationMap(Image value) Sets the value of theselfIlluminationMapproperty.final voidsetSpecularColor(Color value) Sets the value of thespecularColorproperty.final voidsetSpecularMap(Image value) Sets the value of thespecularMapproperty.final voidsetSpecularPower(double value) Sets the value of thespecularPowerproperty.final ObjectProperty<Color>The specular color of thisPhongMaterial.final ObjectProperty<Image>The specular map of thisPhongMaterial.final DoublePropertyThe specular power of thisPhongMaterial.
-
Property Details
-
diffuseColor
The diffuse color of thisPhongMaterial.- Default value:
- Color.WHITE
- See Also:
-
specularColor
The specular color of thisPhongMaterial.- Default value:
- null
- See Also:
-
specularPower
The specular power of thisPhongMaterial.- Default value:
- 32.0
- See Also:
-
diffuseMap
The diffuse map of thisPhongMaterial.- Default value:
- null
- See Also:
-
specularMap
The specular map of thisPhongMaterial.- Default value:
- null
- See Also:
-
bumpMap
The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.- Default value:
- null
- See Also:
-
selfIlluminationMap
The self illumination map of thisPhongMaterial.- Default value:
- null
- See Also:
-
-
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 thediffuseColorproperty.- Property description:
- The diffuse color of this
PhongMaterial. - Default value:
- Color.WHITE
- Parameters:
value- the value for thediffuseColorproperty- See Also:
-
getDiffuseColor
Gets the value of thediffuseColorproperty.- Property description:
- The diffuse color of this
PhongMaterial. - Default value:
- Color.WHITE
- Returns:
- the value of the
diffuseColorproperty - See Also:
-
diffuseColorProperty
The diffuse color of thisPhongMaterial.- Default value:
- Color.WHITE
- Returns:
- the
diffuseColorproperty - See Also:
-
setSpecularColor
Sets the value of thespecularColorproperty.- Property description:
- The specular color of this
PhongMaterial. - Default value:
- null
- Parameters:
value- the value for thespecularColorproperty- See Also:
-
getSpecularColor
Gets the value of thespecularColorproperty.- Property description:
- The specular color of this
PhongMaterial. - Default value:
- null
- Returns:
- the value of the
specularColorproperty - See Also:
-
specularColorProperty
The specular color of thisPhongMaterial.- Default value:
- null
- Returns:
- the
specularColorproperty - See Also:
-
setSpecularPower
public final void setSpecularPower(double value) Sets the value of thespecularPowerproperty.- Property description:
- The specular power of this
PhongMaterial. - Default value:
- 32.0
- Parameters:
value- the value for thespecularPowerproperty- See Also:
-
getSpecularPower
public final double getSpecularPower()Gets the value of thespecularPowerproperty.- Property description:
- The specular power of this
PhongMaterial. - Default value:
- 32.0
- Returns:
- the value of the
specularPowerproperty - See Also:
-
specularPowerProperty
The specular power of thisPhongMaterial.- Default value:
- 32.0
- Returns:
- the
specularPowerproperty - See Also:
-
setDiffuseMap
Sets the value of thediffuseMapproperty.- Property description:
- The diffuse map of this
PhongMaterial. - Default value:
- null
- Parameters:
value- the value for thediffuseMapproperty- See Also:
-
getDiffuseMap
Gets the value of thediffuseMapproperty.- Property description:
- The diffuse map of this
PhongMaterial. - Default value:
- null
- Returns:
- the value of the
diffuseMapproperty - See Also:
-
diffuseMapProperty
The diffuse map of thisPhongMaterial.- Default value:
- null
- Returns:
- the
diffuseMapproperty - See Also:
-
setSpecularMap
Sets the value of thespecularMapproperty.- Property description:
- The specular map of this
PhongMaterial. - Default value:
- null
- Parameters:
value- the value for thespecularMapproperty- See Also:
-
getSpecularMap
Gets the value of thespecularMapproperty.- Property description:
- The specular map of this
PhongMaterial. - Default value:
- null
- Returns:
- the value of the
specularMapproperty - See Also:
-
specularMapProperty
The specular map of thisPhongMaterial.- Default value:
- null
- Returns:
- the
specularMapproperty - See Also:
-
setBumpMap
Sets the value of thebumpMapproperty.- Property description:
- The bump map of this
PhongMaterial, which is a normal map stored as a RGBImage. - Default value:
- null
- Parameters:
value- the value for thebumpMapproperty- See Also:
-
getBumpMap
Gets the value of thebumpMapproperty.- Property description:
- The bump map of this
PhongMaterial, which is a normal map stored as a RGBImage. - Default value:
- null
- Returns:
- the value of the
bumpMapproperty - See Also:
-
bumpMapProperty
The bump map of thisPhongMaterial, which is a normal map stored as a RGBImage.- Default value:
- null
- Returns:
- the
bumpMapproperty - See Also:
-
setSelfIlluminationMap
Sets the value of theselfIlluminationMapproperty.- Property description:
- The self illumination map of this
PhongMaterial. - Default value:
- null
- Parameters:
value- the value for theselfIlluminationMapproperty- See Also:
-
getSelfIlluminationMap
Gets the value of theselfIlluminationMapproperty.- Property description:
- The self illumination map of this
PhongMaterial. - Default value:
- null
- Returns:
- the value of the
selfIlluminationMapproperty - See Also:
-
selfIlluminationMapProperty
The self illumination map of thisPhongMaterial.- Default value:
- null
- Returns:
- the
selfIlluminationMapproperty - See Also:
-