Wystąpił błąd podczas korzystania z GPUImageFilter
Zacząłem od samouczka Brada Larsona na Github. Tutaj dodałem ten kod do mojego projektu
- (void)viewDidLoad
{
[super viewDidLoad];
GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"];
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:filteredVideoView];
[videoCamera addTarget:customFilter];
[customFilter addTarget:filteredVideoView];
[videoCamera startCameraCapture];
}
i dostałem awarię w metodach - (id) initWithVertexShaderFromString: (NSString *) vertexShaderString fragmentShaderFromString: (NSString *) fragmentShaderString;
Z wyprowadzonym dziennikiem w następujący sposób:
013-08-04 17:17:37.567 ViewPack[36088:907] Failed to load vertex shader
2013-08-04 17:17:37.570 ViewPack[36088:907] Failed to compile fragment shader
2013-08-04 17:17:37.572 ViewPack[36088:907] Program link log: ERROR: OpenGL ES 2.0 requires exactly one vertex and one fragment shader to validly link.
2013-08-04 17:17:37.573 ViewPack[36088:907] Fragment shader compile log: (null)
2013-08-04 17:17:37.574 ViewPack[36088:907] Vertex shader compile log: (null)
2013-08-04 17:17:37.576 ViewPack[36088:907] *** Assertion failure in -[GPUImageFilter initWithVertexShaderFromString:fragmentShaderFromString:], /Users/dachang/Desktop/Files/Libs/GPUImage-master/framework/Source/GPUImageFilter.m:97
Myślę, że poprawnie dodałem GPIImage do mojego projektu, ponieważ mogę zaimportować wszystkie te nagłówki. Nie wiem, co „OpenGL ES 2.0 wymaga dokładnie jednego wierzchołka i jednego fragmentu shadera do poprawnego połączenia”. oznacza. (i nie mogę znaleźć pliku CustomShader.fsh)
Czy ktoś może mi pomóc ... dzięki bardzo ..