- Open all screens with SA_LikeWorkbench tag. - Disable optimized bitmap allocation. - Log OpenGL information during startup. - Display version number on screen title bar. - Fix an issue where FPS counter was not visible when started in fullscreen mode.
Like if "for" there, even with 1 pass (which mean like we do nothing) , then things go bad. Dunno currently what it mean. Mostly looks like "float len" being trashed somehow if it being in the "for" loop, and then later for cos() used bad values or so.
ps. Maybe we need to try that reduced version directly, without shaderjoy (what i mean is that to put everything inside of main() for tests, not inside of mainImage() which is called from main() , maybe it will be again something about wrong return values from other functions).
Edited by kas1e on 2020/5/22 8:58:42 Edited by kas1e on 2020/5/22 9:02:15 Edited by kas1e on 2020/5/22 9:04:10 Edited by kas1e on 2020/5/22 9:08:38
Do you think it worth to deral shaderjoy's topic with other buggy shaders not related to issues already reported, or there should be some new one like "bugs in NOVA's shader compiler?"
Do you think it worth to deral shaderjoy's topic with other buggy shaders not related to issues already reported, or there should be some new one like "bugs in NOVA's shader compiler?"
IIRC we don't have a generic Warp3D Nova topic, so in that sense another thread might be a good idea.
Btw, checking more sound shaders, found one failed because want iChannelTime. That one i assume exactly for sound and not for textures. Seems some timing can be get from sounds as well, so it not just some .raw format ?
iChannelTime is documented to be channel playback time in seconds, so I wonder how it differs from iTime in practise. In any case it can be added if sound support happens.
@Capehill Have probabaly a good idea how integrate editor with less blood : add tooltype "editor=patch_to_editor_of_choice", and in the menu "main" add entry "Edit Shader". By default "editor" can be the one which ships with os4 by default like notepad, so tooltype will be editro=sys:utilities/notepad.
Once user load shader, then that entry highglitsh in the main menu (while no shader loaded,then it disabled). Then when shader loaded and this entry works, user press on it, and shader just opens in the editor of choice.
By this you have no needs to spend time on editor at all, and shader can be edited/tested/reloaded easy and pretty integrated. Only little moment there can be that you need to run editor in async mode so to not block work of main window where shader works.
Just as idea :) But users can use any editor they prefer: notepad, stormed, gvim, multiedit, codepad , even codebench and what else
// Output to screen
fragColor = mix(background, myCircle, myCircle.a);
}
Once you run it, resize a bit window (so to see better issue), then press the left mouse button (so "sun" will be grabbed by mouse), and move to the center. For now all ok. Then, try to move the "sun" by a mouse up and down: you can see it reverted. I.e. move down make it move up, and move up make it move down.
Another issue I found, is that resizing of the window quite often makes whole rendering overlap window borders. That reminds me issue i had before with some ogles2 ports, and if you use ogles2, then on context creation you better use "OGLES2_CCT_RESIZE_VIEWPORT, TRUE", so ogles2 will deal with for you.
Easy to reproduce it resize window back, from bigger to small one. See how it looks like then (press open in new tab for full size). See bottom and left borders after I resize a window from bigger to smaller one:
BTW I get an eeror with the last shader sample kas1e posted: ... ERROR: 24:1: '' : unexpected token ERROR: 40:0: '' : compilation terminated ERROR: 2 compilation errors. No code generated.
GL error 1281
Is this line: vec3 col = 0.5 + 0.5 * cos( iTime + uv.xyx + vec3(0,2,4) ); If i change to a "simple": vec3 col = vec3(0.5,0.5,0.5);
it works ok, shows "sun" and I can move it with mouse pointer. As I don't know nothing about shader "code", maybe I have something wrong, but I just copy/marked and pasted example.
@Javier Don't worry, shader works, it can be just probabaly you had usual issues with copy+paste source code from browser to editors, and additional bad characters being added. Like some wrong-space between ) and ).
Ok so if I enable "solid resize" (don't know the English name for it) in the GUI prefs then the blitting issue becomes visible easily. With old school resize I haven't seen it.
What kind of window resize settings you are using?
EDIT: issue should be fixed in 1.8. (Fractal Nova has the same bug.)
@Capehill Is it possible to add for command line ability to give a name of shader to ? I.e. somehitng like "shaderjoy 1.frag" and it runs and 1.frag loaded and started ? Just can be tasty to made a filetype for, so dbl-click on .frag shaders in dopus/filer/wb/etc will result in opening it in shaderjoy.
Another thing if you not die out of my requests : can you made be "async" when we load shader and/or ichannel(s) ? Currently when we do one of those actions, the shader execution halts. If i remember right it matter of adding a TRUE to some flag of asl_req ?
ASL requester is run inside event loop. To make it asynchronous, it would have to be multithreaded I guess. And then there would be some synchronization required between processes.