Ah, sorry, I had missed that you wanted to use fixed function and not
require more than one texture. I can tell you that you cannot get all
of the arbitrary blend modes using just glBlendFunc and
glBlendEquation. GLSL is infinitely more flexible.
I would highly suggest doing a render to texture so you can post
process your scene or mix with multi-textures. You can also do fun
things like full scene blur, etc. Its how almost all modern games and
graphics systems work these days, using render to texture and post
processing pipelines and lets you do lots of things 'on top' of your
fixed function rendering if you decide you want to add something else
to your scene.
As for difference, Im pretty sure you *can* do that blend mode, but I
have not done it myself, sorry I cant be more helpful.
On Dec 26, 2009, at 5:18 AM, Matteo Sisti Sette wrote:
vade escribió:
You can do arbitrary blend modes in PD with GLSL as you suspect.
take a look at http://001.vade.info/?page_id=20 which has shaders
for video mixers (a through a+b to b blending, not just a+b) with
most photoshop blend modes.Hi,
I just had a very quick look, but it seems to me that your mixers
use 2 textures, very much like the "multi texture" example I
mentioned.To use them, you need two textures and you obtain the blended picture.
I was looking for a way to replace the blend function, the very same
function whose parameters you can modify using glBlendFunc and
glBlendEquation.In order to use a two-texture mixer for my purpose (which is to
change how the object blends with the background), I would need to
repatch everything so that I snap the scene into a texture before
blending. In my case it would be quite a radical repatching.However, after a little bit of googling, it seems that what I would
like to do is simply impossible, isn't it? If I understand
correctly, with glsl one can "only" modify the vertex and fragment
transformations, while the blending phase cannot be modified. Is it
correct?If so, is there a way I could do "difference" blending, that is the
absolute value of the difference between source and destination
colors? I have already done additive and multiplicative blending
with glBlendFunc alone, and I should be able to do subtractive with
glBlendEquation... can anybody suggest a way to get the absolute
value?Thanks m.
-- Matteo Sisti Sette matteosistisette@gmail.com http://www.matteosistisette.com