I'll just leave this here...
-
-
@ospfeigrp This thing almost brought my MacPro to a standstill... Good lord!
-
@UrsBollhalder same for me on win 10 it's still really cool, HISE can play doom. Edit: without textures
-
STRANGE!!! My Whole Chrome browsers Freezes Once i Try To Go To The Shadetroy Website :???
-
@Natan Chrome exploded immediately... Opening it on Firefox worked... after 5 min...
-
@Natan I think it's because in browser is limited to webGL, not sure if this is the case in hise tho. if you enable opengl flag it should use that instead for rendering, so better performance.
-
Well this is working:
-
@Christoph-Hart had a look at the docs seems textures input are not supported, can they be encoded anyway like base64 string? this is epic either way big thanks for adding this.
-
Okey, Tried With My iPhone, And Website Works Just Fine.
So are Those Animations Made With SVG? Vector?
-
@ospfeigrp said in I'll just leave this here...:
@Christoph-Hart had a look at the docs seems textures input are not supported, can they be encoded anyway like base64 string? this is epic either way big thanks for adding this.
No the problem is (as far as I understand) that the way this shader is implemented in JUCE it can't load assets like textures and adding texture support would require a complete reimplementation.
There's a bit discussion about this in the JUCE forum:
https://forum.juce.com/search?q=OpenGLGraphicsContextCustomShader
So are Those Animations Made With SVG? Vector?
No, they are procedurally generated graphics that run natively on the GPU and you can change multiple input parameters that will modify the appearance (so you can do more stuff than just selecting the filmstrip in an animation).
-
Looks cool.
But is this feature necessary, when there are really serious bugs that need to be fixed immediately in Hise? I think No :)
Bug fixes first please...
-
@Christoph-Hart crazy awesome. So thatโd let you also influence those graphics interactively, right? Not just the one-way street of filmstrips or lottie for that matter. Although I hit like 350 something orange flags in XCode, I was able to compile the branch and started checking the YouTube account you mentioned in the docs. Iโm still unsure though how you made your example work. Would you post a snippet like this?
-
sick!! Gonna use this to add some Easter Eggs to my plugins
-
@UrsBollhalder It's all laid out in the docs:
- Load a shader file.
- Render it in the paint routine of a scriptpanel.
A example snippet is not very helpful because it requires the shader file to be in the script repo. I have added the ability of using base64 encoded strings, but it's not the most transparent way to learn how to use shaders in HISE.
Make sure to enable OpenGL in HISE (it's not the plugin OpenGL flag but a new one inside the Development settings).
-
@Christoph-Hart Should we be migrating to the codegen_rewrite branch now or sticking with scriptnode?
-
Yes it's now at a point where people can test drive the new stuff - but I wouldn't use it in a real project at the moment.
BTW the editor used for the GLSL code will be the new default code editor (I'm holding off with replacing the old code editor for HiseScript until all kinks are sorted out), so any feedback about quirks when editing GLSL code are welcome - there are still many small bugs, it's rather difficult to create a code editor almost from scratch...
-
@Christoph-Hart That makes sense. Iโll give it a go tonight...
-
@Christoph-Hart So... I am obviously missing something...
The shader.glsl script sits in the right column under my onControl Callback and in the script folder... OpenGL is enabled in the Settings, flag set for plugin (if needed)...Content.makeFrontInterface(600, 500); const var pnlShader = Content.getComponent("pnlShader"); const var shader = Content.createShader("shader"); //shader.setBlendFunc(true, shader.GL_ONE, shader.GL_ONE); pnlShader.setPaintRoutine(function(g) { g.applyShader("shader", [0, 0, this.getWidth(), this.getHeight()]); });
-
Are there any compile errors in the console? What's the shader code?
-
@Christoph-Hart It compiles without errors and the shader code is the example code in the docs:
void main() // must be named `main()` without parameters { // Normalized pixel coordinates (from 0 to 1) vec2 uv = fragCoord/iResolution.xy; // Time varying pixel color vec3 col = 0.5 + 0.5*cos(iTime+uv.xyx+vec3(0,2,4)); // Output to screen fragColor = pixelAlpha * vec4(col,1.0); }