Module  javafx.graphics
软件包  javafx.scene.paint

Class 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
    另请参见:
    AmbientLightPointLight
    • 构造方法详细信息

      • PhongMaterial

        public PhongMaterial​()
        使用默认的Color.WHITE diffuseColor属性创建一个 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
      • setSpecularColor

        public final void setSpecularColor​(Color value)
        设置属性specularColor的值。
        Property description:
        这个镜面颜色 PhongMaterial
        Default value:
        空值
      • getSpecularColor

        public final Color getSpecularColor​()
        获取属性specularColor的值。
        Property description:
        这镜子的颜色 PhongMaterial
        Default value:
        空值
      • 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
      • setDiffuseMap

        public final void setDiffuseMap​(Image value)
        设置propertyMap属性的值。
        Property description:
        这个漫反射图 PhongMaterial
        Default value:
        空值
      • getDiffuseMap

        public final Image getDiffuseMap​()
        获取属性diffuseMap的值。
        Property description:
        这个漫反射图 PhongMaterial
        Default value:
        空值
      • setSpecularMap

        public final void setSpecularMap​(Image value)
        设置属性specularMap的值。
        Property description:
        这个 PhongMaterial的镜面图。
        Default value:
        空值
      • getSpecularMap

        public final Image getSpecularMap​()
        获取属性specularMap的值。
        Property description:
        这个 PhongMaterial的镜面图。
        Default value:
        空值
      • setBumpMap

        public final void setBumpMap​(Image value)
        设置属性bumpMap的值。
        Property description:
        这个PhongMaterial的凹凸贴图,这是一个保存为RGB Image的法线贴图。
        Default value:
        空值
      • getBumpMap

        public final Image getBumpMap​()
        获取属性bumpMap的值。
        Property description:
        这个PhongMaterial的凹凸贴图,这是一个保存为RGB Image的普通地图。
        Default value:
        空值
      • setSelfIlluminationMap

        public final void setSelfIlluminationMap​(Image value)
        设置属性selfIlluminationMap的值。
        Property description:
        这个自拍照片 PhongMaterial
        Default value:
        空值
      • getSelfIlluminationMap

        public final Image getSelfIlluminationMap​()
        获取属性selfIlluminationMap的值。
        Property description:
        这个自拍照片 PhongMaterial
        Default value:
        空值
      • toString

        public String toString​()
        描述从类复制Object
        返回对象的字符串表示形式。 一般来说, toString方法返回一个“ toString代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。

        toString类方法Object返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@ ”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:

         getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        重写:
        toStringObject
        结果
        对象的字符串表示形式。