誰もがこれが壊れていることに同意しているようで、リークを止めるには GLKBaseEffect を取り除く必要があります。しかし、それを何に置き換えるかについては誰も言及していません。
誰かが私を正しい方向に向けることができますか? いくつかのサンプル コードまたはチュートリアルは非常に役立ちます。
2D スプライトを描画するだけで、非常に基本的なことを行っています。すべてのリークを除けば、うまく機能します:p
prepareToDraw が何をしているかを知り、それを機能するコードに置き換えるだけです。私が見つけたすべてのチュートリアルは、3D レンダリングに焦点を当てているようです...
おそらく2の代わりにOpenGL ES1を使用できますか?
//---Sprite drawing code ----------------------
effect.transform.modelviewMatrix = viewMatrix;
effect.texture2d0.name = textureInfo.name;
effect.texture2d0.envMode = GLKTextureEnvModeReplace;
// LEAK Here
[effect prepareToDraw];
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnableVertexAttribArray(GLKVertexAttribPosition);
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, 0, vertices);
glEnableVertexAttribArray(GLKVertexAttribTexCoord0);
glVertexAttribPointer(GLKVertexAttribTexCoord0, 2, GL_FLOAT, GL_FALSE, 0, textureVerts);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
glDisableVertexAttribArray(GLKVertexAttribPosition);
glDisableVertexAttribArray(GLKVertexAttribTexCoord0);
glDisable(GL_BLEND);