1
我在android(3d opengl庫)中使用Rajawali。我試圖重新加載材質(動態地開始使用不同的着色器) - 但是當我將新材質(在運行時)設置爲對象時,它會消失(在通過電源按鈕關閉屏幕之後,此對象會再次顯示新的材料)。我試圖重新加載對象的屬性(函數重載),但它沒有幫助(如果我在其他對象上調用reload()
-它們也會消失=))。Opengl ES動態重載着色器
功能reload()
在材料(shaders
類)是:
public void reload() {
setShaders(mUntouchedVertexShader, mUntouchedFragmentShader);
for(int i=0; i<mNumTextures; i++) {
addTexture(mTextureInfoList.get(i), true, true);
}
}
我不明白他們爲什麼消失了,爲什麼他們重新開始新的着色器後再次出現。
工程就像一個魅力。但請告訴,有沒有更好的方法呢? – defhlt 2014-10-02 11:17:19