Tag: 操作系统

如何从目标c中的静态方法调用非静态方法?

我有一个类,我正在使用单例模式。我有静态方法。现在我想调用静态方法内的非静态方法,但我无法调用它。请告诉我什么是解决scheme。 #import "ThemeManager.h" @implementation ThemeManager +(ThemeManager *)sharedInstance { NSLog(@"shared instance called"); static ThemeManager *sharedInstance = nil; if (sharedInstance == nil) { sharedInstance = [[ThemeManager alloc] init]; } [self getPref];//i get error at this line return sharedInstance; } -(void)getPref { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *themeName = [defaults objectForKey:@"theme"] ?: @"default"; NSLog(@"theme name is %@",themeName); […]

iOS应用程序的快速录制

我是OpenGL ES的新手。 我正在尝试编写iOS应用程序的屏幕录制代码,尤其是游戏。 我在这个答案中使用了代码中描述的“渲染到纹理”方法来捕获屏幕并为cocos2d游戏编写video。 我做的一个修改是,当我调用CVOpenGLESTextureCacheCreate然后我使用[EAGLContext currentContext]而不是 [[GPUImageOpenGLESContext sharedImageProcessingOpenGLESContext] context] 它logging的video,但有两个问题 (1) – 开始录制时,屏幕上的新graphics停止。 我希望应用程序继续在屏幕上绘图。 由于我是OpenGL ES的新手,对帧缓冲对象没有深入的了解,所以我很难弄清楚如何同时在屏幕上绘图并捕捉屏幕。 我会欣赏这方面的代码示例。 (2) – 录制的video翻转倒置。 我怎样才能正确的方向? 以前我也考虑过glReadPixels方法,但是这有性能上的缺点。 更新:也想到了一些想法。 根据我的一点理解, 我可以简单地画我的纹理,但不知道如何。 要么 我可以有一个第二FBO,我可以附加纹理,即 glGenFramebuffersOES(1, &textureFrameBuffer); glBindFramebufferOES(GL_FRAMEBUFFER_OES, textureFrameBuffer); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, CVOpenGLESTextureGetName(renderTexture), 0); //Then I restore the screen FBO. glBindFramebufferOES(GL_FRAMEBUFFER_OES, 1); 但是,如果我这样做,那么我如何将屏幕绘图复制到我的第二FBO?

如何使用OpenGL ES 2.0旋转对象?

在OpenGL ES 1.1中,可以使用glRotatef()来旋转模型,但OpenGL ES 2.0中不存在该函数。 因此,如何在OpenGL ES 2.0中执行旋转?

CABasicAnimation在animation完成后不改变其位置属性

我正在将CABasicAnimation应用于一层animation效果良好的位置属性,但是在animation完成其回到原始位置之后如何避免这种情况,并使图像只停留在animation位置?

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

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

基于iOS的OpenGL ES编程

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

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

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

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 […]

用OpenGL ES结合核心animation

编辑:我想,而不是下面的长解释,我可能还会问:发送-setNeedsDisplay的实例不会导致图层重绘(即, -drawInContext:不会被调用)。 相反,我得到这个控制台消息: <GLLayer: 0x4d500b0>: calling -display has no effect. 有没有办法解决这个问题? 我可以调用-drawInContext:何时调用-drawInContext: ? 下面的解释很长: 我有一个OpenGL的场景,我想使用核心animationanimationanimation。 遵循在CALayer中animation定制属性的标准方法,我创build了CAEAGLLayer的子类,并在其中定义了一个属性sceneCenterPoint ,其值应该是animation的。 我的图层还拥有对OpenGL渲染器的引用: #import <UIKit/UIKit.h> #import <QuartzCore/QuartzCore.h> #import "ES2Renderer.h" @interface GLLayer : CAEAGLLayer { ES2Renderer *renderer; } @property (nonatomic, retain) ES2Renderer *renderer; @property (nonatomic, assign) CGPoint sceneCenterPoint; 然后我声明属性@dynamic让CA创build访问器,覆盖+needsDisplayForKey:并实现-drawInContext:将sceneCenterPoint属性的当前值传递给渲染器,并让它渲染场景: #import "GLLayer.h" @implementation GLLayer @synthesize renderer; @dynamic sceneCenterPoint; + (BOOL) needsDisplayForKey:(NSString *)key […]

如何在Mac豹更新Xcode 3.2.5到4.4.1版本?

我运行的Mac OS X 10.6.8(最近更新)。 其中Xcode 3.2.5已经安装。 而我喜欢安装4.4.1(最新版本)。 但我得到的dmg图标,不允许我安装最新版本的xcode十字符号。 请在此引导我。 谢谢。