0

アイテムが遠くに表示されるにつれて、アイテムを動的にフェードさせようとしています。

これは正常に機能し、テクスチャは正常に表示されますが、フェードしません。

 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 ERROR: 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);
4

1 に答える 1

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;

ブレンディングが得られますが、動的不透明度係数を適用することはまだできません。

于 2013-04-11T04:28:18.980 に答える