JavaFX的abstract class Material
代表三維表面的材料。當前的JDK僅提供PhongMaterial
實現。我正在考慮通過擴展Material
添加我自己的材料(如Lambert或Blinn等),類似於如何實現PhongMaterial
。我們可以在JavaFX中實現我們自己的材料嗎?
有2個問題我遇到:在PhongMaterial
文檔中指定
行爲(顏色計算)是無處可尋 - 而不是類本身,而不是在內部類Iv'e看着在。它在的某處在JDK中,但沒有那麼暴露。
PhongMaterial
類只擁有屬性而不是行爲,我覺得這很奇怪。PhongMaterial
似乎深深加上內部類:com.sun.javafx.sg.prism.NGPhongMaterial
,其根據一些文檔由圖形工具包/管道實施創建的對等節點。這個類沒有指定行爲。com.sun.prism.PhongMaterial
,其中代表用於保留模式渲染的phong材料。com.sun.prism.TextureMap
是包裝類,用於保存PhongMaterial的地圖相關信息。
這些都沒有指定材料的行爲。
實施我自己的材料的步驟是什麼?我需要寫什麼課?例如,我是否需要一個新的TextureMap
課程,我會以某種方式告知Prism?
啊,是的,你做了同樣的發現:JavaFX文檔很糟糕。 – Michael
@Michael我已經有了一個想法。我的問題不在於文檔,而在於實現。 – user1803551
所以看着它,Material有2個impl_抽象方法,任何子類都需要重寫,三個方法與「髒」標誌相關。所有三個'impl_'方法都被標記爲已棄用,並且「將在下一版本中刪除」。我認爲這是一個強有力的指標,你基本上可以不實施你自己的'材料'。 – Michael