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; diff --git a/BCMeshTransformView/BCMeshTransform.h b/BCMeshTransformView/BCMeshTransform.h index 4238334..67aff98 100644 --- a/BCMeshTransformView/BCMeshTransform.h +++ b/BCMeshTransformView/BCMeshTransform.h @@ -64,7 +64,7 @@ extern NSString * const kBCDepthNormalizationAverage; @interface BCMutableMeshTransform : BCMeshTransform - + @property (nonatomic, copy) NSString *depthNormalization; + (instancetype)meshTransform; 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 { diff --git a/BCMeshTransformView/BCMeshTransformView.h b/BCMeshTransformView/BCMeshTransformView.h index 9f602b1..d57035c 100644 --- a/BCMeshTransformView/BCMeshTransformView.h +++ b/BCMeshTransformView/BCMeshTransformView.h @@ -6,12 +6,14 @@ // #import - +#import #import "BCMeshTransform.h" #import "BCMutableMeshTransform+Convenience.h" @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. diff --git a/BCMeshTransformView/BCMeshTransformView.m b/BCMeshTransformView/BCMeshTransformView.m index 7a2a578..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; @@ -120,6 +118,10 @@ - (void)commonInit self.meshTransform = [BCMutableMeshTransform identityMeshTransformWithNumberOfRows:1 numberOfColumns:1]; } +-(void)dealloc { + [_displayLink invalidate]; +} + - (void)layoutSubviews { [super layoutSubviews];