モジュール 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
      • toString

        public String toString​()
        次のクラスからコピーされた説明: Object
        オブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトをテキストで表す文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。

        クラスObjecttoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字@、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。

         getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このオブジェクトの文字列表現