Open mansman12 opened 1 year ago
All shaders are made and tested on directx and might not work on opengl. The error 'Error Unknown' should give more information from OBS 30 and up. In some cases it might be possible to change the shader in a way it will work with both directx and opengl. In other cases an opengl specific version might be required.
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/6804608381
I expect to have all shaders I can fix done by the end of this week
That makes sense for the opengl vs directx, I'll take a look at the fix and let you know which ones are working and which ones are broken.
I've retested the shaders above with the fix with the following results:
Fixed
Remaining
I have not yet backtested every other shader to check nothing else has broken though I don't imagine that would be the case.
Thank you for all the testing, I fixed a couple more now
https://github.com/exeldro/obs-shaderfilter/actions/runs/6811121151
The only one not working yet on my system is gaussian-example.effect
No worries, thanks for the update. I've tested this one against the ones remaining and have the following results on my system:
Fixed
Remaining
fixed simplex_noise.shader https://github.com/exeldro/obs-shaderfilter/actions/runs/6815991893
can you provide obs logs for the loading of the remaining shaders except gaussian-example.effect
?
obs log below for the following shaders (in this order):
10:41:50.723: 0:47(27): error: no function with name 'float2x2'
10:41:50.723: 0:47(20): error: operands to arithmetic operators must be numeric
10:41:50.723: 0:47(15): error: no matching function for call to `sin(error)'; candidates are:
10:41:50.723: 0:47(15): error: float sin(float)
10:41:50.723: 0:47(15): error: vec2 sin(vec2)
10:41:50.723: 0:47(15): error: vec3 sin(vec3)
10:41:50.723: 0:47(15): error: vec4 sin(vec4)
10:41:50.723: 0:47(15): error: operands to arithmetic operators must be numeric
10:41:50.723: 0:47(9): error: no matching function for call to `fract(error)'; candidates are:
10:41:50.723: 0:47(9): error: float fract(float)
10:41:50.723: 0:47(9): error: vec2 fract(vec2)
10:41:50.723: 0:47(9): error: vec3 fract(vec3)
10:41:50.723: 0:47(9): error: vec4 fract(vec4)
10:41:50.723: 0:47(2): error: `return' with wrong type error, in function `hash2_2' returning vec2
10:41:50.723: 0:127(14): error: no function with name 'float2x2'
10:41:50.723: 0:127(12): error: operands to arithmetic operators must be numeric
10:41:50.723: 0:127(11): error: operands to arithmetic operators must be numeric
10:41:50.723: 0:136(12): error: no function with name 'float2x2'
10:41:50.723: 0:136(10): error: operands to arithmetic operators must be numeric
10:41:50.723: 0:136(2): error: `return' with wrong type error, in function `rotate' returning vec2
10:41:50.723:
10:41:50.723:
10:41:50.723: device_pixelshader_create (GL) failed
10:41:50.723: Pass (0) <> missing pixel shader!
10:41:50.723: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
10:41:50.723: (None)
10:42:01.413: Error compiling shader:
10:42:01.413: 0:46(7): error: illegal use of reserved word `output'
10:42:01.413: 0:46(7): error: syntax error, unexpected ERROR_TOK, expecting ',' or ';'
10:42:01.413:
10:42:01.413:
10:42:01.414: device_pixelshader_create (GL) failed
10:42:01.414: Pass (0) <> missing pixel shader!
10:42:01.414: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
10:42:01.414: (None)
10:42:08.253: Error compiling shader:
10:42:08.253: 0:79(7): error: illegal use of reserved word `output'
10:42:08.253: 0:79(7): error: syntax error, unexpected ERROR_TOK, expecting ',' or ';'
10:42:08.253:
10:42:08.253:
10:42:08.253: device_pixelshader_create (GL) failed
10:42:08.253: Pass (0) <> missing pixel shader!
10:42:08.253: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
10:42:08.253: (None)
10:42:18.961: Error compiling shader:
10:42:18.961: 0:38(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
10:42:18.961:
10:42:18.961:
10:42:18.961: device_pixelshader_create (GL) failed
10:42:18.961: Pass (0) <> missing pixel shader!
10:42:18.961: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
10:42:18.961: (None)
the rounded ones I fixed now, working on the embers and twist. https://github.com/exeldro/obs-shaderfilter/actions/runs/6824405379 an attempt to fix embers and twist: https://github.com/exeldro/obs-shaderfilter/actions/runs/6824776903
Can confirm the rounded ones are fixed in both runs. Unfortunately embers and twist are still giving errors on my side (in both runs), output log below (embers, then twist):
13:41:01.414: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
13:41:01.414: (None)
13:41:06.830: Error compiling shader:
13:41:06.830: 0:47(19): error: no function with name 'float2x2'
13:41:06.830: 0:47(12): error: operands to arithmetic operators must be numeric
13:41:06.830: 0:48(19): warning: `y' used uninitialized
13:41:06.830: 0:128(24): error: no function with name 'float2x2'
13:41:06.830: 0:128(12): error: operands to arithmetic operators must be numeric
13:41:06.830: 0:128(11): error: operands to arithmetic operators must be numeric
13:41:06.830: 0:137(22): error: no function with name 'float2x2'
13:41:06.830: 0:137(10): error: operands to arithmetic operators must be numeric
13:41:06.830: 0:137(2): error: `return' with wrong type error, in function `rotate' returning vec2
13:41:06.830:
13:41:06.830:
13:41:06.830: device_pixelshader_create (GL) failed
13:41:06.830: Pass (0) <> missing pixel shader!
13:41:06.830: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
13:41:06.830: (None)
13:41:13.117: Error compiling shader:
13:41:13.117: 0:38(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
13:41:13.117:
13:41:13.117:
13:41:13.117: device_pixelshader_create (GL) failed
13:41:13.117: Pass (0) <> missing pixel shader!
13:41:13.117: [obs-shaderfilter] Unable to create effect. Errors returned from parser:
13:41:13.117: (None)
one more try for today, shooting in the dark here. https://github.com/exeldro/obs-shaderfilter/actions/runs/6826553988
Nice, can confirm embers and twist are working with this update. Good job! I think the only things left are the gaussian-example and the issue with the add.shader vs certain colours.
yes, for me I get the following error for gaussian-example.effect: "Error (null) (185, 1): Error creating shader: 0(63) " error C1503: undefined variable "outputval", Would like to know how to make multipass effects without having the separate passes get clipped to the range [0, 1]^4.
Following .shader/.effect files display an 'Error Unknown' on load. This is using OBS Studio 29.1.3 (64 bit) with obs-shaderfilter 2.1.2 on Debian 12 with KDE X11.
Also I've encountered a strange bug (?) with the Add.shader, it functions correctly when using a pure black image to add as a background to text (say) but if using a grey image (262626 hex code) it acts as a transparent highlight over the text.