2013-02-13 71 views
0

我是新來的opengl,不知道如何處理不透明。我有兩個重疊的圖層,我將兩個圖層都繪製到屏幕上。我想淡出前景中的那個以轉換到背景圖像。有沒有辦法做到這一點?這是我的繪製方法。在opengl中隨時更改紋理的不透明度?

public void draw(GL10 gl10) { 
    gl10.glDisable(GL10.GL_BLEND); 
    gl10.glEnable(GL10.GL_BLEND); 
    gl10.glBlendFunc(GL10.GL_TRUE, GL10.GL_ONE_MINUS_SRC_ALPHA); 
    gl10.glClearColor(0F, 0F, 0F, 0); 
    gl10.glBindTexture(GL10.GL_TEXTURE_2D, this.mTextureId); 
    this.layer1.draw(gl10); // i want to transition from this layer 
      this.layer2.draw(gl10); // to this layer by changing opacity 
      } 

我不知道即使我正確地陷害了我的問題。希望你得到它:)

回答

0

那麼它取決於你使用這個過渡的方法。我有一個與動畫視圖類似的情況。關於你的不透明問題,你不能使用

View v; 
int i = 0; /*Values from 0 to 1, float cast might be needed for intermediate values*/ 
v.setAlpha(i); 
this.layer2.setAlpha(i); 

或類似的東西,是不是適用於你的情況?

+0

順便說一下,「cange」稱號;-) – g00dy 2013-02-13 15:21:17

+0

所有層包含來自單個紋理渲染精靈。在我的方法中不支持alpha。我所做的只是複製紋理。 – user1909111 2013-02-14 11:34:45