jjzjj

EAGLContext

全部标签

使用 OpenGL ES 2.0 的 iOS 360 视频

我有一个应用程序,它使用OpenGLES3.0来播放360度视频,并使用天空球体实现。我想使用OpenGLES2.0来支持更多设备。在ViewController.swift中,我在setupContext()方法中创建了EAGLContext,它与.OpenGLES3一起使用,但是当我尝试使用.OpenGLES2时,我只看到黑屏。没有错误消息,我无法辨别OpenGLES2.0不支持哪些API函数。context=EAGLContext(API:.OpenGLES3)EAGLContext.setCurrentContext(context)如何使用OpenGLES2.0使用天空球显示

ios - 是否可以为每个线程创建 EAGLContext?

我想在并发GCD队列中的OpenGLES项目中做一些工作。是否可以为每个线程创建EAGLContext?我打算用这样的方式来做:queue_=dispatch_queue_create("test.queue",DISPATCH_QUEUE_CONCURRENT);dispatch_async(queue_,^{NSMutableDictionary*threadDictionary=[[NSThreadcurrentThread]threadDictionary];EAGLContext*context=threadDictionary[@"context"];if(!context

ios - 带有核心图像过滤器的 EAGLContext

我想将图像实时添加到摄像机视频源中,但只需要显示它们,不需要保存。如果我使用标准的CoreImage程序,它工作正常,但我需要更多的帧速率。但是,如果我取消注释此代码并在接下来进行注释,则不会。OpenGLView只是一个带有方法的UIView子类+(Class)layerClass{return[CAEAGLLayerclass];}//WorkingcodeEAGLContext*myEAGLContext=[[EAGLContextalloc]initWithAPI:kEAGLRenderingAPIOpenGLES2];NSDictionary*options=@{kCICon

objective-c - 显示 map 时,iOS 6 应用程序在 EAGLContext 中崩溃

我们有一个使用OpenGL和MKMapView的应用程序。当我们切换到iOS6时,每当我们在设置我们自己的EAGLContext后尝试显示map时,它开始在[EAGLContextsetCurrentContext:]处崩溃并显示EXC_BAD_ACCESS。 最佳答案 iOS6map是基于OpenGL的。如果您不调用,您的应用将崩溃[EAGLContextsetCurrentContext:nil]在您设置了自己的EAGLContext之后。我们通过将上述调用放入与EAGLContext交互的类的dealloc方法来修复我们的错误

ios - -[EAGLContext renderbufferStorage :fromDrawable:] Failing the second time on?

我正在开发iOSopenGLES应用程序。我正在做通常的EAGLView/ES2Render事情。在启动时,frambuffer创建成功,使用以下代码:-(BOOL)createFramebuffers{[EAGLContextsetCurrentContext:_mainContext];//[A]On-screen//1.FramebufferglGenFramebuffers(1,&_mainFramebuffer);bindFramebuffer(_mainFramebuffer);//2.ColorbufferglGenRenderbuffers(1,&_mainColorb

swift - 在 MacOS 上使用 EAGLContext 和 CIContext

我有一个简单的Swift命令行MacOS应用程序,我正在努力设置EAGLContext:letopenGLContext=EAGLContext(API:.OpenGLES3)letcontext=CIContext(EAGLContext:openGLContext)上面的代码给了我:Useofunresolvedidentifier'EAGLContext'无论我加载什么模块:importCoreImageimportOpenGLimportQuartzCoreimportGLKit现在的问题是:CIContext默认使用OpenGL渲染吗?当我在没有任何选项的情况下初始化一个新的

ios - 在许多 EAGLContext 之间切换的成本?

我正在编写一些具有GridView的代码(屏幕上同时显示约20个subview)。每个subview在GL中绘制其内容,并有自己的绘制线程和EAGLContext。这样做的好处是每个View都与应用程序中的其他GL使用相对隔离,尽管屏幕上有20个这样的View,我们必须每帧glFlush+setCurrentContext:20次。我的直觉告诉我这不是GL的最有效使用方式。我的问题:切换上下文的成本是多少?是否必须为每个上下文执行glFlush实际上会减慢速度,还是glFlush只会停止当前上下文? 最佳答案 •Doeshaving

ios - 无法从 3.0 EAGLContext 创建 CIContext

如果我像这样初始化EAGLContext_eaglContext=[[EAGLContextalloc]initWithAPI:kEAGLRenderingAPIOpenGLES2]程序运行正常,但使用kEAGLRenderingAPIOpenGLES3,以下代码导致崩溃:_ciContext=[CIContextcontextWithEAGLContext:_eaglContextoptions:options];CIContext类引用指出“OpenGLES上下文必须支持OpenGLES2.0”但我的印象是3.0应该是向后兼容的...我错过了什么? 最佳

ios - EAGLContext 中的 'EA' 代表什么?

EAGLContext中的“EA”代表什么?CAEAGLLayer中的“EA”是否也一样? 最佳答案 EAGL(嵌入式Apple图形库)是Apple对EGLAPI的实现。EA=嵌入式Apple。是的,CAEAGLLayer也相同。 关于ios-EAGLContext中的'EA'代表什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12439999/

ios - [EAGLContext presentRenderbuffer] 中的 gpus_ReturnGuiltyForHardwareRestart 崩溃

我在iOS11上的EAGLContextpresentRenderbuffer中遇到了很多崩溃,但仅限于iPhone6/6+和旧。根据thispost,我认为我们已经通过重写所有内容以不使用VBO/VAO来排除与VBO相关的问题,但崩溃并没有因此得到修复。SO上还有一些关于此的其他问题,但没有解决方案-是否有其他人看到这次崩溃的上升趋势并能够解决它?长话短说:这是我们目前所知道的:崩溃特定于iOS11、iPhone5S/6/6+。它不会出现在6S及更高版本上。OpenGL堆栈的核心返回gpus_ReturnGuiltyForHardwareRestart当我们尝试从CAEAGLLaye