Skip to content

MultiInputFilter not working for 3 inputs #33

Description

@soham24

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";

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions