1

我想在自定义的 UIView 中绘制我的 opengl es 动画,我该怎么做。我发现我需要重写 drawRect 方法。在下面。

#import "myView.h"

@implementation myView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
    // Initialization code
    }
    return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end

我已经使用界面生成器绘制了一个视图,如何链接到该视图并绘制(调用)我的 opengl 动画类。任何人都可以请写一点具体。我是初学者。谢谢。

4

2 回答 2

5

正如另一张海报所说,您不要使用 drawRect 在视图中实现 OpenGL。您将 OpenGL 层附加到视图。

EAGLView 是一种方式。如果您愿意将您的应用程序限制在 iOS 5 或更高版本,您可能需要查看 GLKit。这为你做了很多设置。

不过要小心。OpenGL 绝不是、塑造或形成初学者的 API。它庞大、复杂且难以使用。有一个巨大的学习曲线。我已经编程了大约 30 年,当我第一次开始学习它时,它简直让我头疼。

于 2012-06-25T18:13:32.140 回答
1

您拥有的一种可能性是让您的视图管理一个CAEAGLLayer(与普通的CALayer)。然后CAEAGLLayer将呈现您的 GL 绘图代码。

UIView我建议您查看EAGLViewApple 在一些 SDK 示例中提供的类,而不是尝试对自己进行子类化。看看这个来自 Apple 的示例,展示了如何EAGLView定义以及如何使用它。

于 2012-06-25T17:04:54.380 回答