Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
47 user(s) are online (22 user(s) are browsing Forums)

Members: 0
Guests: 47

more...

Support us!

Headlines

Report message:*
 

Re: Shaderjoy 1.13

Subject: Re: Shaderjoy 1.13
by kas1e on 2020/8/6 12:37:37

@Capehill

Quote:

Please share a link and I will try the same shader. That issue would indicate that the main shader failed to load for some reason.


Sorry wasn't able to give you shaders you need, because in general, I feel that the current way to set buffer/common/etc shaders a bit unclear now in ShaderJoy. I mean that iChanne0 subchanne0 blabla , and before giving the test shaders was in hope to bring some idea how to made it all more intuitive and easy, but have no ideas at moment except maybe creating a ".shaderjoy" where you will describe all of this. Like text file called "shader.shaderjoy", in which pure text like:

BufferA="aaaa.frag"
BufferB="bbbb.frag"
Texture0="aasdfas.png"
Texture1="baabab.png"

etc. What do you think?


Anyway, the reason for that post is about another issue I find: take the latest ogles2 from Daniels FTP, where he improves the functionality of the detection of uninitialized vars.

Now, in ShaderJoy (at least in version 1.13), to make it all be visibly, you need for first enable "check uninitialized" (that is the default , and expected to be enabled, of course), but also enable "verbose log". Which is not that good. I.e. issue is: It didn't bring a separate warning window. Instead, it throws that warning in the "Verbose log" output (and only when it set) and continues execution like everything fine. So the only way to see an error, its to enable "Verbose Log", which, brings together with that warning a lot of other text, and warning easily missed from the whole output.

My suggestion is to mimic it as it was before with the ogles2 version with "force uninitialized var to fail". I.e. if we have in ShaderJoy "Check uninitialized" enabled, then does not matter if we have "verbose log" enabled, or disabled, once that option set, and uninitialized variable found, then we immediately bring a separate warning window about (and only about that, so it will be not missed), and then halt the execution of shader with an error.

If "check uninitialized" is not set, then it continues to works like before, without check, with all bugs it brings.

In other words:

- when we have a "Check uninitialized" set, then better to bring a standalone warning window with output from ogles2 (and only that output, no other one, just an output window with an only warning), does not matter if Verbose Log set or not.

- when we have a "Check uninitialized" set, we shouldn't be forced to see an error in "verbose log" only. It of course can also be in the verbose log as it now, no problems, but it also needs to bring another window with that error, so to be visibly standalone.

- when we have a "check uninitialized" set, then after we have a warning window from ogles2, we probably need to stop the execution of the shader with "fail to execute/fail to load/fail to load because of uninit vars.found" words. That of course, not necessary default (or indeed necessary?) and can be for example controlled via tooltypes, or, can be as it now (continue execution), but warning window with pure info about uninitialized vars should be brought in the face, does not matter if it is verbose or not set.

I mean, those "uninitialized vars", is not like something optional or not, it just some bugs in shaders, which we need to handle more aggressive, as Daniel do before in his "ogles2_forced_uninit_to_fail" version. Imho of course.


Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project