У меня проблемы с освещением OpenGL 1.1.Мой код работает на iPhone 4, но не на iPhone 3G.Все выглядит неосвещенным (плоские цвета).У меня нет 3GS, поэтому я не могу узнать, работает ли он на этом или нет.
Вот мои настройки освещения:
- (void)setupLighting
{
const GLfloat lightAmbient[] = {0.2, 0.2, 0.2, 1.0};
const GLfloat matAmbient[] = {0.6, 0.6, 0.6, 1.0};
const GLfloat matDiffuse[] = {1.0, 1.0, 1.0, 1.0};
const GLfloat matSpecular[] = {0.6, 0.6, 0.6, 0.1};
const GLfloat lightPosition[] = {0.0, 0.0, 0.0, 0.0};
const GLfloat lightShininess = 100.0;
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, matAmbient);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, matDiffuse);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, matSpecular);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, lightShininess);
glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmbient);
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
glShadeModel(GL_SMOOTH);
NSLog(@"Lighting sorted");
}
Я поставляю нормальные векторы ипосле этого, который успешно рендерится на более новом iPhone ... однако, я действительно хотел бы поддержать все три iPhone.(Также работает на iPad).