2

OpenGL ES 2.0 を使用するアプリの 1 つとの互換性を確認するために、iOS7 Beta 5 を搭載した Xcode 5 の最新のベータ版を取り出しました。新しいシミュレーターでアプリを起動すると、非常に変色した画面が表示されました。画面全体が変色したのは言うまでもなく、GLView だけです。赤は青に、青はより青く、緑は青く変色していました。

私はグーグルを上下に検索しましたが、結果が近づくことさえありませんでした。以下は変色を示すためにサッカー場をレンダリングしたものです。特に陸上ゴールでは顕著です。

GL 対応オプション

glEnable(GL_CULL_FACE);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glEnableVertexAttribArray(GLKVertexAttribTexCoord0);
self.effect.texture2d0.enabled = true;
glEnable(GL_DEPTH_TEST);//Only when drawing field goals

どのように見えるか (iOS6)

ここに画像の説明を入力

現在の外観 (iOS7)

ここに画像の説明を入力

4

1 に答える 1

0

GLKit が iOS7 でテクスチャの読み込みを処理する方法に変更があったに違いありません。これらのテクスチャのいくつかを単純な単層 PNG に置き換えましたが、問題はありませんでした。回避策として、各テクスチャを PSD から TIFF 形式にエクスポートしても、変色や画質の低下はありませんでした。TIFF は進むべき道のようです。GLKit はフォーマットに問題はなく、透明度を喜んでサポートしますが、奇妙なことに、私が変色で遭遇した別の問題でした.

texturename = tracktexture1.name;
glDeleteTextures(1, &texturename);
tracktexture1 = [GLKTextureLoader textureWithContentsOfFile:[[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"%@%i",trackname, 1] ofType:@"tiff"] options:options error:&error];
于 2013-08-26T21:11:07.957 に答える