Appearance
自定义滤镜
注意
该方法回调为异步事件,请参考方法事件
方法名
customFilter
用法
js
let shader = "#extension GL_OES_EGL_image_external : require\n";
shader += "precision mediump float;\n";
shader += "varying vec2 vTextureCoord;\n";
shader += "uniform samplerExternalOES sTexture;\n";
shader += "void main() {\n";
shader += " vec4 color = texture2D(sTexture, vTextureCoord);\n";
shader += " float colorR = (1.0 - color.r) / 1.0;\n";
shader += " float colorG = (1.0 - color.g) / 1.0;\n";
shader += " float colorB = (1.0 - color.b) / 1.0;\n";
shader += " gl_FragColor = vec4(colorR, colorG, colorB, color.a);\n";
shader += "}\n";
this.$refs.refVideoPlayer.customFilter({
//滤镜处理内容
shader: shader,
})js
//自定义滤镜内容
const CUSTOM_FILTER_CONTENT = '#extension GL_OES_EGL_image_external : require\n'
+ 'precision mediump float;\n'
+ 'varying vec2 vTextureCoord;\n'
+ 'uniform samplerExternalOES sTexture;\n'
+ 'void main() {\n'
+ ' vec4 color = texture2D(sTexture, vTextureCoord);\n'
+ ' float colorR = (1.0 - color.r) / 1.0;\n'
+ ' float colorG = (1.0 - color.g) / 1.0;\n'
+ ' float colorB = (1.0 - color.b) / 1.0;\n'
+ ' gl_FragColor = vec4(colorR, colorG, colorB, color.a);\n'
+ '}\n';
let options = {
//滤镜处理内容
shader: CUSTOM_FILTER_CONTENT,
};
let params : JSONObject = JSONObject.parse(JSON.stringify(options)) as JSONObject
refLevenPlayer.value?.customFilter(params);参数说明
| 参数名 | 参数类型 | 是否必填 | 默认值 | 参数描述 |
|---|---|---|---|---|
| shader | String | 是 | 无 | 滤镜内容 |
