Compatibility with existing systems for specifying shaders ?
Hello !
I would like to ask if you would be ok with someone porting your nice shader collection to existing libraries / formats:
- https://github.com/patriciogonzalezvivo/lygia is a library of pure functions for processing data in shaders
- Interactive Shader Format (https://isf.video) allows to specify shader's inputs and outputs along with their metadata as you did with comments, but instead by using a JSON spec at the top of the shader ; it is widely used in the creative arts community.
- It would be great to port them at least to GLSL 4.x format with UBOs (Vulkan-compatible GLSL): this is because this way, one can easily use the glslang/spirv-cross toolchain to automatically generate older GLSL versions of these shaders (e.g. to not have to rewrite your shader code in GIPS), or even to Vulkan, Metal or HLSL shaders so that they could be used on a wide array of platforms.
Thanks !
Using the example shaders in other projects is perfectly fine with me. Now that you're mentioning it, I should probably add SPDX licensing headers to the .glsl files as well to make that clear.
I didn't know about ISF when I started the project, but it sure looks like a good idea to make GIPS compatible with (a useful subset of) that spec. Supporting UBOs is also a reasonable thing to do. Thanks for bringing these points to my attention!
As far as re-using GIPS shaders in other environments goes though, keep in mind that you also need to have a few of GIPS's special functions (like pixel), and that most shaders use features that aren't available in environments like ISF, most notably the aspect-corrected rel coordinate mapping mode. Some also make use of the ability to configure texture filtering, and even change coordinate mapping or texture filtering between passes. A little bit of rewriting might thus be required when porting to somewhere else.
Hi! Sorry for jumping in from the sidelines here. I just found this repo and would like to use some of the shaders in my own project. When I credit you, besides your name, do you want a link to your website or something in there?
My project is here: https://github.com/ttddee/Cascade
Danke!
@ttddee: A reference to GIPS and a link to the GitHub project (or even a deep-link to the shader it has been ported from) would be very appreciated, but it's not a requirement.
(BTW, if I had known about Cascade a year ago, I might not even have started with GIPS ;)
How is this?
https://github.com/ttddee/Cascade/blob/master/shaders/colorbalance.comp
That's fine with me.