所以我正在使用https://github.com/CyberAgent/android-gpuimage,并且想要实现这一点(仅将滤镜应用于图像区域):

android - Android GPU图像,如何将过滤器应用于图像的一部分-LMLPHP

Uri imageUri = ...;
mGPUImage = new GPUImage(this);
mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.surfaceView));
mGPUImage.setImage(imageUri);
sepiaFilter = new GPUImageSepiaFilter()
mGPUImage.setFilter(sepiaFilter);


有没有办法做类似的事情:

TextureZone textureZone = new TextureZone(...);
sepiaFilter.setFilterOnlyOn(textureZone)


还是需要更深入地制作自定义着色器?

最佳答案

您必须使用自写片段着色器编写自定义过滤器。在片段着色器中,您应该检查哪个片段将应用于过滤器。

07-24 22:20