【问题标题】:how to draw opengl es in a UIView如何在 UIView 中绘制 opengl es
【发布时间】:2012-06-25 16:55:27
【问题描述】:

我想在自定义的 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 动画类。任何人都可以请写一点具体。我是初学者。谢谢。

【问题讨论】:

    标签: ios opengl-es uiview core-animation drawrect


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      我建议您查看 Apple 在一些 SDK 示例中提供的 EAGLView 类,而不是尝试将自己的子类化为 UIView。查看this sample from Apple,了解如何定义EAGLView 以及如何使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-16
        • 2014-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多