- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 IB 中,我将一个 NSOpenGLView 实例放入窗口中。
我将所有绘图代码都放在自定义 NSViewController 中,如下所示:
// MyOpenGLViewController.h
@interface MyOpenGLViewController : NSViewController
{
IBOutlet NSOpenGLView *glView;
}
// MyOpenGLViewController.m
-(void)awakeFromNib
{
[self drawFrame];
}
-(void)drawFrame
{
[[glView openGLContext] makeCurrentContext];
glClearColor(0, 0, 0, 1);
}
一切都已链接起来,并且“drawFrame”被调用,但我在屏幕上没有看到任何内容。它总是白色的。我应该检查什么?
最佳答案
通常,一个 NSOpenGLView 的子类并安装一个计时器来更新您的数据模型,如果有任何更改,则绘制更改。 Controller 不应该进行绘图。苹果有一些关于如何让某些东西正常工作的很好的文档。从 OpenGl Programming Guide for Mac OS X 开始.
我似乎记得在 Interface Builder 中使用 NSOpenGLView 对象的一个错误。我总是做的就是在您想要 View 的位置添加一个通用 NSObject 并将其类设置为您的 NSOpenGLView 子类。
关于cocoa - 如何从 View Controller 对象绘制到 NSOpenGLView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996973/
我正在使用 Cocoa 窗口和 NSOpenGLView 尝试 OpenGL 3.2。但是我无法让 NSOpenGLView 绘制红色。我只得到一个白色的窗口。这是我的代码(在 NSOpenGLVie
我一直在尝试让 NSOpenGLView 在调整窗口大小时正确调整大小,但我不断收到无法解释的奇怪行为。看起来像这样: 原始(一开始的样子): 调整大小后: 这是我的调整大小代码: - (void)r
我已经重写了 NSOpenGLView 来处理键盘事件。事件检测工作正常,但每次我按下一个键时,我都会听到恼人的碰撞声。我怎样才能让我的观点冷静下来? 这是我的 keyUp: 方法的样子: -(voi
我有一个 NSWindow 子类 (GameWindow),其中包含一个 NSOpenGLView 子类 (GameView)。 应用程序是窗口化的(不会全屏显示)。 GameView 中的 Open
我目前正在尝试以编程方式创建一个简单的 cocoa NSWindow,而不是使用界面生成器(我有这样做的理由)。这是一个快速测试: int main(int argc, char** argv)
我需要在现有应用程序中的 NSOpenGLView 之上显示一些 Cocoa 小部件。我按照 Apple 的 LayerBackedOpenGLView 示例代码中的示例进行操作。 NSOpenGLV
我正在尝试使用 Cocoa API 创建一个 OpenGL 应用程序,现在一切正常,除了一件事。当调整主窗口大小时,GL 上下文似乎没有正确更新。 这是用于设置窗口和渲染上下文的代码。 主窗口: m_
我创建了一个带有 NSOpenGLView 的窗口,我正在将 openGL 内容渲染到其中。 我想向 View 添加一些按钮和文本字段:我可以使用界面生成器(或代码)添加 NSTextFields 和
我有一个旧的基于 AGL 的 OpenGL 窗口系统,我正在更新它以使用 NSOpenGLView。使用它的引擎需要在单独的线程中以自己的循环运行,我无法让它工作。使用 AGL,我在循环线程中创建了上
我有一个名为 ModelView 的类,它继承自 NSOpenGLView。当我的程序运行时,我按如下方式将 ModelView 附加到主窗口。 - (void)applicationDidFinis
我正在尝试创建一种在全屏和窗口之间切换的方法。我试图在继承自 NSOpenGLView 的类中执行此操作, 基本上遵循 this blogpost 。从窗口到全屏,这一次有效;尝试返回以各种方式失败:
我想在纹理大小更改时更新我的 NSOpenGLView 窗口。没关系。发生这种情况时我注册了事件,但无法调整 OpenGLView 的大小。正在更改的值是 w 和 h。 -(void)initOp
我有一个 480x320 NSOpenGLView,我想将其放大到 960x640,但像素显示为尺寸的两倍(并且清晰)。 如果我打电话 [myglview setFrame:CGRectMake(0,
我有一个 NSOpenGLView 和 OpenGL 代码,可与在主循环中运行的 NSTimer 一起使用(调用 setNeedsDisplay 和 drawRect)。我想使用 CVDisplayL
我已将 NSOpenGLView 添加到我的 MainMenu.xib 文件中,并实现了 drawRect 来绘制它,这效果很好,所以到目前为止一切顺利。 如何检测屏幕上的触摸?我想我也许可以在 In
这就是我想用我的 NSOpenGLView 做的事情。目前 NSOpenGLView 覆盖了窗口的整个区域,我想在 NSOpenGLView 顶部添加按钮、nsviews 和图像。我浏览了网页,发现
我正在尝试修改 Apple MultiGPUIOSurface 示例(特别是文件 http://developer.apple.com/library/mac/#samplecode/MultiGPU
当我将 NSOpenglView 放入 NSSplitView 时,拖动拆分器时出现问题。openGLView 和 SplitView 正在异步调整大小。我在苹果邮件列表线程中找到了解决方案 http
我有一个在 Mac OS X 上渲染 OpenGL 内容的应用程序。最初它是渲染到 NSOpenGLView,然后我将它更改为渲染到 CAOpenGLLayer 子类。 当我这样做时,我看到了巨大的性
我正在尝试检查我的 NSOpenGLView 是否具有有效的上下文,但似乎对 openGLContext 的调用无法帮助我解决这个问题。 openGLContext 似乎总是返回一个 NsOpenGl
我是一名优秀的程序员,十分优秀!