Cocoa应用程序崩溃OpenGL的通话
-
21-09-2019 - |
题
我做了一个新的项目,几乎复制本指南一>,但每当我打电话任何的OpenGL函数在现货标志着// Drawing code here
崩溃。我有这样的方法:
glViewport(0, 0, [self bounds].size.width, [self bounds].size.height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, [self bounds].size.width, [self bounds].size.height, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.375, 0.375, 0.0);
glClearColor(1, 1, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0, 0, 0);
glBegin(GL_LINES);
glVertex2f(10, 10);
glVertex2f(300, 300);
glEnd();
glFlush();
但仅仅调用一个函数的OpenGL崩溃了,报告所有的GDB: Program received signal: "EXC_BAD_ACCESS".
首先,如果没有工作,是代码好?每次它被调用的时间做所有的东西在上面?它应该是对2D,原产于左上角。为什么它崩溃?我已经corevideo的和OpenGL链接和进口...我希望得到一个Cocoa应用程序设置为使用OpenGL的,所以我可以专注于游戏代码。
感谢。
解决方案
您链接的文章是不是一个真正的完整的项目 - 它只是一个讨论,并使用CVDisplayLink驱动引出环的样品。你会用苹果的 OpenGL的编程指南。
其他提示
查核在苹果的GLFullScreen示例代码。他们使用CVDisplayLink成功。在“驾驶OpenGL渲染循环”失踪的事情是,你需要添加一个互斥体,以避免两个线程访问同一OpenGL上下文的事实。
您可以尝试通过硬编码数字代替“[自我界限] .size.width”,看看是否是问题的一部分。
不隶属于 StackOverflow