HISE Logo Forum
    • Categories
    • Register
    • Login

    I'll just leave this here...

    Scheduled Pinned Locked Moved General Questions
    106 Posts 16 Posters 9.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Dan KorneffD
      Dan Korneff
      last edited by

      sick!! Gonna use this to add some Easter Eggs to my plugins

      Dan Korneff - Producer / Mixer / Audio Nerd

      1 Reply Last reply Reply Quote 1
      • Christoph HartC
        Christoph Hart @A Former User
        last edited by

        @UrsBollhalder It's all laid out in the docs:

        1. Load a shader file.
        2. 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).

        ? 2 Replies Last reply Reply Quote 0
        • d.healeyD
          d.healey
          last edited by

          @Christoph-Hart Should we be migrating to the codegen_rewrite branch now or sticking with scriptnode?

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          1 Reply Last reply Reply Quote 1
          • Christoph HartC
            Christoph Hart
            last edited by

            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...

            1 Reply Last reply Reply Quote 3
            • ?
              A Former User @Christoph Hart
              last edited by

              @Christoph-Hart That makes sense. I’ll give it a go tonight...

              1 Reply Last reply Reply Quote 0
              • ?
                A Former User @Christoph Hart
                last edited by

                @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()]);
                    
                });
                
                
                
                1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart
                  last edited by

                  Are there any compile errors in the console? What's the shader code?

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @Christoph Hart
                    last edited by A Former User

                    @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);
                    }
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart
                      last edited by

                      Are you on Windows or mac?

                      This shader stuff is beyond awesome. Check out this 3D keyboard prototype:

                      3dkeyboard.gif

                      ? 1 Reply Last reply Reply Quote 10
                      • ?
                        A Former User @Christoph Hart
                        last edited by

                        @Christoph-Hart Ok. This is killing me!!! Why doesn't it work on my system! You have to drop me a bone I can gnaw on a bit at least... Do you have any idea why it isn't working? Beacuse this looks just crazy awesome!! And on a scale of 1 to 10, how unwise is it to start working on the codegen rewrite branch if I plan to release a plugin by the end of the year?

                        1 Reply Last reply Reply Quote 1
                        • Christoph HartC
                          Christoph Hart
                          last edited by

                          I haven‘t tested it on macOS yet, so maybe something‘s off there. I‘ll take a look later this day.

                          And yes you can definitely use the latest branch for a project that will be published in a few months - this branch is likely to be the master branch by then. Its just risky to switch an existing project to the newest branch (especially if you‘re using the old scriptnode stuff).

                          ? 1 Reply Last reply Reply Quote 2
                          • ?
                            A Former User @Christoph Hart
                            last edited by A Former User

                            @Christoph-Hart Hey Christoph. Awesome. Thank you! Well, no scriptnode so far. It’s on the to-do list. I was busy working on a granular processor and an Euclidean Sequencer... so... I might just risk it...

                            1 Reply Last reply Reply Quote 1
                            • Christoph HartC
                              Christoph Hart
                              last edited by

                              Please check again, I noticed that Intel HD graphic cards do not support the #line directive, so I deactivated this.

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @Christoph Hart
                                last edited by

                                @Christoph-Hart No luck so far... 🙁 I was already getting excited!

                                1 Reply Last reply Reply Quote 0
                                • Christoph HartC
                                  Christoph Hart
                                  last edited by Christoph Hart

                                  I added a getOpenGLStatistics method to the shader class - it needs to render the shader once before it returns something useful though, so you need to add it after the applyShader function in the paint routine (and the script panel needs to be visible on the screen):

                                  g.applyShader(shader, [0, 0, this.getWidth(), this.getHeight()]);
                                  Console.print(shader.getOpenGLStatistics()));
                                  

                                  Can you post the output, maybe this will give a glue.

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @Christoph Hart
                                    last edited by

                                    @Christoph-Hart said in I'll just leave this here...:

                                    I added a getOpenGLStatistics method to the shader class - it needs to render the shader once before it returns something useful though, so you need to add it after the applyShader function in the paint routine (and the script panel needs to be visible on the screen):

                                    g.applyShader(shader, [0, 0, this.getWidth(), this.getHeight()]);
                                    Console.print(shader.getOpenGLStatistics()));
                                    

                                    Can you post the output, maybe this will give a glue.

                                    I put the getOpenGLStatistics after the applyShader line as instructed.

                                    Now. The output seems to be a bit inconsistent... I get this normally:

                                    Screenshot 2021-06-05 at 14.45.02.png

                                    then occasionally, after hitting compile a few more times, I do get the following:

                                    Screenshot 2021-06-05 at 14.45.32.png

                                    Christoph HartC 1 Reply Last reply Reply Quote 0
                                    • lalalandsynthL
                                      lalalandsynth
                                      last edited by

                                      hmm, can anyone explain what this is ? How can I make graphics using this ? 🐖

                                      https://lalalandaudio.com/

                                      https://lalalandsynth.com/

                                      https://www.facebook.com/lalalandsynth

                                      https://www.facebook.com/lalalandsynth

                                      ? 1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User @lalalandsynth
                                        last edited by

                                        @lalalandsynth Have a look at the Art of Code YouTube channel... link in docs! It’s not yet working on my system but that channel shows off some impressive stuff you can make with shader code!

                                        1 Reply Last reply Reply Quote 0
                                        • Christoph HartC
                                          Christoph Hart @A Former User
                                          last edited by

                                          Ah that gl_fc stuff is helpful - I had it myself on macOS. I‘ll push a fix in a few hours...

                                          ? 2 Replies Last reply Reply Quote 0
                                          • ?
                                            A Former User @Christoph Hart
                                            last edited by

                                            @Christoph-Hart 🥳🥳🥳

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            18

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts