Tag: opengl es

EAGLView到UIImage计时问题

我有一个EAGLView,我想转换成一个UIImage。 我可以用这里发布的解决scheme来做到这一点: 如何从EAGLView获取UIImage? 但是,如果在创buildEAGLView和UIImage之间经过一段时间,我只能做到这一点。 这个代码创build了一个EAGLView,然后是一个UIImageView,但是不能正常工作: EAGLView *EAGLphoto = [[EAGLView alloc] initWithImage:photo.workAreaImage]; [theWorkArea.photoArea1 addSubview:EAGLphoto]; //I put a glfinish() here but it didn't help UIImageView *photoView = [[UIImageView alloc] initWithImage:[self glToUIImage]]; //glToUIImage is taken from the link above [theWorkArea.photoArea2 addSubview:photoView]; 我假设UIImageView尝试在EAGLView完成创build之前创build。 我试图把glfinish()放在中间,但是什么也没做。 当我运行代码时,EAGLView显示正常,但UIImageView显示为黑色。 但是,上述代码的这个修改版本的工作原理是: EAGLView *EAGLphoto = [[EAGLView alloc] initWithImage:photo.workAreaImage]; [theWorkArea.photoArea1 addSubview:EAGLphoto]; [self performSelector:@selector(getUIImage) withObject:nil afterDelay:0.1]; – […]

opengl es(iphone)从文件渲染

对不起我的英语不好 我想从一个文件显示video,其中每个像素4个字节的帧,BRGA,1280×720? 在Mac上,我只是拿出框架,并绘制了这个glDrawPixels,在Mac上运行,但在opengl ES不同。 这里是来自mac的代码 int pos = 0; NSData *data = [[NSData alloc] initWithContentsOfFile:@"video.raw"]; glViewport(0,0,width,height); glLoadIdentity(); glOrtho(0, width, 0, height, -1.0, 1.0); glPixelZoom(1, -1); glClear(GL_COLOR_BUFFER_BIT); //glRasterPos2i(0, height); glRasterPos2i(0, 0); glDrawPixels(1280, 720, GL_BGRA, GL_UNSIGNED_BYTE, [data bytes]+pos); glFinish();

OpenGL ES 2.0 / MonoTouch:纹理呈红色

我正在将一个立方体贴图加载到我的应用程序中,但显示为红色。 编辑:使用2D纹理时,通道问题也存在,看起来通道的顺序不正确。 有没有办法改变使用iOS方法的渠道的顺序? 这是纹理加载的代码: public TextureCube (Generic3DView device, UIImage right, UIImage left, UIImage top, UIImage bottom, UIImage front, UIImage back) : base(device) { _Device = device; GL.GenTextures (1, ref _Handle); GL.BindTexture (TextureType, _Handle); LoadTexture(All.TextureCubeMapPositiveX, right); LoadTexture(All.TextureCubeMapNegativeX, left); LoadTexture(All.TextureCubeMapPositiveY, top); LoadTexture(All.TextureCubeMapNegativeY, bottom); LoadTexture(All.TextureCubeMapPositiveZ, front); LoadTexture(All.TextureCubeMapNegativeZ, back); GL.TexParameter(All.TextureCubeMap, All.TextureMinFilter, (Int32)All.LinearMipmapLinear); GL.TexParameter(All.TextureCubeMap, All.TextureMagFilter, (Int32)All.Linear); GL.GenerateMipmap(All.TextureCubeMap); } private void […]

你如何在iOS上的OpenGL中使用fbx文件?

有一个常用的图书馆吗? 如果一切都失败了,我只是自己写一些东西来导入文件,它们看起来不是太复杂,但是我想知道是否有一个更简单的方法,比如开源项目或者其他东西。

如何将任何颜色的色度键filter应用于相机馈送ios?

基本上我想将色度键filter应用于ios实时摄像头,但我希望用户select将被另一种颜色replace的颜色。 我发现一些使用绿色屏幕的例子,但我不知道如何dynamicreplace颜色,而不是只是绿色。 任何想法如何才能达到最佳性能?

无法在CADisplayLink渲染循环中绑定EAGLDrawable

我使用CADisplayLink渲染循环callback来渲染一系列openGL的图像纹理。 在CADisplayLink的第一个callback调用后,我只是得到这些错误输出 Failed to bind EAGLDrawable: <CAEAGLLayer: 0x946bb40> to GL_RENDERBUFFER 2 Failed to make complete framebuffer object 8cd6 我设置了renderBuffer&frameBuffer并在控制器的viewDidLoad阶段中调用glFramebufferRenderbuffer,glCheckFramebufferStatus的返回在该阶段没有问题。 这是我正在使用的代码。 //GLKViewController.m typedef struct { GLKVector3 positionCoords; GLKVector2 textureCoords; }SceneVertex; static const SceneVertex vertices[] = { {{-1.0f, -1.0f, 0.0f}, {0.0f, 0.0f}}, // lower left corner {{ 1.0f, -1.0f, 0.0f}, {1.0f, 0.0f}}, // lower right corner {{-1.0f, […]

gpus_ReturnGuiltyForHardwareRestart

我发现了更多关于这个bug的细节。 似乎与这个信息有关,gpus_ReturnGuiltyForHardwareRestart。 谷歌之后,似乎有关于这个bug的信息相当有限。 你有没有遇到过,知道如何解决这个问题? 我认为有必要更新我发现的有关崩溃的内容。 看来,上面描述的崩溃是不相关的子视图后,我禁用所有行处理子视图,崩溃仍然发生。 相关代码如下, { float scissor_x = _xMin; float scissor_y = _yMin; float scissor_w = _xAdd; float scissor_h = _yAdd; glEnable(GL_SCISSOR_TEST); glScissor(scissor_x, scissor_y, scissor_w, scissor_h); computeXY();//process some computation. glDisable(GL_SCISSOR_TEST); drawImage();//render the result computed above to the screen. _xAdd++; _yAdd++; _xAdd = (_xAdd > 300) ? 100 : _xAdd; _yAdd = (_yAdd […]

核心animation的鱼眼效果?

我试图达到类似于ABC新闻iPad应用程序的地球的效果。 ( Google图片示例 ) 通过转换CALayers可以得到这种效果吗? 或者这是使用OpenGL和片段/顶点着色器? CALayer提供了对变换matrix的访问,是否有一些math可以应用于此,而不是转换OGL模型视图matrix? 感觉像OGL是这样做的更复杂的方式,应该有一个更简单的解决scheme。 如果有人有一些想法,非常感谢。 谢谢!

iOS的OpenGL使用glTexImage2D的参数,使UIImage?

我正在通过一些现有的代码为我分配的项目工作。 我有一个成功的调用glTexImage2D像这样: glTexImage2D(GL_TEXTURE_2D, 0, texture->format, texture->widthTexture, texture->heightTexture, 0, texture->format, texture->type, texture->data); 我想创build一个图像(最好是CGImage或UIImage )使用传递给glTexImage2D的variables,但不知道是否有可能。 我需要从OpenGL视图创build许多顺序图像(每秒钟很多),并保存以备后用。 我应该能够使用glTexImage2D使用的variables创build一个CGImage或UIImage ? 如果我能够,我该怎么做呢? 如果没有,为什么我不能和我build议保存/捕获我的opengl视图的内容每秒多次? 编辑:我已经成功地使用glReadPixels等提供的苹果提供的一些技术捕捉图像我希望更快的东西,所以我可以每秒获得更多的图像。 编辑:审查和添加汤姆森的代码后,这里是由此产生的图像: 图像非常类似于图像应该看起来像,除了水平重复~5倍,下面有一些随机的黑色空间。 注意:video(每一帧)数据通过一个ad-hocnetworking连接到iPhone。 我相信相机是用YCbCr色彩空间拍摄每一帧 编辑:进一步审查汤姆森的代码我已经将您的新代码复制到我的项目,并得到了不同的图像作为结果: 宽度:320高度:240 我不知道如何find纹理 – >数据中的字节数。 这是一个无效的指针。 编辑:格式和types texture.type = GL_UNSIGNED_SHORT_5_6_5 texture.format = GL_RGB

四边形OpenGL ES 1.1中的纹理变形问题是由三angular形带组成的

我正在使用三angular形条创build一个四边形。 问题是,当我尝试使用矩形纹理来绘制它时,我想要在形状上均匀插值。 只要形状是一个矩形或矩形的仿射变换,我就会有两个相同的三angular形来构build形状,一切都很顺利。 但是随意的形状,三angular形有不同的形状,三angular形的公共边缘自然会出现变形。 _____ ______ _____ | | / / \ / |_____| /_____/ \_/ Ok Ok Not Ok 我想在ES 2.0中使用自定义着色器解决这个问题是相当简单的,但是如何在ES 1.1中实现呢?