-
Notifications
You must be signed in to change notification settings - Fork 117
Open
Description
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";
Metadata
Metadata
Assignees
Labels
No labels