В качестве дополнения к ответу Джориса (который, кажется, основан на работе Натана де Фриза ), ниже приведен код, необходимый для включения WebGL в iOS 5.0 SDK:
Где-то в верхней части вашей реализации контроллера представления:
@interface UIWebView()
- (void)_setWebGLEnabled:(BOOL)newValue;
@end
Программное создание UIWebView и включение WebGL:
UIWebView *webDetailView = [[UIWebView alloc] initWithFrame:mainScreenFrame];
id webDocumentView = [webDetailView performSelector:@selector(_browserView)];
id backingWebView = [webDocumentView performSelector:@selector(webView)];
[backingWebView _setWebGLEnabled:YES];
I создал образец приложения , демонстрирующий работу WebGL в полноэкранном UIWebView на iPhone / iPad с использованием сайта скретч-панели WebGL http://glsl.heroku.com в качестве места назначения. Будьте осторожны, что некоторые из этих примеров приведут к остановке даже iPad 2, что может привести к полной перезагрузке. Кажется, что производительность показывает, почему WebGL все еще находится в официально неподдерживаемом состоянии в мобильном WebKit.
Конечно, как уже говорилось, это не гарантирует работу в будущих версиях iOS, и ваше приложение будет отклонено из App Store. Это действительно полезно только для хобби и внутреннего тестирования.
Пример работы WebGL на моем iPad 2: