exeldro / obs-shaderfilter

OBS Studio filter for applying an arbitrary shader to a source.
GNU General Public License v2.0
377 stars 39 forks source link

Some shaders seem to be broken on Mac (M1 specifically) #4

Open ChrisF0 opened 1 year ago

ChrisF0 commented 1 year ago

I found in 1.21.3 many, many more shaders work than the previous 1.21.1 version. However, there are some that still seem to not work on a mac (M1 processor). I don’t have windows so can’t test there. I tested each using a pixel border of 100 for left, right, top, bottom. Plus, I had the source resized down some and centered on a white background. These are the results:

aspect_ratio.shader - no visible effect or controls circle.shader - draws an oval, no controls appear cut_rect_per_corner.shader - makes source cram into upper left of transform. no controls darken.shader - no visible effect or controls glass.shader - makes source cram into upper left of transform. note, frosted_glass.shader worked great hexagon.shader - source crams into upper left of transform. No controls pie-chart.shader - source crams into upper left of transform. No controls rounded_rect_per_corner.shader - source crams into upper left of transform. No controls rounded_rect_per_side.shader - source crams into upper left of transform. No controls note: rounded_rect.shader DOES work (it didn’t in 1.21.1) THANK YOU!!! rounded_rect2.shader - source crams into upper left of transform. No controls rounded_stroke_gradient.shader - source crams into upper left of transform. No controls rounded_stroke.shader - source crams into upper left of transform. No controls simplex_noise.shader - source crams into upper left of transform. No controls twist.shader - source crams into upper left of transform. No controls

I didn’t have time to test the .effect files. If there is anything else I can provide that would be helpful, please let me know.

Thanks

mattbisme commented 1 year ago

I'm finding the same thing to be true with some of the shaders, such as gaussian-blur-advanced.shader, as well. This persists with version 2.0.0.

exeldro commented 1 year ago

On windows DirectX is used and on Mac opengl is used. Getting shaders to work on both is not always possible or simple. I don't have a Mac to test or develop on, that complicates making them work on both even more

mattbisme commented 1 year ago

That's understandable. I'm happy to test anything out as needed. It may also be worth pointing out that this gaussian shader example works very well on my Mac, as does this other one. However, I don't know how to adapt these for obs-shaderfilter.

In theory, if these shader demos work, then I would think an adaptation for the OBS plugin should also work?

enmanuelmoreira commented 1 year ago

I have the same problem with the circle-mask-filter.shader on Linux (Fedora 38)

exeldro commented 10 months ago

Working on getting more shaders working in opengl. I made a fix in master, you should be able to get version I am working on here: https://github.com/exeldro/obs-shaderfilter/actions/runs/6811121151

exeldro commented 10 months ago

Just made a release (2.1.3) with opengl shader fixes for Mac and Linux