Я нашел, что какой-то особый стиль письма GLSL заставит iPhone 6 Plus сбой без какого-либо журнала.Код GLSL сделать приложение аварии на iPhone 6 Plus
Например, если вы напишете код GLSL, приведенный ниже, он будет разбит на glLinkProgram.
float testFun(float co) {
return co;
}
float a = testFun(0.1);
void main()
{
// your code here
}
Но если вы переместите определение «a» в функцию, то оно будет работать правильно.
Этого не произошло бы в iPhone5 или 5s.
Вы смогли воспроизвести эту ошибку путем загрузки образца проекта на
http://www.raywenderlich.com/3664/opengl-tutorial-for-ios-opengl-es-2-0
затем заменить SimpleFragment.glsl с
varying lowp vec4 DestinationColor;
varying lowp vec2 TexCoordOut; // New
uniform sampler2D Texture; // New
precision highp float;
float testFun(float co) {
return co;
}
float a = testFun(0.1);
void main()
{
gl_FragColor = vec4(0.7, 0.5, 0.3, 1.0);
}
и запустить его на вашем iPhone 6 Plus. Он немедленно сработает.
Что вы думаете? Это больше похоже на отчет об ошибке. Который должен, вероятно, пойти в Apple. –
Thankyou очень много. Уже сообщалось Apple – chenxiao07