Skip to content

MultiInputFilter not working for 3 inputs #33

@soham24

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

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