Ios GLDrawArray上的应用程序崩溃(GLU三角形带,0,4);在GPUImageFilter中

Ios GLDrawArray上的应用程序崩溃(GLU三角形带,0,4);在GPUImageFilter中,ios,iphone,blur,gpuimage,Ios,Iphone,Blur,Gpuimage,如果我尝试将模糊区域从圆形改为矩形,或从矩形改为圆形,我会在“glDrawArrays(glDrawArrays(GLU三角形条带,0,4)”这一行上获得此错误EXE_BAD_访问权限 谁能建议我怎么办 -(IBAction) handleTapToFocus:(UITapGestureRecognizer *)tgr { if (hasBlur) { if (!isSquareBlurr) { blurFilter = nil; [self s

如果我尝试将模糊区域从圆形改为矩形,或从矩形改为圆形,我会在“glDrawArrays(glDrawArrays(GLU三角形条带,0,4)”这一行上获得此错误EXE_BAD_访问权限 谁能建议我怎么办

-(IBAction) handleTapToFocus:(UITapGestureRecognizer *)tgr
{

if (hasBlur)
{
    if (!isSquareBlurr)
    {
        blurFilter = nil;
        [self showBlurOverlay:NO];
        hasBlur = NO;
        [self prepareFilter];

        [focusImgView setImage:[UIImage imageNamed:@"rect_focus.png"]];

        blurFilter = [[GPUImageGaussianSelectiveBlurFilter alloc] initwithrect];
        [(GPUImageGaussianSelectiveBlurFilter*)blurFilter setExcludeCircleRadius:80.0/320.0];
        [(GPUImageGaussianSelectiveBlurFilter*)blurFilter setExcludeCirclePoint:CGPointMake(0.5f, 0.5f)];
        [(GPUImageGaussianSelectiveBlurFilter*)blurFilter setAspectRatio:1.0f];
        focusImgView.hidden = FALSE;
        hasBlur = YES;
        [self flashBlurOverlay];
        [self prepareFilter];
        isSquareBlurr = TRUE;
    }
    else
    {
        blurFilter = nil;
        [self showBlurOverlay:NO];
        hasBlur = NO;
        [self prepareFilter];
        [focusImgView setImage:[UIImage imageNamed:@"round_focus.png"]];
        blurFilter = [[GPUImageGaussianSelectiveBlurFilter alloc] init];
        [(GPUImageGaussianSelectiveBlurFilter*)blurFilter setExcludeCircleRadius:80.0/320.0];
        [(GPUImageGaussianSelectiveBlurFilter*)blurFilter setExcludeCirclePoint:CGPointMake(0.5f, 0.5f)];
        [(GPUImageGaussianSelectiveBlurFilter*)blurFilter setAspectRatio:1.0f];

        hasBlur = YES;
        focusImgView.hidden = TRUE;
        [self flashBlurOverlay];
        [self prepareFilter];
        isSquareBlurr = FALSE;
    }

    if (!isStatic && tgr.state == UIGestureRecognizerStateRecognized)
    {
        CGPoint location = [tgr locationInView:self.MimageView];
        AVCaptureDevice *device = stillCamera.inputCamera;
        CGPoint pointOfInterest = CGPointMake(.5f, .5f);
        CGSize frameSize = [[self MimageView] frame].size;
        if ([stillCamera cameraPosition] == AVCaptureDevicePositionFront)
        {
            location.x = frameSize.width - location.x;
        }
        pointOfInterest = CGPointMake(location.y / frameSize.height, 1.f - (location.x / frameSize.width));
        if ([device isFocusPointOfInterestSupported] && [device isFocusModeSupported:AVCaptureFocusModeAutoFocus])
        {
            NSError *error;
            if ([device lockForConfiguration:&error])
            {
                [device setFocusPointOfInterest:pointOfInterest];

                [device setFocusMode:AVCaptureFocusModeAutoFocus];

                if([device isExposurePointOfInterestSupported] && [device isExposureModeSupported:AVCaptureExposureModeContinuousAutoExposure])
                {
                    [device setExposurePointOfInterest:pointOfInterest];
                    [device setExposureMode:AVCaptureExposureModeContinuousAutoExposure];
                }

                self.focusView.center = [tgr locationInView:self.view];
                self.focusView.alpha = 1;

                [UIView animateWithDuration:0.5 delay:0.5 options:0 animations:^{
                    self.focusView.alpha = 0;
                } completion:nil];

                [device unlockForConfiguration];
            }
            else
            {
                NSLog(@"ERROR = %@", error);
            }
        }
    }
}
}
这在glDrawArrays(GLU三角形带,0,4)处崩溃;in-(void)RenderToTextureWithVertexts:(const GLfloat*)顶点纹理坐标:(const GLfloat*)纹理坐标sourceTexture:(GLuint)sourceTexture;GPUImageTwoPassFilter.m的方法


当它崩溃时

发布相关代码。