2012-06-28 56 views
0

我試圖動態淡入淡出物品,因爲它們顯得更遠。IOS GLKit:動態淡化紋理(OpenGL)

我有這個工作正常,紋理顯示正常,但不褪色。

effect.texture2d0.enabled = GL_TRUE; 
effect.texture2d0.envMode = GLKTextureEnvModeReplace; 
effect.texture2d0.target = GLKTextureTarget2D; 
effect.texture2d0.name = texture.name; 

// transparancy 
glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

然後我改變它(基於幾個堆棧溢出帖子)。使GLKTextureEnvModeModulate或添加glColor4f給我GL錯誤的錯誤:0x0502

effect.texture2d0.enabled = GL_TRUE; 
effect.texture2d0.envMode = GLKTextureEnvModeModulate; 
effect.texture2d0.target = GLKTextureTarget2D; 
effect.texture2d0.name = texture.name; 

// transparancy 
glEnable(GL_BLEND); 
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); // GL_SRC_ALPHA 

glColor4f(0.7, 0.7, 0.7, 0.7); 

回答

1

這裏是我做了什麼:

self.effect.texture2d0.envMode = GLKTextureEnvModeModulate; 
    self.effect.texture2d0.target = GLKTextureTarget2D; 
    self.effect.texture2d0.name = mTexture.name; 

    self.effect.texture2d1.envMode = GLKTextureEnvModeDecal; 
    self.effect.texture2d1.target = GLKTextureTarget2D; 
    self.effect.texture2d1.name = mTexture2.name; 

您將獲得的混合,但我仍然不能申請動態不透明係數。