Нарисуйте прямую линию, используя OpenGL ES в iPhone?
Наконец, я попытался нарисовать линию, используя платформу OpenGL ES в простом игровом приложении для XCode 4.2 для iPhone. Я изучил кое-что о GLKView и GLKViewController, чтобы нарисовать линию в iPhone. Вот мой пример кода, который я попробовал в своем проекте,
@synthesize context = _context;
@synthesize effect = _effect;
- (void)viewDidLoad
{
[super viewDidLoad];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!self.context) {
NSLog(@"Failed to create ES context");
}
GLKView *view = (GLKView *)self.view;
view.context = self.context;
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
[EAGLContext setCurrentContext:self.context];
//[self setupGL];
}
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
NSLog(@"DrawInRect Method");
[EAGLContext setCurrentContext:self.context];
// This method is calling multiple times....
glClearColor(0.65f, 0.65f, 0.65f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
const GLfloat line[] =
{
-0.5f, -0.5f, //point A
0.5f, -0.5f, //point B
};
glVertexPointer(2, GL_FLOAT, 0, line);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_LINES, 0, 2);
}
Когда я запускаю проект, только серый цвет появляется только на экране, линия не отображается. А также- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
Делегат зовет бесконечное время. Пожалуйста, направьте меня туда, где я делаю неправильно. Почему линия не появляется или не рисуется? Можете ли вы помочь? Пытаюсь это 2 дня. Заранее спасибо.