-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Glow bars... #14
Comments
you can change the shadow color, which should achieve the same effect, though gradients are yet to be implemented |
It sort of achieves it but I think a different spreading curve and having it be on both sides of the bars would make the glow more convincing |
I made a demo with GLSL of what a glow effect could look like.
|
True, it's as convincing as I thought it would be. |
The tree is 70 commits old, so it shouldn't be that hard to work with. Just updates are going to be slow since I'm busy atm. |
Also since I'm kinda bad with OGL, can you link me to a resource where I could share local variables (in C code) with shader code. |
Will do! |
OpenGL Shading Language 4.5 Documentation: https://www.khronos.org/registry/OpenGL-Refpages/gl4/ |
Improved the demo and edited my comment... |
Hell yeah! Nice work! |
Made it generate a curve http://glslsandbox.com/e#65127.6 |
For integrating it inside the program I just need to replace |
ehehehehe http://glslsandbox.com/e#65239.0 |
A short video shot at 800x450,60fps showing my shader in action... |
Ported my shader to GLava in about 10 min... |
Guess I closed this issue by accident, sorry. |
I'm adding the "help wanted", since the current shader is quite unoptimized (a whole third of an Intel HD5500 used when being run). If anyone could come up with a:
solution, I would gladly accept it. |
dynamically loading code sounds fun Obviously need to clean this up and make the functionality flawless before even thinking about merging it to master. |
by the way, I think leaving XAVA logic purely to the cpu is the best option, while I could for example make an output mode which processes shaders on top of what the dynamic function did If this turns out to be the best solution, redoing this as a lib would be the solution, since it doesnt interfere with what I've already done, increasing stability. |
I guess implementing geometry shaders would be better, as doing this logic in fragments is just silly. Anyway future me, start off here: https://www.youtube.com/watch?v=r2hue52wLF4 |
oops |
This will prevent issues like #14 (comment) creeping up. Related issues: #14, #41, #39
fixed the issue |
kinetic still doesn't work |
This means that I'll be able to ship multiple shaderpacks relatively effortlessly at the cost of some UX on the users side, because the errors would be more confusing. Sorry. Related #14
the issue was simple... only files labeled with "default" were treated as XAVA configs. The others were custom and therefore featured a different error message. Instead of checking which default files were installed, I just made it so that it treats custom shaderpacks as default ones. |
Anyway on your side, you'll just have to clear the shaders folder and run XAVA again. |
It works, kinetic darkens the viewport when there is a high velocity of bars right? |
yes |
Nice |
Actually I like the opposite effect more. Sending in a new version |
also PS: OpenGL ES is dead also |
i should've just used modern ogl from the beginning, it's so MUCH better and I wouldn't be rewriting this once again |
ouch |
yet i wrote it once again turns out cutting out a single stage made things significantly worse to work with |
is it possible to see the highest level peaks?? |
Not ATM. I was thinking about adding lua support since geometry shaders are not flexible enough. Currently debating whether I should do lua or add C "modules". Lua is easy, compatible, less prone to errors C is native, faster and fundamentally more flexible Performance is no biggie since it's basically doing basic math each frame... That's where I'm at ATM. The current shader system sucks even if it has all this effort put into it. |
Also with Lua scripts or "C modules" I could lower the OGL requirements once again. |
Personally, C modules sound better to me, but since this is your project, you can do as you wish! |
A lot to go through, but in a nutshell. OpenGL renderers are now independent from their captive window libarary-based outputs. They are platform agnostic since all they use is the cross-platform OpenGL stuff. Pre shaders are gone since mixing those always causes unforseen consequences, instead they are managed by the "gl_module" that is responsible about how the visualizer will be shaped. For now only "bars" is introduced as a stable interface for other gl_modules to be built off of. Since GL modules are independent by their own design that means that they carry a ton of code all by themselves, so future plans would be that I introduce some feature testing functionality within xava-shared and use that to test whether the remaining post shaders are compatible with the gl_module that you're running. Overdesigned? I'd say so. Also for the same purposes I'll try to split the "bars" default module into seperate functions that can be reused by other modules so they don't have to carry as much code as "bars" does now. The idea is that they are imported as macros/functions within your OpenGL codebase That will allow me to easily test for supported features within the shader loader so that it will properly alert the user instead throwing a compiler error at them. Over-engineered as well, because software sucks. Signing out, nik
i think they're good enough now... |
Update, gl modules exist and are cairo-like. Now to just implement them ;) |
Basically like the shadow effect but with colors and gradients...
The text was updated successfully, but these errors were encountered: