モジュール javafx.graphics
パッケージ javafx.scene.paint

クラスPhongMaterial


  • public class PhongMaterial
    extends Material
    PhongMaterialクラスは、フォン・シェーディングされたマテリアルを表すプロパティの定義を提供します。 光とその適用先となるMesh表面との相互作用を表します。 PhongMaterialは、拡散成分、鏡面成分、環境および自己照明の観点で光を示します。 幾何学的表面の点の色はこれらの4つの成分の数学関数です。

    色は次の式によって計算されます。

    
     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の値を設定します。
        プロパティの説明:
        このPhongMaterialの拡散色。
        デフォルト値:
        Color.WHITE
      • getDiffuseColor

        public final Color getDiffuseColor()
        プロパティdiffuseColorの値を取得します。
        プロパティの説明:
        このPhongMaterialの拡散色。
        デフォルト値:
        Color.WHITE
      • setSpecularColor

        public final void setSpecularColor​(Color value)
        プロパティspecularColorの値を設定します。
        プロパティの説明:
        このPhongMaterialの鏡面色。
        デフォルト値:
        null
      • getSpecularColor

        public final Color getSpecularColor()
        プロパティspecularColorの値を取得します。
        プロパティの説明:
        このPhongMaterialの鏡面色。
        デフォルト値:
        null
      • setSpecularPower

        public final void setSpecularPower​(double value)
        プロパティspecularPowerの値を設定します。
        プロパティの説明:
        このPhongMaterialの鏡面力。
        デフォルト値:
        32.0
      • getSpecularPower

        public final double getSpecularPower()
        プロパティspecularPowerの値を取得します。
        プロパティの説明:
        このPhongMaterialの鏡面力。
        デフォルト値:
        32.0
      • setDiffuseMap

        public final void setDiffuseMap​(Image value)
        プロパティdiffuseMapの値を設定します。
        プロパティの説明:
        このPhongMaterialの拡散マップ。
        デフォルト値:
        null
      • getDiffuseMap

        public final Image getDiffuseMap()
        プロパティdiffuseMapの値を取得します。
        プロパティの説明:
        このPhongMaterialの拡散マップ。
        デフォルト値:
        null
      • setSpecularMap

        public final void setSpecularMap​(Image value)
        プロパティspecularMapの値を設定します。
        プロパティの説明:
        このPhongMaterialの鏡面マップ。
        デフォルト値:
        null
      • getSpecularMap

        public final Image getSpecularMap()
        プロパティspecularMapの値を取得します。
        プロパティの説明:
        このPhongMaterialの鏡面マップ。
        デフォルト値:
        null
      • setBumpMap

        public final void setBumpMap​(Image value)
        プロパティbumpMapの値を設定します。
        プロパティの説明:
        RGB Imageとして格納される通常のマップであるこのPhongMaterialのバンプ・マップ。
        デフォルト値:
        null
      • getBumpMap

        public final Image getBumpMap()
        プロパティbumpMapの値を取得します。
        プロパティの説明:
        RGB Imageとして格納される通常のマップであるこのPhongMaterialのバンプ・マップ。
        デフォルト値:
        null
      • setSelfIlluminationMap

        public final void setSelfIlluminationMap​(Image value)
        プロパティselfIlluminationMapの値を設定します。
        プロパティの説明:
        このPhongMaterialの自己照明マップ。
        デフォルト値:
        null
      • getSelfIlluminationMap

        public final Image getSelfIlluminationMap()
        プロパティselfIlluminationMapの値を取得します。
        プロパティの説明:
        このPhongMaterialの自己照明マップ。
        デフォルト値:
        null