From 0d62bee6dbd9d06b75e0712aef998932bcf32738 Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sat, 13 May 2017 12:38:34 +0300 Subject: [PATCH 1/8] _display link memory issue fixed --- BCMeshTransformView/BCMeshTransformView.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BCMeshTransformView/BCMeshTransformView.m b/BCMeshTransformView/BCMeshTransformView.m index 7a2a578..19f2150 100644 --- a/BCMeshTransformView/BCMeshTransformView.m +++ b/BCMeshTransformView/BCMeshTransformView.m @@ -120,6 +120,10 @@ - (void)commonInit self.meshTransform = [BCMutableMeshTransform identityMeshTransformWithNumberOfRows:1 numberOfColumns:1]; } +-(void)dealloc { + [_displayLink invalidate]; +} + - (void)layoutSubviews { [super layoutSubviews]; From fab5e42df16933274f9d9a99c9c90ebe63a7017e Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 10:52:13 +0300 Subject: [PATCH 2/8] Expose glkview --- BCMeshTransformView/BCMeshTransformView.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BCMeshTransformView/BCMeshTransformView.h b/BCMeshTransformView/BCMeshTransformView.h index 9f602b1..24c22d7 100644 --- a/BCMeshTransformView/BCMeshTransformView.h +++ b/BCMeshTransformView/BCMeshTransformView.h @@ -12,6 +12,8 @@ @interface BCMeshTransformView : UIView +@property (nonatomic, strong) GLKView *glkView; + // Animatable. Animation won't fire for incompatible mesh transforms. // Animation will always begin from current state, even if UIViewAnimationOptionBeginFromCurrentState // option is not set. Defaults to identity transform with 4 vertices. From d0b68304ff8a6db2a3cb8d8873586e0610e07f15 Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 11:00:36 +0300 Subject: [PATCH 3/8] Expose glkview --- BCMeshTransformView/BCMeshTransformView.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BCMeshTransformView/BCMeshTransformView.h b/BCMeshTransformView/BCMeshTransformView.h index 24c22d7..d57035c 100644 --- a/BCMeshTransformView/BCMeshTransformView.h +++ b/BCMeshTransformView/BCMeshTransformView.h @@ -6,7 +6,7 @@ // #import - +#import #import "BCMeshTransform.h" #import "BCMutableMeshTransform+Convenience.h" From 26268d46b0170f53c45560a9dc149b1cb9cbcbb3 Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 11:00:58 +0300 Subject: [PATCH 4/8] Expose glkview --- BCMeshTransformView/BCMeshTransformView.m | 2 -- 1 file changed, 2 deletions(-) diff --git a/BCMeshTransformView/BCMeshTransformView.m b/BCMeshTransformView/BCMeshTransformView.m index 19f2150..4fa4d5c 100644 --- a/BCMeshTransformView/BCMeshTransformView.m +++ b/BCMeshTransformView/BCMeshTransformView.m @@ -22,8 +22,6 @@ @interface BCMeshTransformView() -@property (nonatomic, strong) GLKView *glkView; - @property (nonatomic, strong) BCMeshShader *shader; @property (nonatomic, strong) BCMeshBuffer *buffer; @property (nonatomic, strong) BCMeshTexture *texture; From 9a832fc4a08f8c75a9271035a5088a7eb6a92733 Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 11:04:11 +0300 Subject: [PATCH 5/8] use bundle resources --- BCMeshTransformView/BCMeshShader.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BCMeshTransformView/BCMeshShader.m b/BCMeshTransformView/BCMeshShader.m index 346ec49..539b0dd 100644 --- a/BCMeshTransformView/BCMeshShader.m +++ b/BCMeshTransformView/BCMeshShader.m @@ -19,13 +19,14 @@ - (BOOL)loadProgram _program = glCreateProgram(); - vertShaderPathname = [[NSBundle mainBundle] pathForResource:[self shaderName] ofType:@"vsh"]; + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + vertShaderPathname = [bundle pathForResource:[self shaderName] ofType:@"vsh"]; if (![self compileShader:&vertShader type:GL_VERTEX_SHADER file:vertShaderPathname]) { NSLog(@"Failed to compile vertex shader \"%@\"", [self shaderName]); return NO; } - fragShaderPathname = [[NSBundle mainBundle] pathForResource:[self shaderName] ofType:@"fsh"]; + fragShaderPathname = [bundle pathForResource:[self shaderName] ofType:@"fsh"]; if (![self compileShader:&fragShader type:GL_FRAGMENT_SHADER file:fragShaderPathname]) { NSLog(@"Failed to compile fragment shader \"%@\"", [self shaderName]); return NO; From 607e52b2b5c7580dadd332ed0e8787814f6c1cbe Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 11:05:14 +0300 Subject: [PATCH 6/8] silence compiler warnings --- BCMeshTransformView/BCMeshTransform.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BCMeshTransformView/BCMeshTransform.h b/BCMeshTransformView/BCMeshTransform.h index 4238334..ac4d0e8 100644 --- a/BCMeshTransformView/BCMeshTransform.h +++ b/BCMeshTransformView/BCMeshTransform.h @@ -65,7 +65,7 @@ extern NSString * const kBCDepthNormalizationAverage; @interface BCMutableMeshTransform : BCMeshTransform -@property (nonatomic, copy) NSString *depthNormalization; +@dynamic depthNormalization; + (instancetype)meshTransform; From 1e71044e72ba759c7410fcd51a7d86b5dcb4d802 Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 11:11:33 +0300 Subject: [PATCH 7/8] silence compiler warnings --- BCMeshTransformView/BCMeshTransform.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BCMeshTransformView/BCMeshTransform.h b/BCMeshTransformView/BCMeshTransform.h index ac4d0e8..67aff98 100644 --- a/BCMeshTransformView/BCMeshTransform.h +++ b/BCMeshTransformView/BCMeshTransform.h @@ -64,8 +64,8 @@ extern NSString * const kBCDepthNormalizationAverage; @interface BCMutableMeshTransform : BCMeshTransform - -@dynamic depthNormalization; + +@property (nonatomic, copy) NSString *depthNormalization; + (instancetype)meshTransform; From 477cd98724ae967b97e5312dbffd97499d014d17 Mon Sep 17 00:00:00 2001 From: Yaroslav Erohin Date: Sun, 14 May 2017 11:11:54 +0300 Subject: [PATCH 8/8] silence compiler warnings --- BCMeshTransformView/BCMeshTransform.mm | 1 + 1 file changed, 1 insertion(+) diff --git a/BCMeshTransformView/BCMeshTransform.mm b/BCMeshTransformView/BCMeshTransform.mm index 710ad5c..bd3338c 100644 --- a/BCMeshTransformView/BCMeshTransform.mm +++ b/BCMeshTransformView/BCMeshTransform.mm @@ -131,6 +131,7 @@ - (BCMeshVertex)vertexAtIndex:(NSUInteger)vertexIndex @implementation BCMutableMeshTransform +@dynamic depthNormalization; + (instancetype)meshTransform {