libretro / glsl-shaders

This repo is for glsl shaders converted by hand from libretro's common-shaders repo, since some don't play nicely with the cg2glsl script.
912 stars 223 forks source link

Create video effects for Olive video editor #95

Open ghost opened 5 years ago

ghost commented 5 years ago

Actual behavior

Olive video editor support adding custom video effects based on GLSL shaders

Here are examples:

Expected behavior

Create video effects based on GLSL shaders from your repo for Olive 0.1.0

GLSL video effect for Olive consist of few files:

  1. <effect_name>.frag - GLSL shader file of video effect;
  2. <effect_name>.xml - video effect configuration file.

For adding to Olive effects files structure should look like:

../<Olive_effects_folder>/
    ├ /COMMON/
    |   ├ common.frag
    |   └ common.vert
    └ /<effect_name>/
        ├ <effect_name>.frag
        └ <effect_name>.xml

It's possible group effects in some sub-folder; then structure would look like:

../<Olive_effects_folder>/
    └ /<effects_group>/
        ├ /COMMON/
        |   ├ common.frag
        |   └ common.vert
        ├ /<effect1_name>/
        |   ├ <effect1_name>.frag
        |   └ <effect1_name>.xml
        └ /<effect2_name>/
            ├ <effect2_name>.frag
            └ <effect2_name>.xml

Contents of /COMMON/ is default for all custom GLSL effects:

hizzlekizzle commented 5 years ago

I won't personally convert any, but just peeking at some of their samples, it looks like they'd be able to use many of them without extensive changes.

However, I didn't see any examples that referenced arbitrary previous pass outputs or lookup textures, or any that utilize a framecounter, and those are all pretty important features that a lot of our shaders depend on.