Tag: opengl es

硬件加速h.264解码到纹理,覆盖或类似的iOS

是否有可能并支持使用iOS硬件加速h.264解码API来解码本地(非stream式)video文件,然后在其上编写其他对象? 我想制作一个应用程序,它涉及在video前面绘制graphics对象,并使用播放定时器将我在上面绘制的内容与video上正在播放的内容同步。 然后,根据用户的操作,改变我正在绘制的顶部(而不是video) 来自DirectX,OpenGL和Android的OpenGL ES,我想像的是将video渲染为纹理,并使用该纹理绘制全屏幕四边形,然后使用其他精灵来绘制其余的对象; 或者可能在渲染器之前写一个中间filter,这样我就可以操纵单个输出框架并绘制我的东西; 或者可以在video顶部绘制一个2D图层。 AV基金会或核心媒体似乎可以帮助我做我正在做的事情,但在深入细节之前,我想知道是否有可能做我想做的事情,我的主要路线来解决问题。 请不要“这太先进了,先试试世界先声”的答案吧。 我知道我的东西,只是想知道我想做什么是可能的(最重要的是,支持,所以应用程序不会最终被拒绝),我自己研究的细节之前。 编辑: 我对iOS开发不熟悉,但专业地为Android做DirectX,OpenGL和OpenGL ES。 我正在考虑制作一个我现在拥有的Android应用程序的iOS版本,我只想知道这是否可能。 如果是这样,我有足够的时间从头开始iOS开发,直到做我想做的事情。 如果不可能,那么我现在就不会花时间研究整个平台。 所以这是一个技术上的可行性问题。 我不是在请求代码。 我正在寻找types为“是的,你可以这样做的答案,只需使用A和B,使用C渲染到D并用E画出你的东西”,或者“不,你不能,硬件加速解码是不适用于第三方应用程序“(这是朋友告诉我的)。 就这样,我会在路上。 我已阅读ios技术概述第32页中的video技术概述 。 它几乎说,我可以使用媒体播放器的最简单的播放function(不是我所期待的),UIKitembeddedvideo多一点控制embedded,但不是在实际播放(而不是我的'寻找),AVFoundation更多的控制回放(也许我需要的,但我在网上find的大部分资源谈论如何使用相机),或核心媒体有完整的低级别的video控制(可能是我需要,但是logging极其糟糕 ,甚至比AVFoundation更缺乏播放资源)。 我担心我可能会在接下来的六个月中全职学习iOS编程,但最终却发现相关API不适用于第三方开发人员,我想做的是iTunes Store部署无法接受。 这就是我的朋友告诉我的,但我似乎无法在应用程序开发指南中find任何相关的东西。 因此,我来​​这里问问在这方面有多less经验的人,不pipe我想做什么都是可能的。 不再。 我认为这是一个有效的高层次的问题,可以被误解为一个我没有做我的家庭作业的PLZ给我这个codez的问题。 如果我在这里的判断是错误的,可以随意删除,或者低估这个问题到你的内心的蔑视。

我在哪里可以find响应触摸的iPhone OpenGL ES示例?

我想find一个响应触摸的iPhone OpenGL ES示例。 理想情况下,它将满足这些要求: 在立方体的屏幕中央显示3D对象 将纹理映射到立方体表面 拖动手指时,应该在相机周围移动相机 应通过捏缩放相机进出相机 可选地,在包围摄像机背面的立方体后面有一个背景(例如,这可以创build立方体在空间中的效果) 有没有人看到一个或多个可以做到这些的例子,或者至less使用纹理渲染立方体?

在iPad上的3D旋转木马效果

我正试图在iPad上实现一个3D旋转木马,包含UIViews,类似于这里显示的效果。 我也经历了许多类似的问题,但没有find任何满意的答案,也没有find答案。 我试图通过修改coverflowanimation来实现这个效果,但是它并没有给出那种光滑的效果。 有没有人实现了这个?(通过石英和OpenGL开放的build议)

点产品和亮度/ Findmyicone

所有, 我有一个基本的问题,我正在这里挣扎。 当您查看WWDC 2010的findmyicone示例代码时,您将看到: static const uint8_t orangeColor[] = {255, 127, 0}; uint8_t referenceColor[3]; // Remove luminance static inline void normalize( const uint8_t colorIn[], uint8_t colorOut[] ) { // Dot product int sum = 0; for (int i = 0; i < 3; i++) sum += colorIn[i] / 3; for (int j = 0; j […]

在屏幕上的不同点上渲染多个纹理,而不使用点精灵

我正在构build一个ios绘图应用程序,并且很难在不同的点上在屏幕上绘制绘制纹理。 在线大多数教程指的是在屏幕上渲染一定大小的单个纹理。 不过,我正在寻找的是提供一个2d顶点的数组,在这个顶点上绘制基于用户在屏幕上触摸的位置计算出来的绘制纹理。 我使用的点精灵不需要我指定纹理坐标,而使用hte原始对象来绘制纹理。 但是,我想使用纹理坐标来提供一个原始对象(如用三angular形条绘制的四边形)。 任何想法如何做到这一点? 任何指针都会有帮助。 注:Kunal

从GLPaint保存imageRef会创build完全黑色的图像

嗨,我正在尝试绘制应用程序,并有一个问题,当涉及到保存所绘制的图像。 现在我很早就学习这个,但我已经添加了代码: 如何从EAGLView获得UIImage? 保存绘制的图像。 我创build了一个新的应用程序,然后显示我创build的viewController。 在IB中,我添加了一个是PaintingView的视图,imageView位于它的后面。 到目前为止,我对绘画视图所做的唯一修改是将背景变为清晰,并将背景设置为清晰,以便我可以在其后显示图像。 绘图效果很好,我唯一的问题就是保存。 – (void)saveImageFromGLView:(UIView *)glView { if(glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES) { /// This IS being activated with code 0 NSLog(@"failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES)); } int s = 1; UIScreen* screen = [ UIScreen mainScreen ]; if ( [ screen respondsToSelector:@selector(scale) ] ) s = (int) [ […]

glReadPixels不读取iOS上的深度缓冲区值

我似乎无法读取iOS 4.3上的OpenGL ES2深度缓冲区值 afDepthPixels = (float*)malloc(sizeof(float) * iScreenWidth * iScreenHeight); glReadPixels(0, 0, iScreenWidth, iScreenHeight, GL_DEPTH_COMPONENT, GL_FLOAT, afDepthPixels); 我的深度缓冲区是目前绑定到位和可操作的,但是该函数只读取0值,它似乎几乎立即返回。 如果我给它一个GL_RGBA,这将需要一段时间,并且确实会返回结果。 这个function在iOS的ES2上不被支持? 谢谢!

在iOS上渲染纹理OpenGL ES在模拟器上工作,但不在设备上

为了提高我的OpenGL ES应用程序在iPad上的性能,我打算绘制一个很less更新但重塑元素的纹理,所以我可以使用纹理,除非元素必须重绘。 然而,虽然纹理在模拟器和设备上都被正确地映射,但是只有在模拟器上才是真正渲染到纹理中的东西。 以下是我添加到项目中的代码。 在设置场景的同时,我创build了所需的缓冲区和纹理: int width = 768; int height = 270; // Prepare texture for off-screen rendering. glGenTextures(1, &wTexture); glBindTexture(GL_TEXTURE_2D, wTexture); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE); glClearColor(.9f, .3f, .6f, 1.0f); // DEBUG glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); glBindTexture(GL_TEXTURE_2D, 0); […]

GLKView和EAGLView有什么区别?

我已经看到在iOS应用程序中使用EAGLView和GLKView。 他们之间有什么区别?

我如何对这个OpenGL ES纹理应用正确的视angular?

我想描述我的目标,并得到一些build议解决scheme的反馈。 我对OpenGL ES(或者OpenGL ES)相当陌生,所以请温和。 我也想提一下,这个平台是iPad(iOS),它是属于它的限制。 目标:让用户以正确的视angular(或至less可调整的透视图)正确地绘制纹理的顶点。 为了解释我的意思,请考虑下面的例子。 比方说,我们有一个在它前面有一个相应的草坪的房子的照片。 现在,我想铺平(用户)指定的path与瓷砖(纹理),使透视看起来是正确的。 如果视图恰好是正交的,那么这些图块将是完全正方形的,这在图像中具有某种深度时是不现实的。 现在,一种方法是在OpenGL ES上设置一个截然不同的视angular。 然后把一架飞机(如下图),并把它的图像纹理为初学者。 现在,如你所期望的,从上面的图像看,图像将被扭曲。 但是,这很好,因为如果我们将飞机向后倾斜(以便完美地适应显示器的边界),图像将呈现方形。 如果用户现在定义了要铺设的区域,我们可以将这些点放在与倾斜平面相同的angular度,然后在其中放置一个带有正方形瓷砖的纹理,并以透视的方式出现。 如果我们的倾斜angular度不正确,用户可以手动调整,那么上图中的平面的angular度angular度将会被调整,并且平面会以不同的方式倾斜以适合显示器。 然后瓷砖纹理将从不同的angular度出现。 这是一个可行的方法,还是有其他更好的方法来做到这一点? 我认为这是一个丑陋的黑客,可能与我有限的3D编程技能有关。