This does not use any outside libraries and for convenience sake I have used the shader code inside the setup part of the openframeworks program instead of separate files. The passing of variables should be quite clear, and how they are used within each of the shaders.
This may help you understand some of the techniques used to create this kind of code. I also come from the visual arts background, and most of my code starts as an experimental hack. The link I provided was mostly a note of how I did something so I can use it later.
Hello there. This is from what I remember, I haven’t programmed in a while.
So, if you try and port some big shader with modern functionality into the old one you might not be able to or you will get different results or no results. Getting an old GLSL shader to work on modern system may tell you that a function was deprecated or it would just ignore you.
Now it you are talking about openFrameworks use of GLSL you might bump into the floating point and integer texture problem when sending them as well as the POT texture problem (Power-Of-Two). Remember, you are porting WebGL to a system that can handle more modern openGL.
I wish I had seen those when I was looking, especially as I was looking for methods that were video-driven and and time-driven for cycling visuals.
I’m not sure if anyone of us has helped answer the question of the original poster, except to leave a bunch of ‘try this, learn from what doesn’t work’ breadcrumbs. (what I call my “code-test-curse-repeat” cycle)
An easy to understand method for demonstrating how to understand technique for understanding and programming from one to another is still probably needed.
I will definitely check out your generous code sharing for this… it’s nice to see them all in one place.
If there was a method that I don’t remember having being taught specifically by openF examples and docs it’s ping pong buffer but there are many examples of this now. My kaleidoscope one has it built in. Patricio Gonzales has a few other examples with it too, is is an extremely common and powerful concept. Check the Kaleidoscope in my GitHub, the forum isn’t letting me post the link (who flags free source code as spam?).
Hint, you usually need a ping pong buffer and multiple passes of it to do blurring in almost anything.
Can’t really help much when there are no examples, but guessing what the original post wanted, if the waves move around a video it might need ping pong buffer, but I can only guess.