obs-shaderfilter滤镜

Posted 蝶泳奈何桥.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了obs-shaderfilter滤镜相关的知识,希望对你有一定的参考价值。


title: obs-shaderfilter滤镜
categories: ObsStudio
tags: [obs, 滤镜, shaderfilter, shader]
date: 2022-01-29 11:15:26
comments: false
mathjax: true
toc: true

obs-shaderfilter滤镜


前篇

在obs原生滤镜的基础上还增加了特别多种滤镜效果,大大增强了滤镜的功能性

这个就很好玩了, 可以自定义 fragment 着色器

  • OBS高级教程-插件篇(7)- shaderfilter - https://zhuanlan.zhihu.com/p/144379657
    • 官网下载 - https://obsproject.com/forum/resources/obs-shaderfilter.775/
    • GitHub - https://github.com/Oncorporation/obs-shaderfilter/releases
    • 视频教程 - https://www.bilibili.com/video/BV15Z4y1479J?p=7

使用方式

  1. 解压直接覆盖带 obs 安装目录, 然后重启 obs

  2. 添加滤镜效果 user-defined shader

  3. 勾选 load shader text frome file, 使用 shader 文件的形式 (方便自定义写 shader 代码)

  4. 使用的文件有两种: shader 和 effect 文件

    1. shader 文件. (只有 片段着色器)

      选择 预设/自定义 shader 代码, 在插件目录 %OBS_ROOT%\\data\\obs-plugins\\obs-shaderfilter\\examples

    2. effect 文件. (顶点着色器 和 片段着色器)

      需要勾选 use effect file


自定义 shader

  1. 新建一个 shader 文件, 如: a_test001.shader

    uniform float speed = 0.5;
    uniform float4 color =  0.1, 0.3, 0.1, 1.0 ;
    
    uniform string notes = "备注: hello"; // 用来备注
    
    float4 mainImage(VertData v_in) : TARGET
    
    	float t = elapsed_time * speed; // elapsed_time 内置的 time 增变量
    	return float4(color.r, color.g, color.b, (1 + sin(t)) / 2);
    
    
    • 只是简单的将 color 显示出来, 并用 speed 修改 alpha 值.
  2. 选择这个 shader 就可以看到效果.

    • uniform 会显示到 ui 面板的 reload effect 按钮之下 , 让用户可以自定义输入变量值. 其他的输入可以参照 examples 里面的代码来写.

自定义 effect

  • 暂无

以上是关于obs-shaderfilter滤镜的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 多种滤镜算法

在ps 里面怎么用滤镜

设计模式之桥接模式应用例题

开源的图像滤镜库----for Android

设计模式之桥接模式应用例题

分析整理Android的开源滤镜