问题标签 [eaglcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl-es - GLKView 不会改变像素格式
GLKView 有一个问题,我经常被困在这里。首先,我创建 EAGLContext 上下文并将其设为最新:
运行正常(我需要第 3 版,所以它很适合我)!然后我创建 GLKView,附加到先前创建的上下文:
没关系。但是这段代码根本没有改变任何东西:(
然后我做一些最后的事情:
但是,在使用 GLKViewDrawableStencilFormatNone 之后,我向 OpenGL 询问深度和模板格式……我得到:
我需要关闭模板缓冲区!我需要设置 24 位格式的深度缓冲区。我也尝试这样做:
我怎么才能得到它?这里有什么问题?谢谢你。
ios - Opengl Renderbuffer Texture touchmove ios问题
我正在使用 OpenGL 并使用 GLPaint 的示例。我创建了一个应用程序,当用户触摸图像时,它会在图像(纹理)上应用旋转。我有一个问题,我需要保存第一次触摸,然后应用下一阶段,依此类推。但在下一次触摸时,先前应用的效果被删除。
我尝试同时使用深度缓冲区和帧缓冲区,但未能获得所需的结果。我附上了我所有的代码和着色器
还附加着色器如下:
请帮助我调试什么是错误的以及如何解决这个问题。
ios - iPad 和 iPhone 上的 drawImage() 不同?
我有一个像这样的 51x51px 的 glView。
稍后我将image
(从 AVpreviewlayer 接收)的中心部分绘制到 glView 的 EAGL 上下文中,如下所示:
基本上代码可以工作,但完全相同的代码在 iPad 和 iPhone5 上的行为不同。结果如下所示。红边矩形是 glView。
在 iPhone 上,红色矩形内的黑色部分(我正在绘制的图像)应该完全填充矩形,例如在 iPad 上......而不仅仅是左下角。
有人知道这里有什么问题吗?
问候克里斯
ps.我在两台设备上都使用 iOS 9.2.1
ios - 通过带有 alpha 混合的 cicontext 渲染到样本缓冲区?
在 captureOutput 我在样本缓冲区中获取视频帧,我想在捕获的帧之上混合另一个 CIImage 。渲染应该直接进入传递的样本缓冲区。目前我使用这个:
基本上代码可以工作,但有两个问题:
m_overlayImage 的 alpha 分量被忽略,即 m_overlayImage 的半透明部分被渲染函数渲染为黑色。为什么 ?如何解决?
有什么方法可以将 m_overlayImage 绘制到 sampleBuffer 中的某个像素位置。目前我只能画到(0,0),即左下角。问题是根据文档,“边界”被应用于覆盖图像而不是样本缓冲区。如何将我的 m_overlayImage 渲染到样本缓冲区中的某个位置?
谢谢克里斯
ios - 绘制时GLKView为空白
我正在尝试使用 GLKView 将图像放入 UITableViewCell 以绘制图像。
我在故事板中有一个原型单元,其中有一个 GLKView。它没有选中 Enable setNeedsDisplay。
原型单元有一个名为 PhotoTableViewCell 的自定义类,它是
这在 UITableViewController 中使用
当我导航到 TableView 时,我得到以下日志语句
我的问题是为什么它的视图是空白的?我确信有一个图像,glkView 位于正确的位置(我已经使用 Xcode 中的预览工具对其进行了检查)
为什么调用 draw(rect:) 而不是 glkView(view:GLKView, drawIn rect:CGRect) ?
我在运行 iOS 9.3 的 iPhone 5 上使用 Xcode 8、swift 3,非常感谢任何帮助
ios - GPUImage 与其他 OpenGL 上下文的工作失败
在我的项目中,我得到了一个基于GPUImage
. 我想创建一个可以像 FaceTime 一样进行视频通话的应用程序,所以我使用这个提供 OpenGL 的过滤器框架ViewA
来渲染相机图像,使用我自己的 openGLviewB
来渲染远程视频流。现在我遇到了问题。是viewA
不定期显示viewB
的内容。
特别是当 viewA 的框架发生变化时。像这样:
远程视频像素格式为I420,本地视频像素格式为NV12。所以从技术上讲,
viewA
必须不能呈现viewB
的内容。如您所见:viewA
显示viewB
. 我假设viewA
得到 Y 平面数据viewB
不知何故。当viewA显示灰色图像时,它的帧率大大降低。因为viewA
属于一个不透明的框架,我只能控制自己的OpenGL渲染部分viewB
。我不知道如何解决这个错误。很可能这两个 EAGLContext 是冲突的,或者viewA
以viewB
某种方式共享渲染/纹理缓冲区?任何人,请帮助我。我正在努力这几天。
ios - 多个 OpenGL 视图如何在 iOS 中共享单个 GL_RENDERBUFFER
假设我有两个视图需要在 renderBuffer 中呈现相同的 OpenGL 内容。如何将这两个视图绑定CAEAGLLayer
到 renderBuffer?renderbufferStorage:fromDrawable:
只需将最后一个绑定CAEAGLLayer
到GL_RENDEARBUFFER
.
objective-c - 一个 EAGLContext 导致另一个 EAGLContext 不能与 iOS OpenGL 一起工作
我有两个类来显示不同的 CIImage。它们都有相同的方法来创建 OpenGL 对象,如下例所示。
在一个 glkview 显示 ciImage 之后,我将启动另一个 EAGLContext 来显示不同的 CIImage。另一个 openGL 对象的创建如下代码所示。
我使用相同的方式显示 ciimage,但它们使用不同的方法。1.
2.
如果这两个 EAGLContext 对象同时创建,两个 GLKView 会显示两个不同的视频。如果先创建一个,然后再创建另一个,后一个会正常显示,第一个会卡住。我不知道如何解决它,有人可以帮助我吗?非常感谢。
swift - EAGLContext 到 UIImage
在 Objective-C 中,我能够使用 glReadPixels 将 EAGLContext 渲染到 UIImage 以从帧缓冲区读取像素数据,使用像素数据创建 CGImage,然后从上下文中检索 UIImage。
我正在 Swift 中尝试一种新方法,但它返回一个空图像。我想从 EAGLContext 创建一个 GLKView,然后使用“快照”来获取 UIImage。传递给 GLKView 构造函数的“myEaglContext”上有数据。
有谁知道为什么这种方法不起作用?
swift - 弃用“EAGLContext”的解决方案是什么?
我想为我的应用程序使用本机过滤器,该功能有效,但我想避免将从文档中删除的方法。我在整个互联网上搜索,没有解决方案。
我在整个互联网上搜索,但我没有找到任何解决我的问题的方法。
结果很好,但我担心我的应用程序中的警告无效。谢谢