Open soham24 opened 6 years ago
I am trying to run filters in parallel like we do in iOS GPUIMAGE library, but I am having issues while adding 3 inputs to one filter which extends MultiInputFilter. I am trying to combine
1>BasicCameraInputFilter 2>CannyEdgeDetectionFilter 3>SobelEdgeDetectionFilter
where BasicCameraInputFilter is direct camera input .
BasicCameraInputFilter cameraInput=new BasicCameraInputFilter(); CannyEdgeDetectionFilter cannyEdgeDetectionFilter = new CannyEdgeDetectionFilter(1.0f,0.3f,0.6f); SobelEdgeDetectionFilter sobelEdgeDetectionFilter=new SobelEdgeDetectionFilter(); CombinationFilter combinationFilter=new CombinationFilter(); cameraInput.addTarget(combinationFilter); cannyEdgeDetectionFilter.addTarget(combinationFilter); sobelEdgeDetectionFilter.addTarget(combinationFilter); combinationFilter.registerFilterLocation(cameraInput,0); combinationFilter.registerFilterLocation(cannyEdgeDetectionFilter,1); combinationFilter.registerFilterLocation(sobelEdgeDetectionFilter,2); combinationFilter.addTarget(this); registerInitialFilter(cameraInput); registerFilter(cannyEdgeDetectionFilter); registerFilter(sobelEdgeDetectionFilter); registerTerminalFilter(combinationFilter);
Here is my fragment shader
"precision mediump float;\n" +"uniform sampler2D "+UNIFORM_TEXTURE0+";\n" +"uniform sampler2D "+UNIFORM_TEXTUREBASE+1+";\n" +"uniform sampler2D "+UNIFORM_TEXTUREBASE+2+";\n" +"varying vec2 "+VARYING_TEXCOORD+";\n" +"void main(){\n" +" vec4 color1 = texture2D("+UNIFORM_TEXTURE0+","+VARYING_TEXCOORD+");\n" +" vec4 color2 = texture2D("+UNIFORM_TEXTUREBASE+1+","+VARYING_TEXCOORD+");\n" +" vec4 color3 = texture2D("+UNIFORM_TEXTUREBASE+2+","+VARYING_TEXCOORD+");\n" +" vec4 whiteColor = vec4(1.0);\n" +" whiteColor.r=color1.r*color2.r*color3.r;\n " +" whiteColor.g=color1.g*color2.g*color3.g;\n " +" whiteColor.b=color1.b*color2.b*color3.b;\n " +" gl_FragColor = whiteColor;\n" +"}\n";
I am trying to run filters in parallel like we do in iOS GPUIMAGE library, but I am having issues while adding 3 inputs to one filter which extends MultiInputFilter. I am trying to combine
1>BasicCameraInputFilter 2>CannyEdgeDetectionFilter 3>SobelEdgeDetectionFilter
where BasicCameraInputFilter is direct camera input .
Here is my fragment shader