@Capehill Starting checking projects support: at least I was able already to put some image.frag to any directory and set for it some textures, and it works. Like this:
And have a little report right from the beginning:
1. some cosmetic: By default project example come with "Version = 1.18" inside
2. When using "Clamp" wrap-mode, have: "unknown wrap mode 'Clamp' - using Repeat
3. for disable flip, I just need to remove it? I.e. nothing like flip=1 vs flip=0, just if flip need it I put it between testure_or_buffer_name and filter mode, and if I don't need it, just didn't put the "flip" word at all?
Checked also more harder multipass shader with textures, and it works ! Like this:
Through have the same issue that Clamp is unknown, and repeat used. But all now works as expected! Thanks as usual, soon will release some big pack of shaders (about 2 thousands of pure, textured, and multipass shaders).
2) Where "Clamp" string came from? It should be "ClampToEdge"...
Oh, I just got the name from "prefs" on shadertoy pages, but yes, ClampToEdge works, thanks!
Also tested new screenshot functionality: works well as well. And what is good there is that it takes a screenshot of the size of the window.
Btw,
Quote:
- Use a hard-coded alpha value of 1.0f.
What are the benefits of it?
Quote:
- Work on audio support internally (not finished).
What plan for it? I mean, firstly just load-up and play .wav files from HDD?
And find out the first bug in the parsing of project file's paths, to reproduce:
1. create directory "test" 2. put there "image.frag" 3. create a test.sjp outside this directory on one level up. 4. in the .sjp, made image path like : "image path=test/image.frag".
Try to run this project, and it fails to load test/image.frag.
If I put test.sjp to the "test" directory, and modify the image path to be just "image.frag", then the project works. I.e. issue exactly when we trying to put shaders on level(s) down/up of the directory where project file placed
That need for multipass shaders, when you want to put all shaders in the directory, and made a ".sjp" file outside of it, so it can be just dbl-cliking on the .sjp, without putting it to the same place where all multipass files placed and make users thinking what file to run.
Edited by kas1e on 2021/3/30 6:51:30 Edited by kas1e on 2021/3/30 6:53:02 Edited by kas1e on 2021/3/30 6:58:50
I checked commit log and it was changed right after screenshot feature. So probably screenshots (PNGs) were broken somehow? I need to retest it to be sure.
Quote:
audio
Playing the sound is not enough because shaders need the frequency data for visuals. So I need to implement a Fast Fourier Transform algoritm or use something from open source.
Then there is glReadPixels-related issue which prevents GPU sound so there are different missing pieces to audio support.
Loading image shader, buffera shader, and set channel0 for both image and buffera as "buffera", works fine in all shaderjoy versions till 1.18 and shader works.
In 1.19 it stops working: it just can't give you the ability to set "buffera" as channel0. I.e. it gives you the ability to set, but when you click "ok" nothing changes, and going back to the ichannel0 setting you can see that there still a "texture" set.
Can't say now, only found that .sjp not works when i edit them in notepad, and find out that once i replace all CRLF on LF, it start works.
Btw, i think there some general mixum with buffers now. In the test shaders above, if you for example will try to set in the Channel0, bufferB, and click ok, then on next run of Channeo0 settings you will see BufferA. If you set BufferA, it will be then "Texture". And also from .sjp file seems something of that sort happens.
At least with that shader: https://www.shadertoy.com/view/ldK3DV , once i run image.frag into 1.18 version, then add bufferA, and choice ichannel0 of image as bufferA , then woman renders ok. If i do the same in 1.19, then it didn't renders as expected, like, bufferA didn't taked into account.
Can't say now, only found that .sjp not works when i edit them in notepad, and find out that once i replace all CRLF on LF, it start works.
Strange. I can try to force all endings to LF but let's see if I can reproduce the problem first.
Quote:
Btw, i think there some general mixum with buffers now. In the test shaders above, if you for example will try to set in the Channel0, bufferB, and click ok, then on next run of Channeo0 settings you will see BufferA. If you set BufferA, it will be then "Texture". And also from .sjp file seems something of that sort happens.
The Channel Window part was broken due to enums contained "Sample" but option strings didn't (some audio code is #ifdef'd out). Need to test it a bit more.
The Channel Window part was broken due to enums contained "Sample" but option strings didn't (some audio code is #ifdef'd out). Need to test it a bit more.
Just to note it also not just the GUI, but from .sjp as well.
There seems to be Channel4 by mistake. Please fix that and retry.
Oh yeah, false alarm! Always have mistakes with that channels thinking that 0 one are first one and so after few thinking that if it 4st one, it then channel4 :)
- Fix channel window issue where input selection misbehaved. - Convert potential CR codes to LF when loading project file. - Add one more way to combine paths when loading shaders. - Add info log if project files entries are not recognized.
See how it looks like on 1.18 and 1.19/1.20 when i load image.frag, then buffera.frag and choise in both for image's ichannel0 buffera (click for fullsize):
See, in 1.19/1.20 it looks like buffera didn't taken into account, and woman's hand out of correct look
On 1.19 they didn't work as expected already (because of the bug you fix), and in 1.20 they start to works again, but wrong: their look, not "clean", but very blurred. With 1.18 all fine.
Maybe it's again about that "Alpha" stuff?
And i do not know, if that is the same issue or not, but this one :
Yeah, it must be alpha because as we can see from the buffer code, all fragColor channels are used for some purpose so hardcoded values change behaviour.
So I wil have to revert that change and add some other fix for whatever issue there was with 1.18.
- Revert "hard-coded alpha value" change which broke some multipass shaders. - Save screenshots using mskNone to avoid alpha channel issues. - Try to handle space characters in shader paths of project file.