28
- (void) setupGraphicsForApi: (EAGLRenderingAPI) glApi
31
secondaryContext = [[EAGLContext alloc] initWithAPI: glApi sharegroup: [context sharegroup]];
33
glClearColor(0.0f,0.0f,0.0f,1.0f);
35
if ([[EAGLContext currentContext] API] == kEAGLRenderingAPIOpenGLES2)
37
imgShader = [[[ESShader shader] initWithVertexShaderFile: @"jigsawPiece.vs" fragmentShaderFile: @"jigsawPiece.fs"] retain];
41
imgShader = [[[ESShader shader] init] retain];
26
47
- (void) setImage: (UIImage*) img
49
[EAGLContext setCurrentContext: secondaryContext];
52
[self textureFromCgImage: [img CGImage] texName: &tex width: 320 height: 480 repeat: NO mipmap: NO filter: NO];
28
56
@synchronized(self)
63
glDeleteTextures(1, &imageTex);
34
[self performSelectorOnMainThread: @selector(setNeedsDisplay) withObject: nil waitUntilDone: NO];
69
[self performSelectorOnMainThread: @selector(drawView) withObject: nil waitUntilDone: NO];
35
70
//[self setNeedsDisplay];
77
[self setupViewDrawing];
79
glDisable(GL_CULL_FACE);
80
glEnable(GL_TEXTURE_2D);
81
glDisable(GL_DEPTH_TEST);
83
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
85
glBindTexture(GL_TEXTURE_2D, imageTex);
87
[imgShader bindShader];
89
[imgShader setColorRed: 1.0f green: 1.0f blue: 1.0f alpha: 1.0f];
91
[imgShader setTextureMatrix: &I];
92
[imgShader setProjectionMatrix: &I];
93
[imgShader setModelviewMatrix: &I];
95
[[VertexArray sharedQuad] draw];
98
[self finishViewDrawing];
38
103
- (void) doDrawingInContext: (void*) _c
40
105
CGContextRef c = (CGContextRef)_c;