Tag: opengl es 2.0

OpenGL-ES 2.0 VS OpenGL-ES 1.1,哪个更快?

我已经使用OpenGL-ES 1.1编写了一个应用程序,但是我想知道是否有切换到2.0的速度增益。 有没有人做过大型多边形计数模型的testing? 我只想渲染具有不同颜色的三angular形,没有任何幻想。 但是,我想为我的对比testing渲染大约一百万个三angular形。

如何在OpenGL ES 2.0中实现glOrthof

我正试图将我的OpenGL ES 1应用程序转换为OpenGL ES 2应用程序,以便能够使用着色器。 现在我使用glOrthof函数来创build一个“真实大小的视口”,这样我就可以将顶点放置在OpenGL视图中的“实际”像素上。 glOrthof(0, _frame.size.width, _frame.size.height, 0, -1, 1); 我很难find如何在OpenGL ES 2实现这一点,有没有人可以告诉我如何做到这一点? 如果没有,有没有人有一个良好的OpenGL ES 1 to OpenGL ES 2教程/解释的链接?

OpenGL ES 2.0 iOS中的球体

可能重复: 在OpenGL ES中绘制一个球体 我已经浏览了很长一段时间了,还没有find合适的答案。 我开始学习Opengl ES 2.0(因为我需要在大学里做一个项目),最近完成了一个圆圈。 WOOPIE! 我已经看了很多类似的问题,但是这个问题要么过时,要么我太复杂了。 任何人都可以指出我如何在iOS上用opengl ES 2.0绘制一个坚实的球体的正确方向吗?

基于iOS的OpenGL ES编程

我需要find为iPhone学习openGL ES的资源。 我已经看过Brad Larson的精彩video,现在我正在从苹果下载高级video。 我知道很多关于iOS编程的知识,但是在OpenGL上却一无所知,所以我不认为我已经知道了openGL。 我想学习大部分的OpenGLfunction,但我的主要目标是能够基于触摸位置来操作图像。 更具体地说,我想创build一个跟随用户手指的水波纹效果。 我知道StackFlow有很多方程来实现这个,但是在找出如何使用它们的时候,我却迷失了方向。

在iPhone中使用OpenGL ES绘制直线?

最后,我试图在XCode 4.2中使用OpenGL ES框架为iPhone简单的游戏app.I研究了一些关于GLKView和GLKViewController在iPhone中绘制一条线。 这是我在我的项目中尝试过的示例代码, @synthesize context = _context; @synthesize effect = _effect; – (void)viewDidLoad { [super viewDidLoad]; self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; if (!self.context) { NSLog(@"Failed to create ES context"); } GLKView *view = (GLKView *)self.view; view.context = self.context; view.drawableDepthFormat = GLKViewDrawableDepthFormat24; [EAGLContext setCurrentContext:self.context]; //[self setupGL]; } – (void)glkView:(GLKView *)view drawInRect:(CGRect)rect { NSLog(@"DrawInRect Method"); [EAGLContext […]

OpenGL ES到iOS中的video(渲染为具有iOS 5纹理caching的纹理)

你知道苹果的CameraRipple效果的示例代码? 那么我试图在openGL完成水的所有酷的效果之后将相机输出logging在文件中。 我用glReadPixels完成了这个工作,在这里我读取了void *缓冲区中的所有像素,创buildCVPixelBufferRef并将其附加到AVAssetWriterInputPixelBufferAdaptor中,但速度太慢,因此readPixels需要大量的时间。 我发现使用FBO和纹理现金你可以做同样的事情,但更快。 下面是我在Apple使用的drawInRect方法中的代码: CVReturn err = CVOpenGLESTextureCacheCreate(kCFAllocatorDefault, NULL, (__bridge void *)_context, NULL, &coreVideoTextureCashe); if (err) { NSAssert(NO, @"Error at CVOpenGLESTextureCacheCreate %d"); } CFDictionaryRef empty; // empty value for attr value. CFMutableDictionaryRef attrs2; empty = CFDictionaryCreate(kCFAllocatorDefault, // our empty IOSurface properties dictionary NULL, NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); attrs2 = CFDictionaryCreateMutable(kCFAllocatorDefault, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); […]

如何使用OpenGL ES 2.0应用光源?

我试图find任何教程或示例代码,解释和显示在OpenGL ES 2.0灯的用法。 我在网上看到的大多数资料都是指Opengl ES 1.1。 任何人都可以提供任何关于如何在OpenGL ES 2.0中进行照明的链接或文档?

从GLKView / GLKit获取默认帧缓冲区ID

我在我的IOS OpenGL ES 2.0项目中使用GLkit / GLKView来pipe理我的应用程序的默认FBO /生命周期。 在桌面OpenGL中,为了绑定默认的FBO(前台缓冲区),我只能调用glBindFrameBuffer(GL_FRAMEBUFFER,0),但是在iOS应用中并不是这样,因为你必须自己创build默认的FBO,并且它将有唯一的ID; 问题是GLKit / GLKView编码风格迫使我使用GLKView的“bindDrawable”函数来激活默认的FBO,这使得我的跨平台渲染系统的devise有点难看(必须将GLKView指针存储为void *在我的c ++引擎类和桥每次我想要执行默认的FBO绑定时将其转换) 有没有办法获得GLKit / GLKView创build的默认FBO ID,以便我可以存储和使用它绑定默认的帧缓冲区在我的代码中的任何地方? 在最坏的情况下,我可以恢复自己创build默认的FBO,并分离GLKit / GLKView,但它是一个很好的框架,我想继续使用它。 对不起,我的英文不好,并提前感谢任何答复。

OpenGL ES 2.0片段着色器模糊速度慢,质量差

我正在尝试为iPad写一个模糊着色器。 我有它的工作,但我不是很高兴的结果。 我得到非常不连贯的帧率,模糊量高时,模糊看起来像废话。 任何想法如何改善事情? 一些示例输出: uniform sampler2D texture; varying mediump vec2 fragTexCoord; varying mediump vec3 eyespaceNormal; varying highp float blurAmount; void main(void) { highp vec2 gaussFilter[7]; gaussFilter[0] = vec2(-3.0, 0.015625); gaussFilter[1] = vec2(-2.0, 0.09375); gaussFilter[2] = vec2(-1.0, 0.234375); gaussFilter[3] = vec2(0.0, 0.3125); gaussFilter[4] = vec2(1.0, 0.234375); gaussFilter[5] = vec2(2.0, 0.09375); gaussFilter[6] = vec2(3.0, 0.015625); highp […]

iOS OpenGL ES 2.0:离屏渲染并将结果保存到UIImage

我正在使用OpenGL ES来渲染一些特殊效果,我不想把这个显示给用户,我只是想将结果保存为一个UIImage,任何人都可以帮我吗? 这是我正在使用的代码,我可以得到一个图像,其中包含我使用的红色清除颜色,但没有显示几何graphics。 #import "RendererGL.h" #import <GLKit/GLKit.h> #import <UIKit/UIKit.h> #import <OpenGLES/EAGL.h> #import <OpenGLES/EAGLDrawable.h> #import <OpenGLES/ES2/glext.h> #import <QuartzCore/QuartzCore.h> static NSInteger WIDTH_IN_PIXEL = 400; static NSInteger HEIGHT_IN_PIXEL = 300; typedef struct { GLKVector3 positionCoords; } SceneVertex; static const SceneVertex vertices[] = { {{-0.5f, -0.5f, 0.0}}, // lower left corner {{ 0.5f, -0.5f, 0.0}}, // lower right corner […]