OBS Shaderfilter

OBS Shaderfilter Version 1.21

Supported Bit Versions
32-bit, 64-bit
Source Code URL
Minimum OBS Studio Version
Supported Platforms
The obs-shaderfilter plugin for OBS Studio is intended to allow users to apply their own shaders to OBS sources.

The filter can be added to any source through the "Filters" option when right-clicking on a source. The name of the filter is "User-defined shader."

New Options in version 1.1+
* *Use Slider Inputs: Converts Integer and floating point inputs into sliders in the UI.
* *Use Shader Time: Start the effect from the loadtime of the shader, not the start up time of OBS Studio.
* *Override Entire Effect: renamed **`Use Effect File (.effect)`** in UI and documentation
* Textures moved from the shaders folder to the textures folder. Existing textures are not deleted so as to not disrupt you current scenes.(1.2)

Many new shaders and effects are developed weekly. I will make "How To" instructional videos on my twitch.tv/surn channel, these effects include but are not limited to...

  • animated_texture.effect—Animates a texture with polar sizing and color options
  • ascii.shader—A little example of ascii art
  • background_removal.effect—Simple implementation of background removal. Optional color space corrections
  • blink.shader—A shader that fades the opacity of the output in and out over time, with a configurable speed multiplier. Demonstrates the user of the elapsed_time parameter.
  • bloom.shader / glow.shader— simple shaders to add glow or bloom effects, the glow shader has some additional options for animation
  • cartoon.effect (Use Effect File (.effect))— Simple Cartooning based on hue and steps of detail value.
  • color_grade_filter.shader— recent updates have changed the color grade filter (LUT) and broke some things. So I created this filter based on how OBS used to do the LUT / color grading
  • border.shader—A shader that adds a solid border to all extra pixels outside the bounds of the input.
  • drop_shadow.shader—A shader that adds a basic drop shadow to the input. Note that this is done with a simple uniform blur, so it won't look quite as good as a proper Gaussian blur. This is also an O(N²) blur on the size of the blur, so be very conscious of your GPU usage with a large blur size.
  • edge_detection.shader—A shader that detects edges of color. Includes support for alpha channels.
  • filter_template.effect (Overrides entire effect)—A copy of the default effect used by the plugin, which simply renders the input directly to the output after scaling UVs to reflect any extra border pixels. This is useful as a starting point for developing new effects, especially those that might need a custom vertex shader. (Note that modifying this file will not affect the internal effect template used by the plugin.)
  • fire.shader— A fire example converted from shadertoy: Youtube Example
  • gradient.shader— This shader has a little brother simple_gradient.shader, but lets you choose three colors and animate gradients.
  • glitch_analog.shader—A shader that creates glitch effects similar to analog signal issues. Includes support for alpha channel.
  • hexagon.shader—A shader that creates a grid of hexagons with several options for you to set. This is an example of making shapes.
  • luminance.shader—A shader that adds an alpha layer based on brightness instead of color. Extremely useful for making live video special effects, like replacing backgrounds or foregrounds.
  • matrix.effect(Use Effect File (.effect))— The cat is a glitch conversion from shadertoy. Updated with several configurable options.(1.2)
  • multiply.shader—A shader that multiplies the input by another image specified in the parameters. Demonstrates the use of user-defined texture2d parameters.
  • night_sky.shader—A Animated moon, clouds, stars background(1.2)
  • perlin_noise.effect (Use Effect File (.effect))—An effect generates perlin_noise, used to make water, clouds and glitch effects.
  • pulse.effect (Use Effect File (.effect))—An effect that varies the size of the output over time. This demonstrates a custom vertex shader that manipulates the position of the rendered vertices based on user data. Note that moving the vertices in the vertex shader will not affect the logical size of the source in OBS, and this may mean that pixels outside the source's bounds will get cut off by later filters in the filter chain.
  • rainbow.shader—Creates Rainbow effects, animated, rotating, horizontal or vertical. This is an expensive process and limiters are implemented.https://www.twitch.tv/videos/404349212
  • rectangular_drop_shadow.shader—A shader that renders an optimized drop shadow for sources that are opaque and rectangular. Pixels inside the bounds of the input are treated as solid; pixels outside are treated as opaque. The complexity of the blur does not increase with its size, so you should be able to make your blur size as large as you like wtihout affecting GPU load.
  • repeat.effect (Use Effect File (.effect))—duplicates the input video as many times as you like and organizes on the screen.
  • rgb_color_wheel.shaderr—A rotatable RGB color wheel!
  • rounded_rect.shader—A shader that rounds the corners of the input, optionally adding a border outside the rounded edges.
  • rotatoe.effect* (Use Effect File (.effect))—A test rotation effect
  • scan_line.shader —An effect that creates old style tv scan lines, for glitch style effects.
  • selective_color.shader— Allows you to choose which color are shown!
  • shake.effect (Use Effect File (.effect))—creates random screen glitch style shake. Keep the random_scale low for small (0.2-1) for small jerky movements and larger for less often big jumps.
  • shine.shader —Add shine / glow to any element, use the transition luma wipes (obs-studio\plugins\obs-transitions\data\luma_wipes SOME NEW WIPES INCLUDED IN THIS RELEASE ZIP) or create your own, also includes a glitch (using rand_f), hide/reveal, reverse and ease, start adjustment and stop adjustment video explanation of usage Twitch.tv/videos/396724980
  • spotlight.shader —Creates a stationary or animated spotlight effect with color options, speed of animation and glitch
  • vignetting.shader —A shader that reduces opacity further from the center of the image. inner radius is the start and outer radius is the end. suggested default settings is opacity 0.5, innerRadius = 0.5, outerRadius = 1.2
  • zoom_blur.shader —A shader that creates a zoom with blur effect based on a number of samples and magnitude of each sample. It also includes an animation with or without easing and a glitch option. Set speed to zero to not use animation. Suggested values are 15 samples and 30-50 magnitude
  • other — New filters are added weekly, We have far too many shaders to list. Please check Examples folder or find me on discord, as I have many additional filters for fixing input problems.
First release
Last update
4.42 star(s) 24 ratings

Latest updates

  1. Update 8/24/2020

    Update 8/24/2020 Update glitch_analog.effect, glitch_analog.shader to use "Apply to Alpha Layer"...
  2. Added Embers.effect

    Update 8/23/2020 Added Embers.effect rename rounded_rect2 to rounded_stroke.shader Update test...
  3. Updated Animated Border shaders and Green Screen Clean Ups!

    UPDATE 8/11/2020 Updated fire, simple_gradient,gradient,rainbow, rgb_color_wheel to include...

Latest reviews

The download contains barely a third* of the shaders listed on the Overview page. My OBS crashed for the first time ever within 10 minutes of installation and the installation process itself was not helped by the fact that I (and other users, check the discussion tab) had to rely on someone else's beta vesrion of this plugin to get the shaders to actually show up under filters in OBS. I'm sure this plugin is great when it actually works but so far, I can't personally attest to that.

*Blink, border, drop shadow, filter template, multiply, pulse, rectangular drop shadow and rounded rectangle (whatever that is)
super cool shades. thanks for your awesome videos mate
Hey, I like your plugin. But I have a problem with the Animated Text effect. It doesn't work when I load a gif in it. What settings do I have to use for this? Thank you
When I select the effects noting happens. The source just goes black.
This is a really flexible and helpful add-on. I'm using it for lens correction. Thanks for creating and posting!
I feel like I must be missing something. Once i download this and extract it do I need to put the files somewhere specific or do I just select them through the shader option in OBS?

Im currently doing the latter (selecting through OBS) and the effects and shaders I select either keep making my camera go black or crashes OBS.

awesome, i just want toknowhow to find you in discord to get more filters!
Hey! I love your plugin, but i don't know if it's only mine problem, but on my OBS effect "animated_path.effect" doesn't work, how can i solve it?
That is my fault, it is broken. I have high Hope's for it. However, animated texture is as close as have working
All the filters are working except gaussian blur. Why it's not working?